From f59779c1186378376fc58cd52a604f1cb732c3da Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 30 Jun 2017 06:12:37 -1000 Subject: [PATCH] message manager updates badge count // FREEBIE --- src/Messages/TSMessagesManager.m | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Messages/TSMessagesManager.m b/src/Messages/TSMessagesManager.m index a7a13c32d..57851df8f 100644 --- a/src/Messages/TSMessagesManager.m +++ b/src/Messages/TSMessagesManager.m @@ -115,9 +115,24 @@ NS_ASSUME_NONNULL_BEGIN OWSSingletonAssert(); + [self startObserving]; + return self; } +- (void)startObserving +{ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(yapDatabaseModified:) + name:YapDatabaseModifiedNotification + object:nil]; +} + +- (void)yapDatabaseModified:(NSNotification *)notification +{ + [self updateApplicationBadgeCount]; +} + #pragma mark - Debugging - (NSString *)descriptionForEnvelope:(OWSSignalServiceProtosEnvelope *)envelope @@ -1068,6 +1083,12 @@ NS_ASSUME_NONNULL_BEGIN return numberOfItems; } +- (void)updateApplicationBadgeCount +{ + NSUInteger numberOfItems = [self unreadMessagesCount]; + [[UIApplication sharedApplication] setApplicationIconBadgeNumber:numberOfItems]; +} + - (NSUInteger)unreadMessagesInThread:(TSThread *)thread { __block NSUInteger numberOfItems; [self.dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {