From 6821e4a3a5b88fb886fbc8add1e95b9aa3bb8de7 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Thu, 30 Aug 2018 19:16:33 -0600 Subject: [PATCH] Don't include invalid media in gallery --- .../src/Storage/OWSMediaGalleryFinder.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/SignalServiceKit/src/Storage/OWSMediaGalleryFinder.m b/SignalServiceKit/src/Storage/OWSMediaGalleryFinder.m index cb1ec1ef9..587c56c9a 100644 --- a/SignalServiceKit/src/Storage/OWSMediaGalleryFinder.m +++ b/SignalServiceKit/src/Storage/OWSMediaGalleryFinder.m @@ -164,7 +164,7 @@ static NSString *const OWSMediaGalleryFinderExtensionName = @"OWSMediaGalleryFin YapDatabaseViewOptions *options = [YapDatabaseViewOptions new]; options.allowedCollections = [[YapWhitelistBlacklist alloc] initWithWhitelist:[NSSet setWithObject:TSMessage.collection]]; - return [[YapDatabaseAutoView alloc] initWithGrouping:grouping sorting:sorting versionTag:@"1" options:options]; + return [[YapDatabaseAutoView alloc] initWithGrouping:grouping sorting:sorting versionTag:@"2" options:options]; } + (BOOL)attachmentIdShouldAppearInMediaGallery:(NSString *)attachmentId transaction:(YapDatabaseReadTransaction *)transaction @@ -176,8 +176,20 @@ static NSString *const OWSMediaGalleryFinderExtensionName = @"OWSMediaGalleryFin if (![attachment isKindOfClass:[TSAttachmentStream class]]) { return NO; } - - return attachment.isImage || attachment.isVideo || attachment.isAnimated; + + if (attachment.isImage && attachment.isValidImage) { + return YES; + } + + if (attachment.isVideo && attachment.isValidVideo) { + return YES; + } + + if (attachment.isAnimated && attachment.isValidImage) { + return YES; + } + + return NO; } @end