From 4680a2465ad34e179e89706fa9831cb4a944a89c Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 24 May 2017 15:55:22 -0400 Subject: [PATCH 1/2] Remove registration storyboard. // FREEBIE --- Signal.xcodeproj/project.pbxproj | 4 -- Signal/src/AppDelegate.h | 5 +- Signal/src/AppDelegate.m | 16 +++-- .../src/Storyboards/Registration.storyboard | 69 ------------------- .../CodeVerificationViewController.m | 40 ++++------- 5 files changed, 27 insertions(+), 107 deletions(-) delete mode 100644 Signal/src/Storyboards/Registration.storyboard diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index a191f73db..94b3cae64 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -174,7 +174,6 @@ 45C9DEB81DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C9DEB71DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift */; }; 45C9DEB91DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C9DEB71DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift */; }; 45CB2FA81CB7146C00E1B343 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 45CB2FA71CB7146C00E1B343 /* Launch Screen.storyboard */; }; - 45CD81A61DBFF8FC004C9430 /* Registration.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 45CD81A51DBFF8FC004C9430 /* Registration.storyboard */; }; 45CD81EF1DC030E7004C9430 /* AccountManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CD81EE1DC030E7004C9430 /* AccountManager.swift */; }; 45CD81F21DC03A22004C9430 /* OWSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 45CD81F11DC03A22004C9430 /* OWSLogger.m */; }; 45D231771DC7E8F10034FA89 /* SessionResetJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D231761DC7E8F10034FA89 /* SessionResetJob.swift */; }; @@ -586,7 +585,6 @@ 45C681C31D305C9E0050903A /* OWSDisplayedMessageCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OWSDisplayedMessageCollectionViewCell.xib; sourceTree = ""; }; 45C9DEB71DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebRTCCallMessageHandler.swift; sourceTree = ""; }; 45CB2FA71CB7146C00E1B343 /* Launch Screen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = "Launch Screen.storyboard"; path = "Signal/src/util/Launch Screen.storyboard"; sourceTree = SOURCE_ROOT; }; - 45CD81A51DBFF8FC004C9430 /* Registration.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Registration.storyboard; path = Storyboards/Registration.storyboard; sourceTree = ""; }; 45CD81EE1DC030E7004C9430 /* AccountManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountManager.swift; sourceTree = ""; }; 45CD81F01DC03A22004C9430 /* OWSLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSLogger.h; sourceTree = ""; }; 45CD81F11DC03A22004C9430 /* OWSLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSLogger.m; sourceTree = ""; }; @@ -1131,7 +1129,6 @@ children = ( 45CB2FA71CB7146C00E1B343 /* Launch Screen.storyboard */, A5509EC91A69AB8B00ABA4BC /* Main.storyboard */, - 45CD81A51DBFF8FC004C9430 /* Registration.storyboard */, ); name = Storyboards; sourceTree = ""; @@ -1837,7 +1834,6 @@ AD83FF441A73426500B5C81A /* audio_pause_button.png in Resources */, B6F509971AA53F760068F56A /* Localizable.strings in Resources */, AD41D7B51A6F6F0600241130 /* play_button.png in Resources */, - 45CD81A61DBFF8FC004C9430 /* Registration.storyboard in Resources */, B633C59D1A1D190B0059AC12 /* endcall@2x.png in Resources */, FC5CDF391A3393DD00B47253 /* error_white@2x.png in Resources */, B633C5D21A1D190B0059AC12 /* savephoto@2x.png in Resources */, diff --git a/Signal/src/AppDelegate.h b/Signal/src/AppDelegate.h index e02ba51dd..a2ceffe5d 100644 --- a/Signal/src/AppDelegate.h +++ b/Signal/src/AppDelegate.h @@ -1,9 +1,12 @@ +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// + #import #import "SignalsViewController.h" extern NSString *const AppDelegateStoryboardMain; -extern NSString *const AppDelegateStoryboardRegistration; @interface AppDelegate : UIResponder diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index f86af1f1d..934005abb 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -14,6 +14,7 @@ #import "Pastelog.h" #import "PropertyListPreferences.h" #import "PushManager.h" +#import "RegistrationViewController.h" #import "Release.h" #import "SendExternalFileViewController.h" #import "Signal-Swift.h" @@ -36,7 +37,6 @@ @import Intents; NSString *const AppDelegateStoryboardMain = @"Main"; -NSString *const AppDelegateStoryboardRegistration = @"Registration"; static NSString *const kInitialViewControllerIdentifier = @"UserInitialViewController"; static NSString *const kURLSchemeSGNLKey = @"sgnl"; @@ -114,15 +114,19 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; return YES; } - UIStoryboard *storyboard; + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + if ([TSAccountManager isRegistered]) { - storyboard = [UIStoryboard storyboardWithName:AppDelegateStoryboardMain bundle:[NSBundle mainBundle]]; + UIStoryboard *storyboard = + [UIStoryboard storyboardWithName:AppDelegateStoryboardMain bundle:[NSBundle mainBundle]]; + self.window.rootViewController = [storyboard instantiateInitialViewController]; } else { - storyboard = [UIStoryboard storyboardWithName:AppDelegateStoryboardRegistration bundle:[NSBundle mainBundle]]; + RegistrationViewController *viewController = [RegistrationViewController new]; + UINavigationController *navigationController = + [[UINavigationController alloc] initWithRootViewController:viewController]; + self.window.rootViewController = navigationController; } - self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - self.window.rootViewController = [storyboard instantiateInitialViewController]; [self.window makeKeyAndVisible]; // performUpdateCheck must be invoked after Environment has been initialized because diff --git a/Signal/src/Storyboards/Registration.storyboard b/Signal/src/Storyboards/Registration.storyboard deleted file mode 100644 index a8aafd54c..000000000 --- a/Signal/src/Storyboards/Registration.storyboard +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Signal/src/ViewControllers/CodeVerificationViewController.m b/Signal/src/ViewControllers/CodeVerificationViewController.m index 995c3b8a4..b50a49cc4 100644 --- a/Signal/src/ViewControllers/CodeVerificationViewController.m +++ b/Signal/src/ViewControllers/CodeVerificationViewController.m @@ -16,8 +16,6 @@ NS_ASSUME_NONNULL_BEGIN -NSString *const kCompletedRegistrationSegue = @"CompletedRegistration"; - @interface CodeVerificationViewController () @property (nonatomic, readonly) AccountManager *accountManager; @@ -266,7 +264,19 @@ NSString *const kCompletedRegistrationSegue = @"CompletedRegistration"; DDLogInfo(@"%@ Successfully registered Signal account.", self.tag); dispatch_async(dispatch_get_main_queue(), ^{ [self stopActivityIndicator]; - [self performSegueWithIdentifier:kCompletedRegistrationSegue sender:nil]; + + UIStoryboard *storyboard = [UIStoryboard main]; + UIViewController *viewController = [storyboard instantiateInitialViewController]; + OWSAssert([viewController isKindOfClass:[SignalsNavigationController class]]); + SignalsNavigationController *navigationController = (SignalsNavigationController *)viewController; + AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; + appDelegate.window.rootViewController = navigationController; + OWSAssert([navigationController.topViewController isKindOfClass:[SignalsViewController class]]); + + DDLogDebug(@"%@ notifying signals view controller of new user.", self.tag); + SignalsViewController *signalsViewController + = (SignalsViewController *)navigationController.topViewController; + signalsViewController.newlyRegisteredUser = YES; }); }) .catch(^(NSError *_Nonnull error) { @@ -310,30 +320,6 @@ NSString *const kCompletedRegistrationSegue = @"CompletedRegistration"; return [self.challengeTextField.text stringByReplacingOccurrencesOfString:@"-" withString:@""]; } -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(nullable id)sender -{ - DDLogInfo(@"%@ preparing for CompletedRegistrationSeque", self.tag); - if ([segue.identifier isEqualToString:kCompletedRegistrationSegue]) { - if (![segue.destinationViewController isKindOfClass:[SignalsNavigationController class]]) { - DDLogError(@"%@ Unexpected destination view controller: %@", self.tag, segue.destinationViewController); - return; - } - - SignalsNavigationController *snc = (SignalsNavigationController *)segue.destinationViewController; - - AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; - appDelegate.window.rootViewController = snc; - if (![snc.topViewController isKindOfClass:[SignalsViewController class]]) { - DDLogError(@"%@ Unexpected top view controller: %@", self.tag, snc.topViewController); - return; - } - - DDLogDebug(@"%@ notifying signals view controller of new user.", self.tag); - SignalsViewController *signalsViewController = (SignalsViewController *)snc.topViewController; - signalsViewController.newlyRegisteredUser = YES; - } -} - #pragma mark - Send codes again - (void)sendCodeViaSMSAction:(id)sender { From 2475406258cc0c23aeec6c2bbe5be065d8ca2604 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 24 May 2017 17:47:56 -0400 Subject: [PATCH 2/2] Respond to CR. // FREEBIE --- Signal/src/AppDelegate.m | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index 934005abb..5a4047aeb 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -117,9 +117,7 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; if ([TSAccountManager isRegistered]) { - UIStoryboard *storyboard = - [UIStoryboard storyboardWithName:AppDelegateStoryboardMain bundle:[NSBundle mainBundle]]; - self.window.rootViewController = [storyboard instantiateInitialViewController]; + self.window.rootViewController = [[UIStoryboard main] instantiateInitialViewController]; } else { RegistrationViewController *viewController = [RegistrationViewController new]; UINavigationController *navigationController =