From 4a52a34df2a23a14f8831f04a412a3eddf1a2a12 Mon Sep 17 00:00:00 2001 From: Jarno Rankinen Date: Fri, 1 Sep 2023 23:08:17 +0300 Subject: [PATCH] Fix hide shields setting getting reset to true when opening Labs page --- .../app/features/debug/features/DebugFeaturesStateFactory.kt | 5 +++++ .../im/vector/app/features/settings/VectorPreferences.kt | 5 +++-- .../app/features/settings/labs/VectorSettingsLabsFragment.kt | 4 ---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vector-app/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt b/vector-app/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt index 16e26ff3b5..b0c780bc8b 100644 --- a/vector-app/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt +++ b/vector-app/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt @@ -85,6 +85,11 @@ class DebugFeaturesStateFactory @Inject constructor( key = DebugFeatureKeys.newAppLayoutEnabled, factory = VectorFeatures::isNewAppLayoutFeatureEnabled ), + createBooleanFeature( + label = "Disable Encryption Shields", + key = DebugFeatureKeys.shieldVisibilityDisabled, + factory = VectorFeatures::isShieldVisibilityDisabled + ), createBooleanFeature( label = "Enable QR Code Login", key = DebugFeatureKeys.qrCodeLoginEnabled, diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt index 5d4237615c..69aadf2483 100755 --- a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt @@ -306,6 +306,8 @@ class VectorPreferences @Inject constructor( SETTINGS_SECURITY_USE_FLAG_SECURE, SETTINGS_SECURITY_INCOGNITO_KEYBOARD_PREFERENCE_KEY, + SETTINGS_LABS_HIDE_SHIELDS_KEY, + ShortcutsHandler.SHARED_PREF_KEY, ) } @@ -1222,8 +1224,7 @@ class VectorPreferences @Inject constructor( * Indicates if the encryption shields in rooms next to messages are hidden */ fun isShieldVisibilityDisabled() : Boolean { - return vectorFeatures.isShieldVisibilityDisabled() && - defaultPrefs.getBoolean(SETTINGS_LABS_HIDE_SHIELDS_KEY, getDefault(R.bool.settings_labs_hide_shields_default)) + return defaultPrefs.getBoolean(SETTINGS_LABS_HIDE_SHIELDS_KEY, getDefault(R.bool.settings_labs_hide_shields_default)) } /** diff --git a/vector/src/main/java/im/vector/app/features/settings/labs/VectorSettingsLabsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/labs/VectorSettingsLabsFragment.kt index d159dff54b..73a2eb1b73 100644 --- a/vector/src/main/java/im/vector/app/features/settings/labs/VectorSettingsLabsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/labs/VectorSettingsLabsFragment.kt @@ -96,10 +96,6 @@ class VectorSettingsLabsFragment : } } - findPreference(VectorPreferences.SETTINGS_LABS_HIDE_SHIELDS_KEY)?.let { pref -> - pref.isChecked = vectorFeatures.isShieldVisibilityDisabled() - } - findPreference(VectorPreferences.SETTINGS_LABS_VOICE_BROADCAST_KEY)?.let { pref -> // Voice Broadcast recording is not available on Android < 10 pref.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && vectorFeatures.isVoiceBroadcastEnabled()