From 0738568b9433fba35722b541cfa142e68db66926 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 20 Jun 2017 16:53:02 -0400 Subject: [PATCH] Fix upgrade launch screen. // FREEBIE --- Signal/src/AppDelegate.m | 17 +++++++++++++---- Signal/src/environment/VersionMigrations.h | 2 ++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index 78e6cfa68..38234644b 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -199,13 +199,22 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; [[UIStoryboard storyboardWithName:@"Launch Screen" bundle:nil] instantiateInitialViewController]; BOOL shouldShowUpgradeLabel = NO; - NSString *previousVersion = AppVersion.instance.lastCompletedLaunchAppVersion; + NSString *lastAppVersion = AppVersion.instance.lastAppVersion; + NSString *lastCompletedLaunchAppVersion = AppVersion.instance.lastCompletedLaunchAppVersion; + BOOL mayNeedUpgrade = ([TSAccountManager isRegistered] && + [VersionMigrations isVersion:lastAppVersion atLeast:@"2.0.0" andLessThan:@"2.13.0"]); + BOOL hasCompletedUpgrade = (lastCompletedLaunchAppVersion && + [VersionMigrations isVersion:lastCompletedLaunchAppVersion atLeast:@"2.13.0"]); + // We added a number of database views in v2.13.0. - if ([TSAccountManager isRegistered] && - [VersionMigrations isVersion:previousVersion atLeast:@"2.0.0" andLessThan:@"2.13.0"]) { + if (mayNeedUpgrade && !hasCompletedUpgrade) { shouldShowUpgradeLabel = YES; } - DDLogInfo(@"%@ shouldShowUpgradeLabel: %d", self.tag, shouldShowUpgradeLabel); + DDLogInfo(@"%@ shouldShowUpgradeLabel: %d, %d -> %d", + self.tag, + mayNeedUpgrade, + hasCompletedUpgrade, + shouldShowUpgradeLabel); if (shouldShowUpgradeLabel) { UIView *rootView = viewController.view; UIImageView *iconView = nil; diff --git a/Signal/src/environment/VersionMigrations.h b/Signal/src/environment/VersionMigrations.h index 2656ae7f4..bc0064fa3 100644 --- a/Signal/src/environment/VersionMigrations.h +++ b/Signal/src/environment/VersionMigrations.h @@ -16,4 +16,6 @@ atLeast:(NSString *)openLowerBoundVersionString andLessThan:(NSString *)closedUpperBoundVersionString; ++ (BOOL)isVersion:(NSString *)thisVersionString atLeast:(NSString *)thatVersionString; + @end