Hide empty conversations in home view.

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent 8e628a6296
commit c6e21e83a3

@ -25,8 +25,7 @@ extern NSString *const TSSecondaryDevicesDatabaseViewExtensionName;
+ (BOOL)hasPendingViewRegistrations; + (BOOL)hasPendingViewRegistrations;
// This method must be called _AFTER_ registerThreadInteractionsDatabaseView. + (void)registerThreadDatabaseView;
+ (void)asyncRegisterThreadDatabaseView;
+ (void)registerThreadInteractionsDatabaseView; + (void)registerThreadInteractionsDatabaseView;
+ (void)asyncRegisterThreadOutgoingMessagesDatabaseView; + (void)asyncRegisterThreadOutgoingMessagesDatabaseView;

@ -207,7 +207,7 @@ NSString *const TSSecondaryDevicesDatabaseViewExtensionName = @"TSSecondaryDevic
async:YES]; async:YES];
} }
+ (void)asyncRegisterThreadDatabaseView + (void)registerThreadDatabaseView
{ {
YapDatabaseView *threadView = YapDatabaseView *threadView =
[[TSStorageManager sharedManager].database registeredExtension:TSThreadDatabaseViewExtensionName]; [[TSStorageManager sharedManager].database registeredExtension:TSThreadDatabaseViewExtensionName];
@ -249,15 +249,8 @@ NSString *const TSSecondaryDevicesDatabaseViewExtensionName = @"TSSecondaryDevic
YapDatabaseView *databaseView = YapDatabaseView *databaseView =
[[YapDatabaseView alloc] initWithGrouping:viewGrouping sorting:viewSorting versionTag:@"2" options:options]; [[YapDatabaseView alloc] initWithGrouping:viewGrouping sorting:viewSorting versionTag:@"2" options:options];
[[TSStorageManager sharedManager].database [[TSStorageManager sharedManager].database registerExtension:databaseView
asyncRegisterExtension:databaseView withName:TSThreadDatabaseViewExtensionName];
withName:TSThreadDatabaseViewExtensionName
completionBlock:^(BOOL ready) {
OWSCAssert(ready);
DDLogInfo(
@"%@ asyncRegisterExtension: %@ -> %d", self.tag, TSThreadDatabaseViewExtensionName, ready);
}];
} }
/** /**

@ -192,6 +192,7 @@ static NSString *keychainDBPassAccount = @"TSDatabasePass";
- (void)setupDatabaseWithSafeBlockingMigrations:(void (^_Nonnull)())safeBlockingMigrationsBlock - (void)setupDatabaseWithSafeBlockingMigrations:(void (^_Nonnull)())safeBlockingMigrationsBlock
{ {
// Synchronously register extensions which are essential for views. // Synchronously register extensions which are essential for views.
[TSDatabaseView registerThreadDatabaseView];
[TSDatabaseView registerThreadInteractionsDatabaseView]; [TSDatabaseView registerThreadInteractionsDatabaseView];
[TSDatabaseView registerUnreadDatabaseView]; [TSDatabaseView registerUnreadDatabaseView];
[self.database registerExtension:[TSDatabaseSecondaryIndexes registerTimeStampIndex] withName:@"idx"]; [self.database registerExtension:[TSDatabaseSecondaryIndexes registerTimeStampIndex] withName:@"idx"];
@ -209,7 +210,6 @@ static NSString *keychainDBPassAccount = @"TSDatabasePass";
// //
// All sync registrations must be done before all async registrations, // All sync registrations must be done before all async registrations,
// or the sync registrations will block on the async registrations. // or the sync registrations will block on the async registrations.
[TSDatabaseView asyncRegisterThreadDatabaseView];
[TSDatabaseView asyncRegisterUnseenDatabaseView]; [TSDatabaseView asyncRegisterUnseenDatabaseView];
[TSDatabaseView asyncRegisterThreadOutgoingMessagesDatabaseView]; [TSDatabaseView asyncRegisterThreadOutgoingMessagesDatabaseView];
[TSDatabaseView asyncRegisterThreadSpecialMessagesDatabaseView]; [TSDatabaseView asyncRegisterThreadSpecialMessagesDatabaseView];

Loading…
Cancel
Save