From 6f45ea08237eefde317088459c4a87669be981f4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 1 Sep 2014 16:10:54 -0400 Subject: fixes #912 - Add special views for Dlna --- MediaBrowser.Controller/Channels/Channel.cs | 30 ++++++++++++++++++++++ .../Channels/ChannelFolderItem.cs | 30 ++++++++++++++++++++++ .../Channels/ChannelVideoItem.cs | 2 -- 3 files changed, 60 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Controller/Channels') diff --git a/MediaBrowser.Controller/Channels/Channel.cs b/MediaBrowser.Controller/Channels/Channel.cs index df38259b42..602918b19a 100644 --- a/MediaBrowser.Controller/Channels/Channel.cs +++ b/MediaBrowser.Controller/Channels/Channel.cs @@ -1,6 +1,10 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Model.Channels; +using MediaBrowser.Model.Querying; using System; using System.Linq; +using System.Threading; +using System.Threading.Tasks; namespace MediaBrowser.Controller.Channels { @@ -17,5 +21,31 @@ namespace MediaBrowser.Controller.Channels return base.IsVisible(user); } + + public override async Task> GetUserItems(UserItemsQuery query) + { + try + { + // Don't blow up here because it could cause parent screens with other content to fail + return await ChannelManager.GetChannelItemsInternal(new ChannelItemQuery + { + ChannelId = Id.ToString("N"), + Limit = query.Limit, + StartIndex = query.StartIndex, + UserId = query.User.Id.ToString("N"), + SortBy = query.SortBy, + SortOrder = query.SortOrder + + }, CancellationToken.None); + } + catch + { + // Already logged at lower levels + return new QueryResult + { + + }; + } + } } } diff --git a/MediaBrowser.Controller/Channels/ChannelFolderItem.cs b/MediaBrowser.Controller/Channels/ChannelFolderItem.cs index 077138f3cc..a7cc80104a 100644 --- a/MediaBrowser.Controller/Channels/ChannelFolderItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelFolderItem.cs @@ -1,6 +1,9 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Channels; using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Querying; +using System.Threading; +using System.Threading.Tasks; namespace MediaBrowser.Controller.Channels { @@ -33,5 +36,32 @@ namespace MediaBrowser.Controller.Channels { return ExternalId; } + + public override async Task> GetUserItems(UserItemsQuery query) + { + try + { + // Don't blow up here because it could cause parent screens with other content to fail + return await ChannelManager.GetChannelItemsInternal(new ChannelItemQuery + { + ChannelId = ChannelId, + FolderId = Id.ToString("N"), + Limit = query.Limit, + StartIndex = query.StartIndex, + UserId = query.User.Id.ToString("N"), + SortBy = query.SortBy, + SortOrder = query.SortOrder + + }, CancellationToken.None); + } + catch + { + // Already logged at lower levels + return new QueryResult + { + + }; + } + } } } diff --git a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs index 7a261bc58c..10e486e717 100644 --- a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs @@ -11,8 +11,6 @@ namespace MediaBrowser.Controller.Channels { public class ChannelVideoItem : Video, IChannelMediaItem { - public static IChannelManager ChannelManager { get; set; } - public string ExternalId { get; set; } public string ChannelId { get; set; } -- cgit v1.2.3