From 9936003637f52a42260ebb4da6652d9c12926b62 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 11 May 2018 15:37:13 -0400 Subject: [PATCH] Respond to CR. --- Signal/src/AppDelegate.m | 19 +++---------------- Signal/src/environment/SignalApp.h | 2 ++ Signal/src/environment/SignalApp.m | 20 +++++++++++++++----- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index 24ae5a20c..9e4da121e 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -531,24 +531,11 @@ static NSTimeInterval launchStartedAt; // When opening the app from a notification, // AppDelegate.didReceiveLocalNotification will always // be called _before_ we become active. - [self cancelAllNotifications]; + [SignalApp clearAllNotifications]; DDLogInfo(@"%@ applicationDidBecomeActive completed.", self.logTag); } -- (void)cancelAllNotifications -{ - DDLogInfo(@"%@ cancelAllNotifications.", self.logTag); - - // This will cancel all "scheduled" local notifications that haven't - // been presented yet. - [UIApplication.sharedApplication cancelAllLocalNotifications]; - // To clear all already presented local notifications, we need to - // set the app badge number to zero after setting it to a non-zero value. - [UIApplication sharedApplication].applicationIconBadgeNumber = 1; - [UIApplication sharedApplication].applicationIconBadgeNumber = 0; -} - - (void)enableBackgroundRefreshIfNecessary { [AppReadiness runNowOrWhenAppIsReady:^{ @@ -602,7 +589,7 @@ static NSTimeInterval launchStartedAt; DDLogInfo(@"%@ running post launch block for unregistered user.", self.logTag); // Unregistered user should have no unread messages. e.g. if you delete your account. - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; + [SignalApp clearAllNotifications]; [TSSocketManager requestSocketOpen]; @@ -664,7 +651,7 @@ static NSTimeInterval launchStartedAt; DDLogWarn(@"%@ applicationWillResignActive.", self.logTag); // Clear all notifications whenever we become inactive. - [self cancelAllNotifications]; + [SignalApp clearAllNotifications]; [DDLog flushLog]; } diff --git a/Signal/src/environment/SignalApp.h b/Signal/src/environment/SignalApp.h index e3116c9e4..f09bece9a 100644 --- a/Signal/src/environment/SignalApp.h +++ b/Signal/src/environment/SignalApp.h @@ -44,4 +44,6 @@ + (void)resetAppData; ++ (void)clearAllNotifications; + @end diff --git a/Signal/src/environment/SignalApp.m b/Signal/src/environment/SignalApp.m index f4304b5d1..de9e7a952 100644 --- a/Signal/src/environment/SignalApp.m +++ b/Signal/src/environment/SignalApp.m @@ -227,14 +227,24 @@ [OWSStorage resetAllStorage]; [[OWSProfileManager sharedManager] resetProfileStorage]; [Environment.preferences clear]; - // Setting the app badge number from non-zero to zero has the - // side effect of clearing all scheduled and presented local - // notifications. - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; + + [self clearAllNotifications]; [DebugLogger.sharedLogger wipeLogs]; exit(0); } ++ (void)clearAllNotifications +{ + DDLogInfo(@"%@ clearAllNotifications.", self.logTag); + + // This will cancel all "scheduled" local notifications that haven't + // been presented yet. + [UIApplication.sharedApplication cancelAllLocalNotifications]; + // To clear all already presented local notifications, we need to + // set the app badge number to zero after setting it to a non-zero value. + [UIApplication sharedApplication].applicationIconBadgeNumber = 1; + [UIApplication sharedApplication].applicationIconBadgeNumber = 0; +} + @end