From 12c24def69eebd9423ab19642161f23eb3aa3054 Mon Sep 17 00:00:00 2001 From: Gil Eluard Date: Fri, 23 Apr 2021 22:26:54 +0200 Subject: [PATCH 1/2] clear cache support for RiotSettings --- CHANGES.rst | 2 +- Riot/Managers/Settings/RiotSettings.swift | 30 -------------------- Riot/Modules/Application/LegacyAppDelegate.m | 4 --- Riot/Modules/TabBar/MasterTabBarController.m | 15 +++++----- 4 files changed, 8 insertions(+), 43 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 87be3bf7f..8e928f641 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,7 +8,7 @@ Changes to be released in next version * 🐛 Bugfix - * + * RiotSettings: clear cache resets RiotSettings (#4259). ⚠️ API Changes * diff --git a/Riot/Managers/Settings/RiotSettings.swift b/Riot/Managers/Settings/RiotSettings.swift index cd39e7916..1886975aa 100644 --- a/Riot/Managers/Settings/RiotSettings.swift +++ b/Riot/Managers/Settings/RiotSettings.swift @@ -85,36 +85,6 @@ final class RiotSettings: NSObject { return userDefaults }() - // MARK: - Public - - func reset() { - defaults.removeObject(forKey: UserDefaultsKeys.settingsScreenShowChangePassword) - defaults.removeObject(forKey: UserDefaultsKeys.settingsScreenShowInviteFriends) - defaults.removeObject(forKey: UserDefaultsKeys.settingsScreenShowEnableStunServerFallback) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowSessions) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowSetupBackup) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowRestoreBackup) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowDeleteBackup) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowCryptographyInfo) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowCryptographyExport) - defaults.removeObject(forKey: UserDefaultsKeys.settingsSecurityScreenShowAdvancedUnverifiedDevices) - defaults.removeObject(forKey: UserDefaultsKeys.roomCreationScreenAllowEncryptionConfiguration) - defaults.removeObject(forKey: UserDefaultsKeys.roomCreationScreenRoomIsEncrypted) - defaults.removeObject(forKey: UserDefaultsKeys.roomCreationScreenAllowRoomTypeConfiguration) - defaults.removeObject(forKey: UserDefaultsKeys.roomCreationScreenRoomIsPublic) - defaults.removeObject(forKey: UserDefaultsKeys.allowInviteExernalUsers) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenShowLowPriorityOption) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenShowDirectChatOption) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenAllowChangingAccessSettings) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenAllowChangingHistorySettings) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenShowAddressSettings) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenShowFlairSettings) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenShowAdvancedSettings) - defaults.removeObject(forKey: UserDefaultsKeys.roomSettingsScreenAdvancedShowEncryptToVerifiedOption) - defaults.removeObject(forKey: UserDefaultsKeys.allowInviteExernalUsers) - defaults.removeObject(forKey: UserDefaultsKeys.roomsAllowToJoinPublicRooms) - } - // MARK: Servers var homeserverUrlString: String { diff --git a/Riot/Modules/Application/LegacyAppDelegate.m b/Riot/Modules/Application/LegacyAppDelegate.m index ef261c069..24c19db8d 100644 --- a/Riot/Modules/Application/LegacyAppDelegate.m +++ b/Riot/Modules/Application/LegacyAppDelegate.m @@ -2136,10 +2136,6 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni [self logoutSendingRequestServer:YES completion:^(BOOL isLoggedOut) { if (completion) { - if (isLoggedOut) - { - [RiotSettings.shared reset]; - } completion (YES); } }]; diff --git a/Riot/Modules/TabBar/MasterTabBarController.m b/Riot/Modules/TabBar/MasterTabBarController.m index dd7a3e9f2..81583532d 100644 --- a/Riot/Modules/TabBar/MasterTabBarController.m +++ b/Riot/Modules/TabBar/MasterTabBarController.m @@ -64,6 +64,9 @@ // The groups data source GroupsDataSource *groupsDataSource; + + // All tabs deinfed in the storyboard + NSArray *initalTabs; } @property(nonatomic,getter=isHidden) BOOL hidden; @@ -131,7 +134,7 @@ }]; [self userInterfaceThemeDidChange]; - [self updateTabs]; + initalTabs = [NSArray arrayWithArray:self.viewControllers]; } - (void)userInterfaceThemeDidChange @@ -161,6 +164,8 @@ // Show the tab bar view controller content only when a user is logged in. self.hidden = ([MXKAccountManager sharedManager].accounts.count == 0); + + [self updateTabs]; } - (void)viewDidAppear:(BOOL)animated @@ -884,13 +889,7 @@ - (void)updateTabs { - if (RiotSettings.shared.homeScreenShowCommunitiesTab && RiotSettings.shared.homeScreenShowRoomsTab - && RiotSettings.shared.homeScreenShowPeopleTab && RiotSettings.shared.homeScreenShowFavouritesTab) - { - return; - } - - NSMutableArray *newTabs = [NSMutableArray arrayWithArray:self.viewControllers]; + NSMutableArray *newTabs = [NSMutableArray arrayWithArray:initalTabs]; if (!RiotSettings.shared.homeScreenShowCommunitiesTab) { [newTabs removeObjectAtIndex:TABBAR_GROUPS_INDEX]; From fe2ec3a63127e48452188fcf11dae4c6d49ed694 Mon Sep 17 00:00:00 2001 From: Gil Eluard Date: Mon, 26 Apr 2021 14:14:39 +0200 Subject: [PATCH 2/2] Update CHANGES.rst Co-authored-by: manuroe --- CHANGES.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 8e928f641..53a53747f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,7 +8,7 @@ Changes to be released in next version * 🐛 Bugfix - * RiotSettings: clear cache resets RiotSettings (#4259). + * RiotSettings: Logging out resets RiotSettings (#4259). ⚠️ API Changes *