< Summary - Jellyfin

Information
Class: Jellyfin.LiveTv.Channels.ChannelImageProvider
Assembly: Jellyfin.LiveTv
File(s): /srv/git/jellyfin/src/Jellyfin.LiveTv/Channels/ChannelImageProvider.cs
Line coverage
30%
Covered lines: 3
Uncovered lines: 7
Coverable lines: 10
Total lines: 64
Line coverage: 30%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Name()100%210%
GetSupportedImages(...)100%210%
GetImage(...)100%210%
Supports(...)100%11100%
GetChannel(...)100%210%
HasChanged(...)100%210%

File(s)

/srv/git/jellyfin/src/Jellyfin.LiveTv/Channels/ChannelImageProvider.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using System.Linq;
 3using System.Threading;
 4using System.Threading.Tasks;
 5using MediaBrowser.Controller.Channels;
 6using MediaBrowser.Controller.Entities;
 7using MediaBrowser.Controller.Providers;
 8using MediaBrowser.Model.Entities;
 9
 10namespace Jellyfin.LiveTv.Channels
 11{
 12    /// <summary>
 13    /// An image provider for channels.
 14    /// </summary>
 15    public class ChannelImageProvider : IDynamicImageProvider, IHasItemChangeMonitor
 16    {
 17        private readonly IChannelManager _channelManager;
 18
 19        /// <summary>
 20        /// Initializes a new instance of the <see cref="ChannelImageProvider"/> class.
 21        /// </summary>
 22        /// <param name="channelManager">The channel manager.</param>
 23        public ChannelImageProvider(IChannelManager channelManager)
 24        {
 2225            _channelManager = channelManager;
 2226        }
 27
 28        /// <inheritdoc />
 029        public string Name => "Channel Image Provider";
 30
 31        /// <inheritdoc />
 32        public IEnumerable<ImageType> GetSupportedImages(BaseItem item)
 33        {
 034            return GetChannel(item).GetSupportedChannelImages();
 35        }
 36
 37        /// <inheritdoc />
 38        public Task<DynamicImageResponse> GetImage(BaseItem item, ImageType type, CancellationToken cancellationToken)
 39        {
 040            var channel = GetChannel(item);
 41
 042            return channel.GetChannelImage(type, cancellationToken);
 43        }
 44
 45        /// <inheritdoc />
 46        public bool Supports(BaseItem item)
 47        {
 4648            return item is Channel;
 49        }
 50
 51        private IChannel GetChannel(BaseItem item)
 52        {
 053            var channel = (Channel)item;
 54
 055            return ((ChannelManager)_channelManager).GetChannelProvider(channel);
 56        }
 57
 58        /// <inheritdoc />
 59        public bool HasChanged(BaseItem item, IDirectoryService directoryService)
 60        {
 061            return GetSupportedImages(item).Any(i => !item.HasImage(i));
 62        }
 63    }
 64}