Bug fixes in MessageViewController

- Messages shouldn’t be marked as seen if app in background
- Fixes crash on first delivery receipt
pull/1/head
Frederic Jacobs 11 years ago
parent daa6bfd650
commit dde6fc0a7f

@ -96,13 +96,35 @@ typedef enum : NSUInteger {
[self.messageMappings updateWithTransaction:transaction];
}];
self.readTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(markAllMessagesAsRead) userInfo:nil repeats:YES];
[self initializeNavigationBar];
[self initializeCollectionViewLayout];
self.senderId = ME_MESSAGE_IDENTIFIER
self.senderId = ME_MESSAGE_IDENTIFIER
self.senderDisplayName = ME_MESSAGE_IDENTIFIER
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startReadTimer)
name:UIApplicationWillEnterForegroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cancelReadTimer)
name:UIApplicationDidEnterBackgroundNotification object:nil];
}
- (void)startReadTimer{
self.readTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(markAllMessagesAsRead) userInfo:nil repeats:YES];
}
- (void)cancelReadTimer{
[self.readTimer invalidate];
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self startReadTimer];
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
[self cancelReadTimer];
}
- (void)didReceiveMemoryWarning {
@ -653,7 +675,12 @@ typedef enum : NSUInteger {
}
case YapDatabaseViewChangeUpdate :
{
[self.collectionView reloadItemsAtIndexPaths:@[ rowChange.indexPath , _lastDeliveredMessageIndexPath]];
NSMutableArray *rowsToUpdate = [@[rowChange.indexPath] mutableCopy];
if (_lastDeliveredMessageIndexPath) {
[rowsToUpdate addObject:_lastDeliveredMessageIndexPath];
}
[self.collectionView reloadItemsAtIndexPaths:rowsToUpdate];
break;
}
}
@ -740,8 +767,8 @@ typedef enum : NSUInteger {
}];
}
- (void)viewWillDisappear:(BOOL)animated{
[self.readTimer invalidate];
- (void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
@end

Loading…
Cancel
Save