From bdc370474e1e9478b4c611fcb9ee4ad23425ff17 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Fri, 8 Jul 2022 10:38:52 +0100 Subject: [PATCH 1/2] migrating the previous orphaned rooms settings in order to fix the inconsistent value - only uses the previous value if the key exists, otherwise we end up defaulting to true instead of false (which the preferences screen expects) - manually deletes the key after migrating the value --- changelog.d/6510.bugfix | 1 + .../features/settings/VectorPreferences.kt | 30 +++++++++++++------ 2 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 changelog.d/6510.bugfix diff --git a/changelog.d/6510.bugfix b/changelog.d/6510.bugfix new file mode 100644 index 0000000000..bd21b5c498 --- /dev/null +++ b/changelog.d/6510.bugfix @@ -0,0 +1 @@ +Fixes inconsistency with rooms within spaces showing or disappearing from home 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 ea039f0ed8..2215bb8a4f 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 @@ -1020,20 +1020,32 @@ class VectorPreferences @Inject constructor( } } - private fun labsSpacesOnlyOrphansInHome(): Boolean { - return defaultPrefs.getBoolean(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN, false) - } - fun labsAutoReportUISI(): Boolean { return defaultPrefs.getBoolean(SETTINGS_LABS_AUTO_REPORT_UISI, false) } fun prefSpacesShowAllRoomInHome(): Boolean { - return defaultPrefs.getBoolean( - SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME, - // migration of old property - !labsSpacesOnlyOrphansInHome() - ) + val defaultValue = false + return when { + defaultPrefs.contains(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME) -> { + defaultPrefs.getBoolean(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME, defaultValue) + } + defaultPrefs.contains(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN) -> migrateOrphansInSpacesToShowAllInHome() + else -> defaultValue + } + } + + private fun migrateOrphansInSpacesToShowAllInHome(): Boolean { + val showAllRoomsInHome = !labsSpacesOnlyOrphansInHome() + defaultPrefs.edit { + putBoolean(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME, showAllRoomsInHome) + remove(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN) + } + return showAllRoomsInHome + } + + private fun labsSpacesOnlyOrphansInHome(): Boolean { + return defaultPrefs.getBoolean(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN, false) } /* From 6266b2019b01c725299a5d0c6cd02b5249a686ad Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Tue, 12 Jul 2022 09:57:48 +0100 Subject: [PATCH 2/2] removing legacy migration flag from 12 months ago --- .../features/settings/VectorPreferences.kt | 23 +------------------ 1 file changed, 1 insertion(+), 22 deletions(-) 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 2215bb8a4f..7bee66d722 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 @@ -158,7 +158,6 @@ class VectorPreferences @Inject constructor( private const val SETTINGS_ENABLE_SEND_VOICE_FEATURE_PREFERENCE_KEY = "SETTINGS_ENABLE_SEND_VOICE_FEATURE_PREFERENCE_KEY" const val SETTINGS_LABS_ALLOW_EXTENDED_LOGS = "SETTINGS_LABS_ALLOW_EXTENDED_LOGS" - const val SETTINGS_LABS_SPACES_HOME_AS_ORPHAN = "SETTINGS_LABS_SPACES_HOME_AS_ORPHAN" const val SETTINGS_LABS_AUTO_REPORT_UISI = "SETTINGS_LABS_AUTO_REPORT_UISI" const val SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME = "SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME" @@ -1025,27 +1024,7 @@ class VectorPreferences @Inject constructor( } fun prefSpacesShowAllRoomInHome(): Boolean { - val defaultValue = false - return when { - defaultPrefs.contains(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME) -> { - defaultPrefs.getBoolean(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME, defaultValue) - } - defaultPrefs.contains(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN) -> migrateOrphansInSpacesToShowAllInHome() - else -> defaultValue - } - } - - private fun migrateOrphansInSpacesToShowAllInHome(): Boolean { - val showAllRoomsInHome = !labsSpacesOnlyOrphansInHome() - defaultPrefs.edit { - putBoolean(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME, showAllRoomsInHome) - remove(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN) - } - return showAllRoomsInHome - } - - private fun labsSpacesOnlyOrphansInHome(): Boolean { - return defaultPrefs.getBoolean(SETTINGS_LABS_SPACES_HOME_AS_ORPHAN, false) + return defaultPrefs.getBoolean(SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME, false) } /*