Quellcode durchsuchen

MediaCollection: Refactor sortFilesInCollection inside files

Soomin Lee vor 5 Jahren
Ursprung
Commit
9da21f861e

+ 3 - 7
SharedSources/MediaLibraryModel/AlbumModel.swift

@@ -112,18 +112,14 @@ extension VLCMLAlbum: MediaCollectionModel {
         return nil
     }
 
-    func files() -> [VLCMLMedia]? {
-        return tracks
+    func files(with criteria: VLCMLSortingCriteria = .alpha,
+               desc: Bool = false) -> [VLCMLMedia]? {
+        return tracks(with: criteria, desc: desc)
     }
 
     func title() -> String {
         return title
     }
-
-    func sortFilesInCollection(with criteria: VLCMLSortingCriteria,
-                               desc: Bool) -> [VLCMLMedia]? {
-        return nil
-    }
 }
 
 extension VLCMLAlbum {

+ 3 - 2
SharedSources/MediaLibraryModel/ArtistModel.swift

@@ -98,8 +98,9 @@ extension VLCMLArtist: MediaCollectionModel {
         return SortModel([.alpha])
     }
 
-    func files() -> [VLCMLMedia]? {
-        return tracks()
+    func files(with criteria: VLCMLSortingCriteria = .alpha,
+               desc: Bool = false) -> [VLCMLMedia]? {
+        return tracks(with: criteria, desc: desc)
     }
 
     func title() -> String {

+ 1 - 1
SharedSources/MediaLibraryModel/CollectionModel.swift

@@ -66,7 +66,7 @@ class CollectionModel: MLBaseModel {
     }
 
     func sort(by criteria: VLCMLSortingCriteria, desc: Bool) {
-        files = mediaCollection.sortFilesInCollection(with: criteria, desc: desc) ?? []
+        files = mediaCollection.files(with: criteria, desc: desc) ?? []
         sortModel.currentSort = criteria
         sortModel.desc = desc
         updateView?()

+ 3 - 7
SharedSources/MediaLibraryModel/GenreModel.swift

@@ -123,16 +123,12 @@ extension VLCMLGenre: MediaCollectionModel {
         return SortModel([.alpha])
     }
 
-    func files() -> [VLCMLMedia]? {
-        return tracks()
+    func files(with criteria: VLCMLSortingCriteria = .alpha,
+               desc: Bool = false) -> [VLCMLMedia]? {
+        return tracks(with: criteria, desc: desc)
     }
 
     func title() -> String {
         return name
     }
-
-    func sortFilesInCollection(with criteria: VLCMLSortingCriteria,
-                               desc: Bool) -> [VLCMLMedia]? {
-        return nil
-    }
 }

+ 9 - 3
SharedSources/MediaLibraryModel/MediaLibraryBaseModel.swift

@@ -73,11 +73,10 @@ protocol SearchableMLModel {
 }
 
 protocol MediaCollectionModel {
-    func files() -> [VLCMLMedia]?
+    func files(with criteria: VLCMLSortingCriteria,
+               desc: Bool) -> [VLCMLMedia]?
     func sortModel() -> SortModel?
     func title() -> String
-    func sortFilesInCollection(with criteria: VLCMLSortingCriteria,
-                               desc: Bool) -> [VLCMLMedia]?
 }
 
 // MARK: - Helper methods
@@ -107,3 +106,10 @@ extension VLCMLObject {
         return lhs.identifier() == rhs.identifier()
     }
 }
+
+extension MediaCollectionModel {
+    func files(with criteria: VLCMLSortingCriteria = .alpha,
+               desc: Bool = false) -> [VLCMLMedia]? {
+        return files(with: criteria, desc: desc)
+    }
+}

+ 2 - 6
SharedSources/MediaLibraryModel/PlaylistModel.swift

@@ -150,16 +150,12 @@ extension VLCMLPlaylist: MediaCollectionModel {
         return nil
     }
 
-    func files() -> [VLCMLMedia]? {
+    func files(with criteria: VLCMLSortingCriteria = .alpha,
+               desc: Bool = false) -> [VLCMLMedia]? {
         return media
     }
 
     func title() -> String {
         return name
     }
-
-    func sortFilesInCollection(with criteria: VLCMLSortingCriteria,
-                               desc: Bool) -> [VLCMLMedia]? {
-        return nil
-    }
 }

+ 3 - 7
SharedSources/MediaLibraryModel/VideoGroupViewModel.swift

@@ -100,18 +100,14 @@ extension VLCMLVideoGroup: MediaCollectionModel {
         return nil
     }
 
-    func files() -> [VLCMLMedia]? {
-        return media()
+    func files(with criteria: VLCMLSortingCriteria,
+               desc: Bool) -> [VLCMLMedia]? {
+        return media(with: criteria, desc: desc)
     }
 
     func title() -> String {
         return name()
     }
-
-    func sortFilesInCollection(with criteria: VLCMLSortingCriteria,
-                               desc: Bool) -> [VLCMLMedia]? {
-        return media(with: criteria, desc: desc)
-    }
 }
 
 // MARK: - VLCMLVideoGroup - Helpers