Explorar o código

allow sharing audio tracks and show episodes in addition to regular files (close #13170)

Felix Paul Kühne %!s(int64=10) %!d(string=hai) anos
pai
achega
8a07a0f2c3
Modificáronse 1 ficheiros con 14 adicións e 10 borrados
  1. 14 10
      Sources/VLCPlaylistViewController.m

+ 14 - 10
Sources/VLCPlaylistViewController.m

@@ -1274,9 +1274,9 @@ static NSString *kDisplayedFirstSteps = @"Did we display the first steps tutoria
     } else {
         // Look for at least one MLFile
         for (NSUInteger x = 0; x < count; x++) {
-            MLFile *file = _foundMedia[[indexPaths[x] row]];
+            id mediaItem = _foundMedia[[indexPaths[x] row]];
 
-            if ([file isKindOfClass:[MLFile class]]) {
+            if ([mediaItem isKindOfClass:[MLFile class]] || [mediaItem isKindOfClass:[MLAlbumTrack class]] | [mediaItem isKindOfClass:[MLShowEpisode class]]) {
                 _actionBarButtonItem.enabled = YES;
                 return;
             }
@@ -1304,14 +1304,18 @@ static NSString *kDisplayedFirstSteps = @"Did we display the first steps tutoria
         NSMutableArray /* NSURL */ *fileURLobjects = [[NSMutableArray alloc] initWithCapacity:count];
 
         for (NSUInteger x = 0; x < count; x++) {
-            MLFile *file = _foundMedia[[indexPaths[x] row]];
-
-            if ([file isKindOfClass:[MLFile class]]) {
-                NSURL *fileURL = [NSURL URLWithString:[file url]];
-                if ([fileURL isFileURL]) {
-                    [fileURLobjects addObject:fileURL];
-                }
-            }
+            id mediaItem = _foundMedia[[indexPaths[x] row]];
+            NSURL *fileURL;
+
+            if ([mediaItem isKindOfClass:[MLFile class]])
+                fileURL = [NSURL URLWithString:[(MLFile *)mediaItem url]];
+            else if ([mediaItem isKindOfClass:[MLAlbumTrack class]])
+                fileURL = [NSURL URLWithString:[(MLFile *)[[(MLAlbumTrack *)mediaItem files] anyObject] url]];
+            else if ([mediaItem isKindOfClass:[MLShowEpisode class]])
+                fileURL = [NSURL URLWithString:[(MLFile *)[[(MLShowEpisode *)mediaItem files] anyObject] url]];
+
+            if ([fileURL isFileURL])
+                [fileURLobjects addObject:fileURL];
         }
 
         if ([fileURLobjects count]) {