diff options
| author | JPVenson <github@jpb.email> | 2025-02-02 02:09:14 +0000 |
|---|---|---|
| committer | JPVenson <github@jpb.email> | 2025-02-02 02:09:14 +0000 |
| commit | 17003f4d76c7c5e80c5b4d20ba19ade84803fea1 (patch) | |
| tree | 50d159016418a0e068c917f6d013b0b44cdf146b /Emby.Server.Implementations/Library/UserViewManager.cs | |
| parent | ebe89c07b39702a3b8205d2070d95a5f79d3b1d2 (diff) | |
| parent | ce64dbc034b2176d863fb598cf7079aa6a1fce55 (diff) | |
Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider
Diffstat (limited to 'Emby.Server.Implementations/Library/UserViewManager.cs')
| -rw-r--r-- | Emby.Server.Implementations/Library/UserViewManager.cs | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/Emby.Server.Implementations/Library/UserViewManager.cs b/Emby.Server.Implementations/Library/UserViewManager.cs index b4e05ebf0..2560466c1 100644 --- a/Emby.Server.Implementations/Library/UserViewManager.cs +++ b/Emby.Server.Implementations/Library/UserViewManager.cs @@ -309,39 +309,40 @@ namespace Emby.Server.Implementations.Library } } - var mediaTypes = new List<MediaType>(); + MediaType[] mediaTypes = []; if (includeItemTypes.Length == 0) { + HashSet<MediaType> tmpMediaTypes = []; foreach (var parent in parents.OfType<ICollectionFolder>()) { switch (parent.CollectionType) { case CollectionType.books: - mediaTypes.Add(MediaType.Book); - mediaTypes.Add(MediaType.Audio); + tmpMediaTypes.Add(MediaType.Book); + tmpMediaTypes.Add(MediaType.Audio); break; case CollectionType.music: - mediaTypes.Add(MediaType.Audio); + tmpMediaTypes.Add(MediaType.Audio); break; case CollectionType.photos: - mediaTypes.Add(MediaType.Photo); - mediaTypes.Add(MediaType.Video); + tmpMediaTypes.Add(MediaType.Photo); + tmpMediaTypes.Add(MediaType.Video); break; case CollectionType.homevideos: - mediaTypes.Add(MediaType.Photo); - mediaTypes.Add(MediaType.Video); + tmpMediaTypes.Add(MediaType.Photo); + tmpMediaTypes.Add(MediaType.Video); break; default: - mediaTypes.Add(MediaType.Video); + tmpMediaTypes.Add(MediaType.Video); break; } } - mediaTypes = mediaTypes.Distinct().ToList(); + mediaTypes = tmpMediaTypes.ToArray(); } - var excludeItemTypes = includeItemTypes.Length == 0 && mediaTypes.Count == 0 + var excludeItemTypes = includeItemTypes.Length == 0 && mediaTypes.Length == 0 ? new[] { BaseItemKind.Person, @@ -367,14 +368,9 @@ namespace Emby.Server.Implementations.Library Limit = limit * 5, IsPlayed = isPlayed, DtoOptions = options, - MediaTypes = mediaTypes.ToArray() + MediaTypes = mediaTypes }; - if (parents.Count == 0) - { - return _libraryManager.GetItemList(query, false); - } - return _libraryManager.GetItemList(query, parents); } } |
