From 5a96438ceb0f72c21c3205488f611c33b6bbfbb0 Mon Sep 17 00:00:00 2001 From: Krille Date: Sat, 29 Mar 2025 16:04:24 +0100 Subject: [PATCH] refactor: Migrate more config options to config viewer Signed-off-by: Krille --- lib/config/setting_keys.dart | 14 +++++++++----- lib/pages/chat/chat.dart | 11 +++++------ lib/pages/settings_security/settings_security.dart | 8 ++++---- lib/utils/client_manager.dart | 3 ++- .../flutter_matrix_dart_sdk_database/cipher.dart | 4 ++-- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/lib/config/setting_keys.dart b/lib/config/setting_keys.dart index 05ccef14e..14d259470 100644 --- a/lib/config/setting_keys.dart +++ b/lib/config/setting_keys.dart @@ -32,11 +32,6 @@ abstract class SettingKeys { 'chat.fluffy.swipeRightToLeftToReply'; static const String experimentalVoip = 'chat.fluffy.experimental_voip'; static const String showPresences = 'chat.fluffy.show_presences'; - static const String displayChatDetailsColumn = - 'chat.fluffy.display_chat_details_column'; - static const String noEncryptionWarningShown = - 'chat.fluffy.no_encryption_warning_shown'; - static const String shareKeysWith = 'chat.fluffy.share_keys_with_2'; } enum AppSettings { @@ -53,6 +48,15 @@ enum AppSettings { pushNotificationsPusherFormat( 'pushNotificationsPusherFormat', 'event_id_only', + ), + shareKeysWith('chat.fluffy.share_keys_with_2', 'all'), + noEncryptionWarningShown( + 'chat.fluffy.no_encryption_warning_shown', + false, + ), + displayChatDetailsColumn( + 'chat.fluffy.display_chat_details_column', + false, ); final String key; diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index c39977677..94c1ed431 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -302,8 +302,7 @@ class ChatController extends State WidgetsBinding.instance.addPostFrameCallback(_shareItems); super.initState(); _displayChatDetailsColumn = ValueNotifier( - Matrix.of(context).store.getBool(SettingKeys.displayChatDetailsColumn) ?? - false, + AppSettings.displayChatDetailsColumn.getItem(Matrix.of(context).store), ); sendingClient = Matrix.of(context).client; @@ -1297,10 +1296,10 @@ class ChatController extends State late final ValueNotifier _displayChatDetailsColumn; void toggleDisplayChatDetailsColumn() async { - await Matrix.of(context).store.setBool( - SettingKeys.displayChatDetailsColumn, - !_displayChatDetailsColumn.value, - ); + await AppSettings.displayChatDetailsColumn.setItem( + Matrix.of(context).store, + !_displayChatDetailsColumn.value, + ); _displayChatDetailsColumn.value = !_displayChatDetailsColumn.value; } diff --git a/lib/pages/settings_security/settings_security.dart b/lib/pages/settings_security/settings_security.dart index 98b69981a..944abae9b 100644 --- a/lib/pages/settings_security/settings_security.dart +++ b/lib/pages/settings_security/settings_security.dart @@ -111,10 +111,10 @@ class SettingsSecurityController extends State { void changeShareKeysWith(ShareKeysWith? shareKeysWith) async { if (shareKeysWith == null) return; - Matrix.of(context).store.setString( - SettingKeys.shareKeysWith, - shareKeysWith.name, - ); + AppSettings.shareKeysWith.setItem( + Matrix.of(context).store, + shareKeysWith.name, + ); Matrix.of(context).client.shareKeysWith = shareKeysWith; setState(() {}); } diff --git a/lib/utils/client_manager.dart b/lib/utils/client_manager.dart index 5170dfee7..34016065a 100644 --- a/lib/utils/client_manager.dart +++ b/lib/utils/client_manager.dart @@ -24,6 +24,7 @@ import 'matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart'; abstract class ClientManager { static const String clientNamespace = 'im.fluffychat.store.clients'; + static Future> getClients({ bool initialize = true, required SharedPreferences store, @@ -101,7 +102,7 @@ abstract class ClientManager { : NativeImplementationsIsolate(compute); static Client createClient(String clientName, SharedPreferences store) { - final shareKeysWith = store.getString(SettingKeys.shareKeysWith) ?? 'all'; + final shareKeysWith = AppSettings.shareKeysWith.getItem(store); return Client( clientName, diff --git a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart index 021cd4636..ae463532e 100644 --- a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart +++ b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/cipher.dart @@ -53,7 +53,7 @@ Future getDatabaseCipher() async { void _sendNoEncryptionWarning(Object exception) async { final store = await SharedPreferences.getInstance(); - final isStored = store.getBool(SettingKeys.noEncryptionWarningShown); + final isStored = AppSettings.noEncryptionWarningShown.getItem(store); if (isStored == true) return; @@ -63,5 +63,5 @@ void _sendNoEncryptionWarning(Object exception) async { exception.toString(), ); - await store.setBool(SettingKeys.noEncryptionWarningShown, true); + await AppSettings.noEncryptionWarningShown.setItem(store, true); }