From 6935298f6f0cf50df80653b454a2f23ef777d125 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 15 Feb 2018 15:46:12 -0500 Subject: [PATCH 1/2] Improve handling of the not migrated case. --- Signal/src/AppDelegate.m | 4 ---- SignalMessaging/utils/OWSPreferences.h | 6 ------ SignalMessaging/utils/OWSPreferences.m | 20 ------------------- .../src/Storage/TSStorageManager.h | 2 ++ .../src/Storage/TSStorageManager.m | 7 +++++++ .../ShareViewController.swift | 9 +-------- 6 files changed, 10 insertions(+), 38 deletions(-) diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index f6ef22a7b..c836672bf 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -1000,8 +1000,6 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; DDLogInfo(@"%@ checkIfAppIsReady", self.logTag); - [OWSPreferences setIsRegistered:[TSAccountManager isRegistered]]; - // TODO: Once "app ready" logic is moved into AppSetup, move this line there. [[OWSProfileManager sharedManager] ensureLocalProfileCached]; @@ -1061,8 +1059,6 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; DDLogInfo(@"registrationStateDidChange"); - [OWSPreferences setIsRegistered:[TSAccountManager isRegistered]]; - if ([TSAccountManager isRegistered]) { DDLogInfo(@"localNumber: %@", [TSAccountManager localNumber]); diff --git a/SignalMessaging/utils/OWSPreferences.h b/SignalMessaging/utils/OWSPreferences.h index d16febc7e..4000ae1a9 100644 --- a/SignalMessaging/utils/OWSPreferences.h +++ b/SignalMessaging/utils/OWSPreferences.h @@ -30,12 +30,6 @@ extern NSString *const OWSPreferencesKeyEnableDebugLog; + (BOOL)isReadyForAppExtensions; + (void)setIsReadyForAppExtensions; -// TSAccountManager is the source of truth; this is less reliable -// and should only be used in edge cases where the database is not -// yet available. -+ (BOOL)isRegistered; -+ (void)setIsRegistered:(BOOL)value; - - (BOOL)getHasSentAMessage; - (void)setHasSentAMessage:(BOOL)enabled; diff --git a/SignalMessaging/utils/OWSPreferences.m b/SignalMessaging/utils/OWSPreferences.m index 69f4e6c26..ea084b5fb 100644 --- a/SignalMessaging/utils/OWSPreferences.m +++ b/SignalMessaging/utils/OWSPreferences.m @@ -26,7 +26,6 @@ NSString *const OWSPreferencesKeyCallsHideIPAddress = @"CallsHideIPAddress"; NSString *const OWSPreferencesKeyHasDeclinedNoContactsView = @"hasDeclinedNoContactsView"; NSString *const OWSPreferencesKeyIOSUpgradeNagDate = @"iOSUpgradeNagDate"; NSString *const OWSPreferencesKey_IsReadyForAppExtensions = @"isReadyForAppExtensions_5"; -NSString *const OWSPreferencesKey_IsRegistered = @"OWSPreferencesKey_IsRegistered"; @implementation OWSPreferences @@ -85,25 +84,6 @@ NSString *const OWSPreferencesKey_IsRegistered = @"OWSPreferencesKey_IsRegistere [NSUserDefaults.appUserDefaults synchronize]; } -+ (BOOL)isRegistered -{ - NSNumber *preference = [NSUserDefaults.appUserDefaults objectForKey:OWSPreferencesKey_IsRegistered]; - - if (preference) { - return [preference boolValue]; - } else { - return NO; - } -} - -+ (void)setIsRegistered:(BOOL)value -{ - OWSAssert(CurrentAppContext().isMainApp); - - [NSUserDefaults.appUserDefaults setObject:@(value) forKey:OWSPreferencesKey_IsRegistered]; - [NSUserDefaults.appUserDefaults synchronize]; -} - - (BOOL)screenSecurityIsEnabled { NSNumber *preference = [self tryGetValueForKey:OWSPreferencesKeyScreenSecurity]; diff --git a/SignalServiceKit/src/Storage/TSStorageManager.h b/SignalServiceKit/src/Storage/TSStorageManager.h index 7f6eb5041..483697694 100644 --- a/SignalServiceKit/src/Storage/TSStorageManager.h +++ b/SignalServiceKit/src/Storage/TSStorageManager.h @@ -29,6 +29,8 @@ void runAsyncRegistrationsForStorage(OWSStorage *storage); + (NSString *)legacyDatabaseFilePath_SHM; + (NSString *)legacyDatabaseFilePath_WAL; ++ (BOOL)hasLegacyOrSharedDatabase; + @end NS_ASSUME_NONNULL_END diff --git a/SignalServiceKit/src/Storage/TSStorageManager.m b/SignalServiceKit/src/Storage/TSStorageManager.m index 47d2775ed..d56cdda2a 100644 --- a/SignalServiceKit/src/Storage/TSStorageManager.m +++ b/SignalServiceKit/src/Storage/TSStorageManager.m @@ -261,6 +261,13 @@ void runAsyncRegistrationsForStorage(OWSStorage *storage) return TSStorageManager.sharedManager.dbReadWriteConnection; } ++ (BOOL)hasLegacyOrSharedDatabase +{ + NSFileManager *fileManager = [NSFileManager defaultManager]; + return ([fileManager fileExistsAtPath:self.legacyDatabaseFilePath] || + [fileManager fileExistsAtPath:self.sharedDataDatabaseFilePath]); +} + @end NS_ASSUME_NONNULL_END diff --git a/SignalShareExtension/ShareViewController.swift b/SignalShareExtension/ShareViewController.swift index eb4d90f84..f93c47b41 100644 --- a/SignalShareExtension/ShareViewController.swift +++ b/SignalShareExtension/ShareViewController.swift @@ -66,14 +66,7 @@ public class ShareViewController: UIViewController, ShareViewDelegate, SAEFailed // abort. isReadyForAppExtensions = OWSPreferences.isReadyForAppExtensions() guard isReadyForAppExtensions else { - // If we don't have TSSStorageManager, we can't consult TSAccountManager - // for isRegistered, so we use OWSPreferences which is usually-accurate - // copy of that state. - if OWSPreferences.isRegistered() { - showNotReadyView() - } else { - showNotRegisteredView() - } + showNotReadyView() return } From c937aaaf8487956382c452da5845c70e10710761 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 15 Feb 2018 15:47:15 -0500 Subject: [PATCH 2/2] Improve handling of the not migrated case. --- SignalServiceKit/src/Storage/TSStorageManager.h | 2 -- SignalServiceKit/src/Storage/TSStorageManager.m | 7 ------- 2 files changed, 9 deletions(-) diff --git a/SignalServiceKit/src/Storage/TSStorageManager.h b/SignalServiceKit/src/Storage/TSStorageManager.h index 483697694..7f6eb5041 100644 --- a/SignalServiceKit/src/Storage/TSStorageManager.h +++ b/SignalServiceKit/src/Storage/TSStorageManager.h @@ -29,8 +29,6 @@ void runAsyncRegistrationsForStorage(OWSStorage *storage); + (NSString *)legacyDatabaseFilePath_SHM; + (NSString *)legacyDatabaseFilePath_WAL; -+ (BOOL)hasLegacyOrSharedDatabase; - @end NS_ASSUME_NONNULL_END diff --git a/SignalServiceKit/src/Storage/TSStorageManager.m b/SignalServiceKit/src/Storage/TSStorageManager.m index d56cdda2a..47d2775ed 100644 --- a/SignalServiceKit/src/Storage/TSStorageManager.m +++ b/SignalServiceKit/src/Storage/TSStorageManager.m @@ -261,13 +261,6 @@ void runAsyncRegistrationsForStorage(OWSStorage *storage) return TSStorageManager.sharedManager.dbReadWriteConnection; } -+ (BOOL)hasLegacyOrSharedDatabase -{ - NSFileManager *fileManager = [NSFileManager defaultManager]; - return ([fileManager fileExistsAtPath:self.legacyDatabaseFilePath] || - [fileManager fileExistsAtPath:self.sharedDataDatabaseFilePath]); -} - @end NS_ASSUME_NONNULL_END