Add nullable annotations

This commit is contained in:
Joe Rogers 2021-12-05 21:43:59 +01:00
parent 8515e8fbd1
commit 6221991c63
No known key found for this signature in database
GPG key ID: 0074AD57B8FDBBB4

View file

@ -1,5 +1,3 @@
#nullable disable
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
@ -47,7 +45,7 @@ namespace MediaBrowser.Providers.Manager
/// </summary> /// </summary>
public class ProviderManager : IProviderManager, IDisposable public class ProviderManager : IProviderManager, IDisposable
{ {
private readonly object _refreshQueueLock = new object(); private readonly object _refreshQueueLock = new ();
private readonly ILogger<ProviderManager> _logger; private readonly ILogger<ProviderManager> _logger;
private readonly IHttpClientFactory _httpClientFactory; private readonly IHttpClientFactory _httpClientFactory;
private readonly ILibraryMonitor _libraryMonitor; private readonly ILibraryMonitor _libraryMonitor;
@ -57,11 +55,11 @@ namespace MediaBrowser.Providers.Manager
private readonly ISubtitleManager _subtitleManager; private readonly ISubtitleManager _subtitleManager;
private readonly IServerConfigurationManager _configurationManager; private readonly IServerConfigurationManager _configurationManager;
private readonly IBaseItemManager _baseItemManager; private readonly IBaseItemManager _baseItemManager;
private readonly ConcurrentDictionary<Guid, double> _activeRefreshes = new ConcurrentDictionary<Guid, double>(); private readonly ConcurrentDictionary<Guid, double> _activeRefreshes = new ();
private readonly CancellationTokenSource _disposeCancellationTokenSource = new CancellationTokenSource(); private readonly CancellationTokenSource _disposeCancellationTokenSource = new ();
private readonly SimplePriorityQueue<Tuple<Guid, MetadataRefreshOptions>> _refreshQueue = private readonly SimplePriorityQueue<Tuple<Guid, MetadataRefreshOptions>> _refreshQueue = new ();
new SimplePriorityQueue<Tuple<Guid, MetadataRefreshOptions>>();
private IImageProvider[] _imageProviders = Array.Empty<IImageProvider>();
private IMetadataService[] _metadataServices = Array.Empty<IMetadataService>(); private IMetadataService[] _metadataServices = Array.Empty<IMetadataService>();
private IMetadataProvider[] _metadataProviders = Array.Empty<IMetadataProvider>(); private IMetadataProvider[] _metadataProviders = Array.Empty<IMetadataProvider>();
private IMetadataSaver[] _savers = Array.Empty<IMetadataSaver>(); private IMetadataSaver[] _savers = Array.Empty<IMetadataSaver>();
@ -104,15 +102,13 @@ namespace MediaBrowser.Providers.Manager
} }
/// <inheritdoc/> /// <inheritdoc/>
public event EventHandler<GenericEventArgs<BaseItem>> RefreshStarted; public event EventHandler<GenericEventArgs<BaseItem>>? RefreshStarted;
/// <inheritdoc/> /// <inheritdoc/>
public event EventHandler<GenericEventArgs<BaseItem>> RefreshCompleted; public event EventHandler<GenericEventArgs<BaseItem>>? RefreshCompleted;
/// <inheritdoc/> /// <inheritdoc/>
public event EventHandler<GenericEventArgs<Tuple<BaseItem, double>>> RefreshProgress; public event EventHandler<GenericEventArgs<Tuple<BaseItem, double>>>? RefreshProgress;
private IImageProvider[] ImageProviders { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
public void AddParts( public void AddParts(
@ -122,8 +118,7 @@ namespace MediaBrowser.Providers.Manager
IEnumerable<IMetadataSaver> metadataSavers, IEnumerable<IMetadataSaver> metadataSavers,
IEnumerable<IExternalId> externalIds) IEnumerable<IExternalId> externalIds)
{ {
ImageProviders = imageProviders.ToArray(); _imageProviders = imageProviders.ToArray();
_metadataServices = metadataServices.OrderBy(i => i.Order).ToArray(); _metadataServices = metadataServices.OrderBy(i => i.Order).ToArray();
_metadataProviders = metadataProviders.ToArray(); _metadataProviders = metadataProviders.ToArray();
_externalIds = externalIds.OrderBy(i => i.ProviderName).ToArray(); _externalIds = externalIds.OrderBy(i => i.ProviderName).ToArray();
@ -313,7 +308,7 @@ namespace MediaBrowser.Providers.Manager
var typeOptions = libraryOptions.GetTypeOptions(item.GetType().Name); var typeOptions = libraryOptions.GetTypeOptions(item.GetType().Name);
var fetcherOrder = typeOptions?.ImageFetcherOrder ?? options.ImageFetcherOrder; var fetcherOrder = typeOptions?.ImageFetcherOrder ?? options.ImageFetcherOrder;
return ImageProviders.Where(i => CanRefresh(i, item, libraryOptions, refreshOptions, includeDisabled)) return _imageProviders.Where(i => CanRefresh(i, item, libraryOptions, refreshOptions, includeDisabled))
.OrderBy(i => GetConfiguredOrder(fetcherOrder, i.Name)) .OrderBy(i => GetConfiguredOrder(fetcherOrder, i.Name))
.ThenBy(GetOrder); .ThenBy(GetOrder);
} }
@ -758,7 +753,7 @@ namespace MediaBrowser.Providers.Manager
where TItemType : BaseItem, new() where TItemType : BaseItem, new()
where TLookupType : ItemLookupInfo where TLookupType : ItemLookupInfo
{ {
BaseItem referenceItem = null; BaseItem? referenceItem = null;
if (!searchInfo.ItemId.Equals(default)) if (!searchInfo.ItemId.Equals(default))
{ {
@ -768,7 +763,7 @@ namespace MediaBrowser.Providers.Manager
return GetRemoteSearchResults<TItemType, TLookupType>(searchInfo, referenceItem, cancellationToken); return GetRemoteSearchResults<TItemType, TLookupType>(searchInfo, referenceItem, cancellationToken);
} }
private async Task<IEnumerable<RemoteSearchResult>> GetRemoteSearchResults<TItemType, TLookupType>(RemoteSearchQuery<TLookupType> searchInfo, BaseItem referenceItem, CancellationToken cancellationToken) private async Task<IEnumerable<RemoteSearchResult>> GetRemoteSearchResults<TItemType, TLookupType>(RemoteSearchQuery<TLookupType> searchInfo, BaseItem? referenceItem, CancellationToken cancellationToken)
where TItemType : BaseItem, new() where TItemType : BaseItem, new()
where TLookupType : ItemLookupInfo where TLookupType : ItemLookupInfo
{ {
@ -930,7 +925,8 @@ namespace MediaBrowser.Providers.Manager
i.UrlFormatString, i.UrlFormatString,
value) value)
}; };
}).Where(i => i != null).Concat(item.GetRelatedUrls()); }).Where(i => i != null)
.Concat(item.GetRelatedUrls())!; // We just filtered out all the nulls
} }
/// <inheritdoc/> /// <inheritdoc/>