瀏覽代碼

library view controller: return early and don't set the activity if MLKit fails to provide a media URI description

(cherry picked from commit d43effa97ca0d729d5752130e072af2399f254e4)
Felix Paul Kühne 7 年之前
父節點
當前提交
f2095690a0
共有 1 個文件被更改,包括 7 次插入6 次删除
  1. 7 6
      Sources/VLCLibraryViewController.m

+ 7 - 6
Sources/VLCLibraryViewController.m

@@ -353,6 +353,11 @@ static NSString *kUsingTableViewToShowData = @"UsingTableViewToShowData";
 - (void)createSpotlightItem:(nonnull NSManagedObject *)mediaObject
 - (void)createSpotlightItem:(nonnull NSManagedObject *)mediaObject
 {
 {
     if (![VLCKeychainCoordinator passcodeLockEnabled]) {
     if (![VLCKeychainCoordinator passcodeLockEnabled]) {
+        NSURL *uriRepresentation = mediaObject.objectID.URIRepresentation;
+        if (uriRepresentation == nil) {
+            return;
+        }
+
         self.userActivity = [[NSUserActivity alloc] initWithActivityType:kVLCUserActivityPlaying];
         self.userActivity = [[NSUserActivity alloc] initWithActivityType:kVLCUserActivityPlaying];
 
 
         MLFile *file = nil;
         MLFile *file = nil;
@@ -363,14 +368,10 @@ static NSString *kUsingTableViewToShowData = @"UsingTableViewToShowData";
         } else if ([mediaObject isKindOfClass:[MLFile class]]){
         } else if ([mediaObject isKindOfClass:[MLFile class]]){
             file = (MLFile *)mediaObject;
             file = (MLFile *)mediaObject;
         }
         }
+
         self.userActivity.title = file.title;
         self.userActivity.title = file.title;
         self.userActivity.contentAttributeSet = file.coreSpotlightAttributeSet;
         self.userActivity.contentAttributeSet = file.coreSpotlightAttributeSet;
-
-        NSURL *uriRepresentation = mediaObject.objectID.URIRepresentation;
-        if (uriRepresentation != nil) {
-            self.userActivity.userInfo = @{ @"playingmedia": uriRepresentation};
-        }
-
+        self.userActivity.userInfo = @{ @"playingmedia": uriRepresentation};
         self.userActivity.eligibleForSearch = YES;
         self.userActivity.eligibleForSearch = YES;
         self.userActivity.eligibleForHandoff = YES;
         self.userActivity.eligibleForHandoff = YES;
         [self.userActivity becomeCurrent];
         [self.userActivity becomeCurrent];