From b7efd6384cd39298f0ba62b395d4290c234e16ef Mon Sep 17 00:00:00 2001 From: ericdecanini Date: Tue, 6 Sep 2022 16:07:12 +0200 Subject: [PATCH] Changes vector feature preference key and function name for clarity --- .../java/im/vector/app/ui/robot/ElementRobot.kt | 2 +- .../debug/features/DebugFeaturesStateFactory.kt | 2 +- .../features/debug/features/DebugVectorFeatures.kt | 4 ++-- .../java/im/vector/app/features/VectorFeatures.kt | 11 +++++++++-- .../vector/app/features/home/HomeActivityViewModel.kt | 2 +- .../vector/app/features/settings/VectorPreferences.kt | 4 ++-- .../features/settings/VectorSettingsLabsFragment.kt | 4 ++-- .../settings/VectorSettingsPreferencesFragment.kt | 2 +- vector/src/main/res/xml/vector_settings_labs.xml | 2 +- 9 files changed, 20 insertions(+), 13 deletions(-) diff --git a/vector-app/src/androidTest/java/im/vector/app/ui/robot/ElementRobot.kt b/vector-app/src/androidTest/java/im/vector/app/ui/robot/ElementRobot.kt index 528589d616..2e87a85e59 100644 --- a/vector-app/src/androidTest/java/im/vector/app/ui/robot/ElementRobot.kt +++ b/vector-app/src/androidTest/java/im/vector/app/ui/robot/ElementRobot.kt @@ -152,7 +152,7 @@ class ElementRobot { } fun signout(expectSignOutWarning: Boolean) { - if (features.isNewAppLayoutEnabled()) { + if (features.isNewAppLayoutFeatureEnabled()) { onView(withId((R.id.avatar))) .perform(click()) waitUntilActivityVisible { diff --git a/vector/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt b/vector/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt index c127e3aed6..9b2711a8c3 100644 --- a/vector/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt +++ b/vector/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt @@ -88,7 +88,7 @@ class DebugFeaturesStateFactory @Inject constructor( createBooleanFeature( label = "Enable New App Layout", key = DebugFeatureKeys.newAppLayoutEnabled, - factory = VectorFeatures::isNewAppLayoutEnabled + factory = VectorFeatures::isNewAppLayoutFeatureEnabled ), createBooleanFeature( label = "Enable New Device Management", diff --git a/vector/src/debug/java/im/vector/app/features/debug/features/DebugVectorFeatures.kt b/vector/src/debug/java/im/vector/app/features/debug/features/DebugVectorFeatures.kt index 003b9b8084..bb4cae3201 100644 --- a/vector/src/debug/java/im/vector/app/features/debug/features/DebugVectorFeatures.kt +++ b/vector/src/debug/java/im/vector/app/features/debug/features/DebugVectorFeatures.kt @@ -76,8 +76,8 @@ class DebugVectorFeatures( override fun shouldStartDmOnFirstMessage(): Boolean = read(DebugFeatureKeys.startDmOnFirstMsg) ?: vectorFeatures.shouldStartDmOnFirstMessage() - override fun isNewAppLayoutEnabled(): Boolean = read(DebugFeatureKeys.newAppLayoutEnabled) - ?: vectorFeatures.isNewAppLayoutEnabled() + override fun isNewAppLayoutFeatureEnabled(): Boolean = read(DebugFeatureKeys.newAppLayoutEnabled) + ?: vectorFeatures.isNewAppLayoutFeatureEnabled() override fun isNewDeviceManagementEnabled(): Boolean = read(DebugFeatureKeys.newDeviceManagementEnabled) ?: vectorFeatures.isNewDeviceManagementEnabled() diff --git a/vector/src/main/java/im/vector/app/features/VectorFeatures.kt b/vector/src/main/java/im/vector/app/features/VectorFeatures.kt index 951cca6735..e021d608cb 100644 --- a/vector/src/main/java/im/vector/app/features/VectorFeatures.kt +++ b/vector/src/main/java/im/vector/app/features/VectorFeatures.kt @@ -18,6 +18,7 @@ package im.vector.app.features import im.vector.app.config.Config import im.vector.app.config.OnboardingVariant +import im.vector.app.features.settings.VectorPreferences interface VectorFeatures { @@ -33,7 +34,13 @@ interface VectorFeatures { fun isLocationSharingEnabled(): Boolean fun forceUsageOfOpusEncoder(): Boolean fun shouldStartDmOnFirstMessage(): Boolean - fun isNewAppLayoutEnabled(): Boolean + + /** + * This is only to enable if the labs flag should be visible and effective + * If on the client-side you want functionality that should be enabled with the new layout, + * use [VectorPreferences.isNewAppLayoutEnabled] instead + */ + fun isNewAppLayoutFeatureEnabled(): Boolean fun isNewDeviceManagementEnabled(): Boolean } @@ -50,6 +57,6 @@ class DefaultVectorFeatures : VectorFeatures { override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING override fun forceUsageOfOpusEncoder(): Boolean = false override fun shouldStartDmOnFirstMessage(): Boolean = false - override fun isNewAppLayoutEnabled(): Boolean = true + override fun isNewAppLayoutFeatureEnabled(): Boolean = true override fun isNewDeviceManagementEnabled(): Boolean = false } diff --git a/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt b/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt index dd54285fb5..156c1fca2f 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt @@ -120,7 +120,7 @@ class HomeActivityViewModel @AssistedInject constructor( private fun observeReleaseNotes() = withState { state -> // we don't want to show release notes for new users or after relogin - if (state.authenticationDescription == null && vectorFeatures.isNewAppLayoutEnabled()) { + if (state.authenticationDescription == null && vectorFeatures.isNewAppLayoutFeatureEnabled()) { releaseNotesPreferencesStore.appLayoutOnboardingShown.onEach { isAppLayoutOnboardingShown -> if (!isAppLayoutOnboardingShown) { releaseNotesPreferencesStore.setAppLayoutOnboardingShown(true) 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 529a6d9b14..fca931eaef 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 @@ -65,7 +65,7 @@ class VectorPreferences @Inject constructor( const val SETTINGS_BACKGROUND_SYNC_PREFERENCE_KEY = "SETTINGS_BACKGROUND_SYNC_PREFERENCE_KEY" const val SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY = "SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY" const val SETTINGS_LABS_PREFERENCE_KEY = "SETTINGS_LABS_PREFERENCE_KEY" - const val SETTINGS_LABS_NEW_APP_LAYOUT_KEY = "SETTINGS_LABS_ENABLE_NEW_LAYOUT" + const val SETTINGS_LABS_NEW_APP_LAYOUT_KEY = "SETTINGS_LABS_NEW_APP_LAYOUT_KEY" const val SETTINGS_CRYPTOGRAPHY_PREFERENCE_KEY = "SETTINGS_CRYPTOGRAPHY_PREFERENCE_KEY" const val SETTINGS_CRYPTOGRAPHY_DIVIDER_PREFERENCE_KEY = "SETTINGS_CRYPTOGRAPHY_DIVIDER_PREFERENCE_KEY" const val SETTINGS_CRYPTOGRAPHY_MANAGE_PREFERENCE_KEY = "SETTINGS_CRYPTOGRAPHY_MANAGE_PREFERENCE_KEY" @@ -1158,7 +1158,7 @@ class VectorPreferences @Inject constructor( * Indicates whether or not new app layout is enabled. */ fun isNewAppLayoutEnabled(): Boolean { - return vectorFeatures.isNewAppLayoutEnabled() && + return vectorFeatures.isNewAppLayoutFeatureEnabled() && defaultPrefs.getBoolean(SETTINGS_LABS_NEW_APP_LAYOUT_KEY, getDefault(R.bool.settings_labs_new_app_layout_default)) } diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt index 7e414fc4ec..56f884d15c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt @@ -76,11 +76,11 @@ class VectorSettingsLabsFragment : } findPreference(VectorPreferences.SETTINGS_LABS_NEW_APP_LAYOUT_KEY)?.let { pref -> - pref.isVisible = vectorFeatures.isNewAppLayoutEnabled() + pref.isVisible = vectorFeatures.isNewAppLayoutFeatureEnabled() } findPreference(VectorPreferences.SETTINGS_LABS_UNREAD_NOTIFICATIONS_AS_TAB)?.let { pref -> - pref.isVisible = !vectorFeatures.isNewAppLayoutEnabled() + pref.isVisible = !vectorFeatures.isNewAppLayoutFeatureEnabled() } } diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt index 135c25cd8d..d692580931 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt @@ -102,7 +102,7 @@ class VectorSettingsPreferencesFragment : } findPreference(VectorPreferences.SETTINGS_PREF_SPACE_CATEGORY)!!.let { pref -> - pref.isVisible = !vectorFeatures.isNewAppLayoutEnabled() + pref.isVisible = !vectorFeatures.isNewAppLayoutFeatureEnabled() } // Url preview diff --git a/vector/src/main/res/xml/vector_settings_labs.xml b/vector/src/main/res/xml/vector_settings_labs.xml index e06613f85b..f61d5fe7bc 100644 --- a/vector/src/main/res/xml/vector_settings_labs.xml +++ b/vector/src/main/res/xml/vector_settings_labs.xml @@ -85,7 +85,7 @@