aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPatrick Barron <barronpm@gmail.com>2024-01-17 12:35:48 -0500
committerPatrick Barron <barronpm@gmail.com>2024-02-02 20:13:24 -0500
commit34269dee581b095fe63251aa0ffc1360375c989b (patch)
tree697a1d500d469e3bb69679202e3c37b312296a5c /src
parent775b7eadef0e36f88f9b4424ac3cd924406b38ca (diff)
Use DI for ILiveTvService
Diffstat (limited to 'src')
-rw-r--r--src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs1
-rw-r--r--src/Jellyfin.LiveTv/LiveTvManager.cs24
2 files changed, 8 insertions, 17 deletions
diff --git a/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs b/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs
index eb97ef3ee..a07325ad1 100644
--- a/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs
+++ b/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs
@@ -28,6 +28,7 @@ public static class LiveTvServiceCollectionExtensions
services.AddSingleton<ITunerHostManager, TunerHostManager>();
services.AddSingleton<IGuideManager, GuideManager>();
+ services.AddSingleton<ILiveTvService, EmbyTV.EmbyTV>();
services.AddSingleton<ITunerHost, HdHomerunHost>();
services.AddSingleton<ITunerHost, M3UTunerHost>();
services.AddSingleton<IListingsProvider, SchedulesDirect>();
diff --git a/src/Jellyfin.LiveTv/LiveTvManager.cs b/src/Jellyfin.LiveTv/LiveTvManager.cs
index 19a71a119..ef5283b98 100644
--- a/src/Jellyfin.LiveTv/LiveTvManager.cs
+++ b/src/Jellyfin.LiveTv/LiveTvManager.cs
@@ -47,10 +47,9 @@ namespace Jellyfin.LiveTv
private readonly ILocalizationManager _localization;
private readonly IChannelManager _channelManager;
private readonly LiveTvDtoService _tvDtoService;
+ private readonly ILiveTvService[] _services;
private readonly IListingsProvider[] _listingProviders;
- private ILiveTvService[] _services = Array.Empty<ILiveTvService>();
-
public LiveTvManager(
IServerConfigurationManager config,
ILogger<LiveTvManager> logger,
@@ -62,6 +61,7 @@ namespace Jellyfin.LiveTv
ILocalizationManager localization,
IChannelManager channelManager,
LiveTvDtoService liveTvDtoService,
+ IEnumerable<ILiveTvService> services,
IEnumerable<IListingsProvider> listingProviders)
{
_config = config;
@@ -74,7 +74,12 @@ namespace Jellyfin.LiveTv
_userDataManager = userDataManager;
_channelManager = channelManager;
_tvDtoService = liveTvDtoService;
+ _services = services.ToArray();
_listingProviders = listingProviders.ToArray();
+
+ var defaultService = _services.OfType<EmbyTV.EmbyTV>().First();
+ defaultService.TimerCreated += OnEmbyTvTimerCreated;
+ defaultService.TimerCancelled += OnEmbyTvTimerCancelled;
}
public event EventHandler<GenericEventArgs<TimerEventInfo>> SeriesTimerCancelled;
@@ -98,21 +103,6 @@ namespace Jellyfin.LiveTv
return EmbyTV.EmbyTV.Current.GetActiveRecordingPath(id);
}
- /// <inheritdoc />
- public void AddParts(IEnumerable<ILiveTvService> services)
- {
- _services = services.ToArray();
-
- foreach (var service in _services)
- {
- if (service is EmbyTV.EmbyTV embyTv)
- {
- embyTv.TimerCreated += OnEmbyTvTimerCreated;
- embyTv.TimerCancelled += OnEmbyTvTimerCancelled;
- }
- }
- }
-
private void OnEmbyTvTimerCancelled(object sender, GenericEventArgs<string> e)
{
var timerId = e.Argument;