diff options
| author | Patrick Barron <barronpm@gmail.com> | 2024-01-17 12:35:48 -0500 |
|---|---|---|
| committer | Patrick Barron <barronpm@gmail.com> | 2024-02-02 20:13:24 -0500 |
| commit | 34269dee581b095fe63251aa0ffc1360375c989b (patch) | |
| tree | 697a1d500d469e3bb69679202e3c37b312296a5c /src | |
| parent | 775b7eadef0e36f88f9b4424ac3cd924406b38ca (diff) | |
Use DI for ILiveTvService
Diffstat (limited to 'src')
| -rw-r--r-- | src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs | 1 | ||||
| -rw-r--r-- | src/Jellyfin.LiveTv/LiveTvManager.cs | 24 |
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; |
