From 10e67bd5dfa522a8e85717747bfb643b3f7bb9c6 Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Thu, 5 Nov 2020 18:05:28 +0100 Subject: [PATCH] Remember expand status for all categories except invite We did remember low priority before. We might want to remember other categories as well, but let's better keep the invite category expanded by default. Change-Id: Ia351de35751ce5a13f3739ed5f7a3528e315261f --- .../home/room/list/RoomListViewState.kt | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewState.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewState.kt index 768efaf342..c1d4456c7f 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewState.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewState.kt @@ -48,6 +48,11 @@ data class RoomListViewState( companion object { const val ROOM_LIST_ROOM_EXPANDED_LOW_PRIORITY_PREFIX = "ROOM_LIST_ROOM_EXPANDED_LOW_PRIORITY_" + const val ROOM_LIST_ROOM_EXPANDED_NORMAL_PRIORITY_PREFIX = "ROOM_LIST_ROOM_EXPANDED_NORMAL_PRIORITY_" + const val ROOM_LIST_ROOM_EXPANDED_FAVORITE_PREFIX = "ROOM_LIST_ROOM_EXPANDED_FAVORITE_" + const val ROOM_LIST_ROOM_EXPANDED_DIRECT_PREFIX = "ROOM_LIST_ROOM_EXPANDED_DIRECT_" + const val ROOM_LIST_ROOM_EXPANDED_GROUP_PREFIX = "ROOM_LIST_ROOM_EXPANDED_GROUP_" + const val ROOM_LIST_ROOM_EXPANDED_SERVER_NOTICE_PREFIX = "ROOM_LIST_ROOM_EXPANDED_SERVER_NOTICE_" } constructor(args: RoomListParams) : this(displayMode = args.displayMode) @@ -55,23 +60,46 @@ data class RoomListViewState( private fun getSharedPreferences(context: Context): SharedPreferences { return PreferenceManager.getDefaultSharedPreferences(context) } - private fun getRoomListExpandedLowPriorityPref(displayMode: RoomListDisplayMode): String { - return ROOM_LIST_ROOM_EXPANDED_LOW_PRIORITY_PREFIX + displayMode.toString() + private fun getRoomListExpandedPref(prefix: String, displayMode: RoomListDisplayMode): String { + return prefix + displayMode.toString() } // SC addition fun initWithContext(context: Context, displayMode: RoomListDisplayMode): RoomListViewState { val sp = getSharedPreferences(context) - val pref = getRoomListExpandedLowPriorityPref(displayMode) + val prefLowPrio = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_LOW_PRIORITY_PREFIX, displayMode) + val prefNormalPrio = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_NORMAL_PRIORITY_PREFIX, displayMode) + val prefFavourite = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_FAVORITE_PREFIX, displayMode) + val prefDirect = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_DIRECT_PREFIX, displayMode) + val prefGroup = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_GROUP_PREFIX, displayMode) + val prefServerNotice = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_SERVER_NOTICE_PREFIX, displayMode) val scSdkPreferences = ScSdkPreferences(context) - return copy(isLowPriorityRoomsExpanded = sp.getBoolean(pref, isLowPriorityRoomsExpanded), scSdkPreferences = scSdkPreferences) + return copy(isLowPriorityRoomsExpanded = sp.getBoolean(prefLowPrio, isLowPriorityRoomsExpanded), + isCombinedRoomsExpanded = sp.getBoolean(prefNormalPrio, isCombinedRoomsExpanded), + isFavouriteRoomsExpanded = sp.getBoolean(prefFavourite, isFavouriteRoomsExpanded), + isDirectRoomsExpanded = sp.getBoolean(prefDirect, isDirectRoomsExpanded), + isGroupRoomsExpanded = sp.getBoolean(prefGroup, isGroupRoomsExpanded), + isServerNoticeRoomsExpanded = sp.getBoolean(prefServerNotice, isServerNoticeRoomsExpanded), + scSdkPreferences = scSdkPreferences) } // SC addition fun persistWithContext(context: Context, displayMode: RoomListDisplayMode) { val sp = getSharedPreferences(context) - val pref = getRoomListExpandedLowPriorityPref(displayMode) - sp.edit().putBoolean(pref, isLowPriorityRoomsExpanded).apply() + val prefLowPrio = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_LOW_PRIORITY_PREFIX, displayMode) + val prefNormalPrio = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_NORMAL_PRIORITY_PREFIX, displayMode) + val prefFavourite = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_FAVORITE_PREFIX, displayMode) + val prefDirect = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_DIRECT_PREFIX, displayMode) + val prefGroup = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_GROUP_PREFIX, displayMode) + val prefServerNotice = getRoomListExpandedPref(ROOM_LIST_ROOM_EXPANDED_SERVER_NOTICE_PREFIX, displayMode) + sp.edit() + .putBoolean(prefLowPrio, isLowPriorityRoomsExpanded) + .putBoolean(prefNormalPrio, isCombinedRoomsExpanded) + .putBoolean(prefFavourite, isFavouriteRoomsExpanded) + .putBoolean(prefDirect, isDirectRoomsExpanded) + .putBoolean(prefGroup, isGroupRoomsExpanded) + .putBoolean(prefServerNotice, isServerNoticeRoomsExpanded) + .apply() } fun isCategoryExpanded(roomCategory: RoomCategory): Boolean {