diff --git a/MediaBrowser.Plugins.VuPlus/MediaBrowser.Plugins.VuPlus.csproj b/MediaBrowser.Plugins.VuPlus/MediaBrowser.Plugins.VuPlus.csproj
index a05fa48..adc7ed1 100644
--- a/MediaBrowser.Plugins.VuPlus/MediaBrowser.Plugins.VuPlus.csproj
+++ b/MediaBrowser.Plugins.VuPlus/MediaBrowser.Plugins.VuPlus.csproj
@@ -2,8 +2,8 @@
netstandard2.0;
- 3.1.9
- 3.1.9
+ 3.2.0
+ 3.2.0
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/MediaBrowser.Plugins.VuPlus/RecordingsChannel.cs b/MediaBrowser.Plugins.VuPlus/RecordingsChannel.cs
index ad9ef31..0cf45d1 100644
--- a/MediaBrowser.Plugins.VuPlus/RecordingsChannel.cs
+++ b/MediaBrowser.Plugins.VuPlus/RecordingsChannel.cs
@@ -18,13 +18,41 @@ using MediaBrowser.Model.LiveTv;
namespace MediaBrowser.Plugins.VuPlus
{
- public class RecordingsChannel : IChannel, IHasCacheKey, ISupportsDelete, ISupportsLatestMedia, ISupportsMediaProbe, IHasFolderAttributes
+ public class RecordingsChannel : IChannel, IHasCacheKey, ISupportsDelete, ISupportsLatestMedia, ISupportsMediaProbe, IHasFolderAttributes, IHasChangeEvent
{
public ILiveTvManager _liveTvManager;
+ public event EventHandler ContentChanged;
+ private Timer _updateTimer;
+
+ public void OnContentChanged()
+ {
+ if (ContentChanged != null)
+ {
+ ContentChanged(this, EventArgs.Empty);
+ }
+ }
+
+ private void OnUpdateTimerCallback(object state)
+ {
+ OnContentChanged();
+ }
+
public RecordingsChannel(ILiveTvManager liveTvManager)
{
_liveTvManager = liveTvManager;
+
+ var interval = TimeSpan.FromMinutes(15);
+ _updateTimer = new Timer(OnUpdateTimerCallback, null, interval, interval);
+ }
+
+ public void Dispose()
+ {
+ if (_updateTimer != null)
+ {
+ _updateTimer.Dispose();
+ _updateTimer = null;
+ }
}
public string Name
@@ -153,13 +181,6 @@ namespace MediaBrowser.Plugins.VuPlus
return GetService().DeleteRecordingAsync(id, cancellationToken);
}
- public async Task> GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
- {
- var result = await GetChannelItems(new InternalChannelItemQuery(), i => true, cancellationToken).ConfigureAwait(false);
-
- return result.Items.OrderByDescending(i => i.DateCreated ?? DateTimeOffset.MinValue);
- }
-
public Task GetChannelItems(InternalChannelItemQuery query, CancellationToken cancellationToken)
{
if (string.IsNullOrWhiteSpace(query.FolderId))