diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-03-13 15:16:34 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-03-13 15:16:34 -0400 |
| commit | e7d5532bee2f04ed081d3d98a2bc785d3dcd6767 (patch) | |
| tree | 48cfec37724f2b48a05fdfc794e9c3924d144e49 | |
| parent | 322e468eeafa2de9cb25c24ec72375c42a0108bd (diff) | |
adjust default image provider
6 files changed, 37 insertions, 33 deletions
diff --git a/MediaBrowser.Providers/FolderImages/DefaultImageProvider.cs b/MediaBrowser.Providers/FolderImages/DefaultImageProvider.cs index 8ddbbba7d..e1c2eb0ed 100644 --- a/MediaBrowser.Providers/FolderImages/DefaultImageProvider.cs +++ b/MediaBrowser.Providers/FolderImages/DefaultImageProvider.cs @@ -36,36 +36,42 @@ namespace MediaBrowser.Providers.FolderImages if (view != null) { - return GetImages(view.ViewType, cancellationToken); + return GetImages(view.ViewType, view.UserId.HasValue, cancellationToken); } var folder = (ICollectionFolder)item; - return GetImages(folder.CollectionType, cancellationToken); + return GetImages(folder.CollectionType, false, cancellationToken); } - private Task<IEnumerable<RemoteImageInfo>> GetImages(string viewType, CancellationToken cancellationToken) + private Task<IEnumerable<RemoteImageInfo>> GetImages(string viewType, bool isUserSpecificView, CancellationToken cancellationToken) { - var url = GetImageUrl(viewType); + var url = GetImageUrl(viewType, isUserSpecificView); + var list = new List<RemoteImageInfo>(); - return Task.FromResult<IEnumerable<RemoteImageInfo>>(new List<RemoteImageInfo> + if (!string.IsNullOrWhiteSpace(url)) { - new RemoteImageInfo - { - ProviderName = Name, - Url = url, - Type = ImageType.Primary - }, - - new RemoteImageInfo - { - ProviderName = Name, - Url = url, - Type = ImageType.Thumb - } - }); + list.AddRange(new List<RemoteImageInfo> + { + new RemoteImageInfo + { + ProviderName = Name, + Url = url, + Type = ImageType.Primary + }, + + new RemoteImageInfo + { + ProviderName = Name, + Url = url, + Type = ImageType.Thumb + } + }); + } + + return Task.FromResult<IEnumerable<RemoteImageInfo>>(list); } - private string GetImageUrl(string viewType) + private string GetImageUrl(string viewType, bool isUserSpecificView) { const string urlPrefix = "https://raw.githubusercontent.com/MediaBrowser/MediaBrowser.Resources/master/images/folders/"; @@ -102,6 +108,11 @@ namespace MediaBrowser.Providers.FolderImages return urlPrefix + "movies.png"; } + if (isUserSpecificView) + { + return null; + } + return urlPrefix + "generic.png"; } @@ -112,13 +123,6 @@ namespace MediaBrowser.Providers.FolderImages public bool Supports(IHasImages item) { - var view = item as UserView; - - if (view != null) - { - return !view.UserId.HasValue; - } - return item is ICollectionFolder; } diff --git a/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs b/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs index b756fb6c4..80a7c50d1 100644 --- a/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs @@ -14,7 +14,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Collections { - public class CollectionImageProvider : BaseDynamicImageProvider<BoxSet>, ICustomMetadataProvider<BoxSet> + public class CollectionImageProvider : BaseDynamicImageProvider<BoxSet> { public CollectionImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths) { diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs index 40b85dad1..8f20d32cc 100644 --- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs @@ -15,8 +15,8 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Photos { - public abstract class BaseDynamicImageProvider<T> : IHasChangeMonitor, IForcedProvider - where T : IHasImages + public abstract class BaseDynamicImageProvider<T> : IHasChangeMonitor, IForcedProvider, ICustomMetadataProvider<T> + where T : IHasMetadata { protected IFileSystem FileSystem { get; private set; } protected IProviderManager ProviderManager { get; private set; } diff --git a/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs index 4e1330144..dcbf3a7f0 100644 --- a/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs @@ -13,7 +13,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Photos { - public class DynamicImageProvider : BaseDynamicImageProvider<UserView>, ICustomMetadataProvider<UserView> + public class DynamicImageProvider : BaseDynamicImageProvider<UserView> { private readonly IUserManager _userManager; private readonly ILibraryManager _libraryManager; diff --git a/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs index e36986970..73d9183a5 100644 --- a/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Photos { - public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>, ICustomMetadataProvider<PhotoAlbum> + public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum> { public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths) { diff --git a/MediaBrowser.Server.Implementations/Playlists/PlaylistImageProvider.cs b/MediaBrowser.Server.Implementations/Playlists/PlaylistImageProvider.cs index d009a03ae..81f9438b9 100644 --- a/MediaBrowser.Server.Implementations/Playlists/PlaylistImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Playlists/PlaylistImageProvider.cs @@ -14,7 +14,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Playlists { - public class PlaylistImageProvider : BaseDynamicImageProvider<Playlist>, ICustomMetadataProvider<Playlist> + public class PlaylistImageProvider : BaseDynamicImageProvider<Playlist> { public PlaylistImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths) { |
