aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Dlna/Ssdp/DeviceDiscovery.cs4
-rw-r--r--Emby.Server.Implementations/Activity/ActivityManager.cs5
-rw-r--r--Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs10
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs10
-rw-r--r--Emby.Server.Implementations/Collections/CollectionManager.cs15
-rw-r--r--Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs9
-rw-r--r--Emby.Server.Implementations/Devices/DeviceManager.cs5
-rw-r--r--Emby.Server.Implementations/HttpServer/HttpListenerHost.cs8
-rw-r--r--Emby.Server.Implementations/HttpServer/WebSocketConnection.cs3
-rw-r--r--Emby.Server.Implementations/IO/FileRefresher.cs7
-rw-r--r--Emby.Server.Implementations/Library/UserDataManager.cs10
-rw-r--r--Emby.Server.Implementations/Library/UserManager.cs18
-rw-r--r--Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs25
-rw-r--r--Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs16
-rw-r--r--Emby.Server.Implementations/LiveTv/LiveTvManager.cs25
-rw-r--r--Emby.Server.Implementations/News/NewsEntryPoint.cs279
-rw-r--r--Emby.Server.Implementations/News/NewsService.cs77
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs6
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/TaskManager.cs13
-rw-r--r--Emby.Server.Implementations/Session/SessionManager.cs20
-rw-r--r--Emby.Server.Implementations/SystemEvents.cs2
-rw-r--r--Emby.Server.Implementations/Updates/InstallationManager.cs18
-rw-r--r--Jellyfin.Server/SocketSharp/SharpWebSocket.cs9
-rw-r--r--MediaBrowser.Api/BaseApiService.cs3
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs2
-rw-r--r--MediaBrowser.Api/UserService.cs5
-rw-r--r--MediaBrowser.Common/Events/EventHelper.cs46
-rw-r--r--MediaBrowser.Controller/Authentication/IAuthenticationProvider.cs6
-rw-r--r--MediaBrowser.Controller/Chapters/IChapterManager.cs7
-rw-r--r--MediaBrowser.Controller/Collections/CollectionCreationOptions.cs4
-rw-r--r--MediaBrowser.Controller/Connect/IConnectManager.cs45
-rw-r--r--MediaBrowser.Controller/Dto/IDtoService.cs1
-rw-r--r--MediaBrowser.Controller/Entities/AggregateFolder.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs9
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs3
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs40
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs14
-rw-r--r--MediaBrowser.Controller/Entities/Game.cs12
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs66
-rw-r--r--MediaBrowser.Controller/Entities/InternalPeopleQuery.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Movies/BoxSet.cs19
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs9
-rw-r--r--MediaBrowser.Controller/Entities/MusicVideo.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Photo.cs5
-rw-r--r--MediaBrowser.Controller/Entities/TV/Episode.cs12
-rw-r--r--MediaBrowser.Controller/Entities/TV/Season.cs7
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs8
-rw-r--r--MediaBrowser.Controller/Entities/Trailer.cs9
-rw-r--r--MediaBrowser.Controller/Entities/UserView.cs19
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs28
-rw-r--r--MediaBrowser.Controller/Library/IUserDataManager.cs1
-rw-r--r--MediaBrowser.Controller/Library/ItemResolveArgs.cs8
-rw-r--r--MediaBrowser.Controller/LiveTv/LiveTvProgram.cs43
-rw-r--r--MediaBrowser.Controller/LiveTv/TimerInfo.cs4
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs33
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs10
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs1
-rw-r--r--MediaBrowser.Controller/MediaEncoding/MediaInfoRequest.cs2
-rw-r--r--MediaBrowser.Controller/Net/AuthorizationInfo.cs8
-rw-r--r--MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs2
-rw-r--r--MediaBrowser.Controller/Playlists/IPlaylistManager.cs1
-rw-r--r--MediaBrowser.Controller/Playlists/Playlist.cs29
-rw-r--r--MediaBrowser.Controller/Providers/AlbumInfo.cs4
-rw-r--r--MediaBrowser.Controller/Providers/ImageRefreshOptions.cs4
-rw-r--r--MediaBrowser.Controller/Providers/ItemLookupInfo.cs2
-rw-r--r--MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs4
-rw-r--r--MediaBrowser.Controller/Providers/MetadataResult.cs2
-rw-r--r--MediaBrowser.Controller/Providers/SongInfo.cs7
-rw-r--r--MediaBrowser.Controller/Session/AuthenticationRequest.cs2
-rw-r--r--MediaBrowser.Controller/Session/ISessionManager.cs1
-rw-r--r--MediaBrowser.Controller/Session/SessionInfo.cs8
-rw-r--r--MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs6
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs6
-rw-r--r--MediaBrowser.Model/Channels/ChannelFeatures.cs9
-rw-r--r--MediaBrowser.Model/Configuration/LibraryOptions.cs21
-rw-r--r--MediaBrowser.Model/Configuration/MetadataOptions.cs21
-rw-r--r--MediaBrowser.Model/Configuration/MetadataPluginSummary.cs8
-rw-r--r--MediaBrowser.Model/Configuration/ServerConfiguration.cs49
-rw-r--r--MediaBrowser.Model/Configuration/UserConfiguration.cs8
-rw-r--r--MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs17
-rw-r--r--MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs17
-rw-r--r--MediaBrowser.Model/Connect/ConnectAuthorization.cs4
-rw-r--r--MediaBrowser.Model/Connect/ConnectAuthorizationRequest.cs19
-rw-r--r--MediaBrowser.Model/Devices/DeviceInfo.cs16
-rw-r--r--MediaBrowser.Model/Devices/DeviceQuery.cs5
-rw-r--r--MediaBrowser.Model/Devices/DevicesOptions.cs5
-rw-r--r--MediaBrowser.Model/Dlna/ContainerProfile.cs8
-rw-r--r--MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs3
-rw-r--r--MediaBrowser.Model/Dlna/ResolutionNormalizer.cs37
-rw-r--r--MediaBrowser.Model/Dlna/StreamInfo.cs8
-rw-r--r--MediaBrowser.Model/Dlna/SubtitleProfile.cs4
-rw-r--r--MediaBrowser.Model/Dto/BaseItemDto.cs35
-rw-r--r--MediaBrowser.Model/Dto/ChapterInfoDto.cs38
-rw-r--r--MediaBrowser.Model/Dto/GameSystemSummary.cs5
-rw-r--r--MediaBrowser.Model/Dto/MediaSourceInfo.cs9
-rw-r--r--MediaBrowser.Model/Dto/MetadataEditorInfo.cs12
-rw-r--r--MediaBrowser.Model/Dto/UserDto.cs1
-rw-r--r--MediaBrowser.Model/Entities/LibraryUpdateInfo.cs12
-rw-r--r--MediaBrowser.Model/Entities/VirtualFolderInfo.cs2
-rw-r--r--MediaBrowser.Model/Globalization/CultureDto.cs2
-rw-r--r--MediaBrowser.Model/Library/UserViewQuery.cs2
-rw-r--r--MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs2
-rw-r--r--MediaBrowser.Model/LiveTv/LiveTvInfo.cs6
-rw-r--r--MediaBrowser.Model/LiveTv/LiveTvOptions.cs18
-rw-r--r--MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs2
-rw-r--r--MediaBrowser.Model/LiveTv/ProgramQuery.cs117
-rw-r--r--MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs73
-rw-r--r--MediaBrowser.Model/MediaInfo/MediaInfo.cs16
-rw-r--r--MediaBrowser.Model/MediaInfo/PlaybackInfoRequest.cs1
-rw-r--r--MediaBrowser.Model/Notifications/NotificationOption.cs20
-rw-r--r--MediaBrowser.Model/Notifications/NotificationRequest.cs3
-rw-r--r--MediaBrowser.Model/Notifications/NotificationServiceInfo.cs8
-rw-r--r--MediaBrowser.Model/Notifications/NotificationTypeInfo.cs16
-rw-r--r--MediaBrowser.Model/Playlists/PlaylistCreationRequest.cs5
-rw-r--r--MediaBrowser.Model/Providers/SubtitleOptions.cs4
-rw-r--r--MediaBrowser.Model/Querying/QueryFilters.cs12
-rw-r--r--MediaBrowser.Model/Search/SearchQuery.cs6
-rw-r--r--MediaBrowser.Model/Session/ClientCapabilities.cs6
-rw-r--r--MediaBrowser.Model/Session/SessionInfoDto.cs117
-rw-r--r--MediaBrowser.Model/Sync/SyncJob.cs4
-rw-r--r--MediaBrowser.Model/Users/UserPolicy.cs16
-rw-r--r--MediaBrowser.Providers/Chapters/ChapterManager.cs11
-rw-r--r--MediaBrowser.Providers/Subtitles/SubtitleManager.cs8
124 files changed, 417 insertions, 1604 deletions
diff --git a/Emby.Dlna/Ssdp/DeviceDiscovery.cs b/Emby.Dlna/Ssdp/DeviceDiscovery.cs
index 85dc4d94f..d91f711d2 100644
--- a/Emby.Dlna/Ssdp/DeviceDiscovery.cs
+++ b/Emby.Dlna/Ssdp/DeviceDiscovery.cs
@@ -119,7 +119,7 @@ namespace Emby.Dlna.Ssdp
}
};
- EventHelper.FireEventIfNotNull(DeviceDiscoveredInternal, this, args, _logger);
+ DeviceDiscoveredInternal?.Invoke(this, args);
}
private void _DeviceLocator_DeviceUnavailable(object sender, DeviceUnavailableEventArgs e)
@@ -139,7 +139,7 @@ namespace Emby.Dlna.Ssdp
}
};
- EventHelper.FireEventIfNotNull(DeviceLeft, this, args, _logger);
+ DeviceLeft?.Invoke(this, args);
}
public void Dispose()
diff --git a/Emby.Server.Implementations/Activity/ActivityManager.cs b/Emby.Server.Implementations/Activity/ActivityManager.cs
index b0c841397..0bb44a9d5 100644
--- a/Emby.Server.Implementations/Activity/ActivityManager.cs
+++ b/Emby.Server.Implementations/Activity/ActivityManager.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Activity;
using MediaBrowser.Model.Events;
using Microsoft.Extensions.Logging;
@@ -30,7 +29,7 @@ namespace Emby.Server.Implementations.Activity
_repo.Create(entry);
- EventHelper.FireEventIfNotNull(EntryCreated, this, new GenericEventArgs<ActivityLogEntry>(entry), _logger);
+ EntryCreated?.Invoke(this, new GenericEventArgs<ActivityLogEntry>(entry));
}
public QueryResult<ActivityLogEntry> GetActivityLogEntries(DateTime? minDate, bool? hasUserId, int? startIndex, int? limit)
diff --git a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
index fddf19893..bc5168fe8 100644
--- a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
+++ b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
@@ -283,12 +283,11 @@ namespace Emby.Server.Implementations.AppBase
validatingStore.Validate(currentConfiguration, configuration);
}
- EventHelper.FireEventIfNotNull(NamedConfigurationUpdating, this, new ConfigurationUpdateEventArgs
+ NamedConfigurationUpdating?.Invoke( this, new ConfigurationUpdateEventArgs
{
Key = key,
NewConfiguration = configuration
-
- }, Logger);
+ });
_configurations.AddOrUpdate(key, configuration, (k, v) => configuration);
@@ -305,12 +304,11 @@ namespace Emby.Server.Implementations.AppBase
protected virtual void OnNamedConfigurationUpdated(string key, object configuration)
{
- EventHelper.FireEventIfNotNull(NamedConfigurationUpdated, this, new ConfigurationUpdateEventArgs
+ NamedConfigurationUpdated?.Invoke(this, new ConfigurationUpdateEventArgs
{
Key = key,
NewConfiguration = configuration
-
- }, Logger);
+ });
}
public Type GetConfigurationType(string key)
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index ff6586ac1..236851968 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -966,9 +966,6 @@ namespace Emby.Server.Implementations
DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LoggerFactory.CreateLogger("DeviceManager"), NetworkManager);
RegisterSingleInstance(DeviceManager);
- var newsService = new Emby.Server.Implementations.News.NewsService(ApplicationPaths, JsonSerializer);
- RegisterSingleInstance<INewsService>(newsService);
-
MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory.CreateLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory, () => MediaEncoder);
RegisterSingleInstance(MediaSourceManager);
@@ -2268,7 +2265,7 @@ namespace Emby.Server.Implementations
if (fireEvent)
{
- EventHelper.FireEventIfNotNull(HasUpdateAvailableChanged, this, EventArgs.Empty, Logger);
+ HasUpdateAvailableChanged?.Invoke(this, EventArgs.Empty);
}
}
}
@@ -2384,11 +2381,10 @@ namespace Emby.Server.Implementations
{
Logger.LogInformation("Application has been updated to version {0}", package.versionStr);
- EventHelper.FireEventIfNotNull(ApplicationUpdated, this, new GenericEventArgs<PackageVersionInfo>
+ ApplicationUpdated?.Invoke(this, new GenericEventArgs<PackageVersionInfo>
{
Argument = package
-
- }, Logger);
+ });
NotifyPendingRestart();
}
diff --git a/Emby.Server.Implementations/Collections/CollectionManager.cs b/Emby.Server.Implementations/Collections/CollectionManager.cs
index d1afb0712..d1d793136 100644
--- a/Emby.Server.Implementations/Collections/CollectionManager.cs
+++ b/Emby.Server.Implementations/Collections/CollectionManager.cs
@@ -155,12 +155,11 @@ namespace Emby.Server.Implementations.Collections
_providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), RefreshPriority.High);
}
- EventHelper.FireEventIfNotNull(CollectionCreated, this, new CollectionCreatedEventArgs
+ CollectionCreated?.Invoke(this, new CollectionCreatedEventArgs
{
Collection = collection,
Options = options
-
- }, _logger);
+ });
return collection;
}
@@ -230,12 +229,11 @@ namespace Emby.Server.Implementations.Collections
if (fireEvent)
{
- EventHelper.FireEventIfNotNull(ItemsAddedToCollection, this, new CollectionModifiedEventArgs
+ ItemsAddedToCollection?.Invoke(this, new CollectionModifiedEventArgs
{
Collection = collection,
ItemsChanged = itemList
-
- }, _logger);
+ });
}
}
}
@@ -288,12 +286,11 @@ namespace Emby.Server.Implementations.Collections
ForceSave = true
}, RefreshPriority.High);
- EventHelper.FireEventIfNotNull(ItemsRemovedFromCollection, this, new CollectionModifiedEventArgs
+ ItemsRemovedFromCollection?.Invoke(this, new CollectionModifiedEventArgs
{
Collection = collection,
ItemsChanged = itemList
-
- }, _logger);
+ });
}
public IEnumerable<BaseItem> CollapseItemsWithinBoxSets(IEnumerable<BaseItem> items, User user)
diff --git a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs
index 26a7c421f..015421197 100644
--- a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs
+++ b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs
@@ -1,22 +1,15 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using Emby.Server.Implementations.AppBase;
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
-using MediaBrowser.Controller.Entities.Movies;
-using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
-using MediaBrowser.Model.Extensions;
namespace Emby.Server.Implementations.Configuration
{
@@ -143,7 +136,7 @@ namespace Emby.Server.Implementations.Configuration
ValidateMetadataPath(newConfig);
ValidateSslCertificate(newConfig);
- EventHelper.FireEventIfNotNull(ConfigurationUpdating, this, new GenericEventArgs<ServerConfiguration> { Argument = newConfig }, Logger);
+ ConfigurationUpdating?.Invoke(this, new GenericEventArgs<ServerConfiguration> { Argument = newConfig });
base.ReplaceConfiguration(newConfiguration);
}
diff --git a/Emby.Server.Implementations/Devices/DeviceManager.cs b/Emby.Server.Implementations/Devices/DeviceManager.cs
index 82df96d8b..f5314df6e 100644
--- a/Emby.Server.Implementations/Devices/DeviceManager.cs
+++ b/Emby.Server.Implementations/Devices/DeviceManager.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Devices;
using MediaBrowser.Controller.Library;
@@ -254,14 +253,14 @@ namespace Emby.Server.Implementations.Devices
if (CameraImageUploaded != null)
{
- EventHelper.FireEventIfNotNull(CameraImageUploaded, this, new GenericEventArgs<CameraImageUploadInfo>
+ CameraImageUploaded?.Invoke(this, new GenericEventArgs<CameraImageUploadInfo>
{
Argument = new CameraImageUploadInfo
{
Device = device,
FileInfo = file
}
- }, _logger);
+ });
}
}
diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
index 704b7f8a6..69ca0f85b 100644
--- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -8,7 +8,6 @@ using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
-using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -16,17 +15,12 @@ using Emby.Server.Implementations.Services;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Security;
using MediaBrowser.Controller;
-using MediaBrowser.Model.Cryptography;
using MediaBrowser.Model.Extensions;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Services;
-using MediaBrowser.Model.System;
using MediaBrowser.Model.Text;
using System.Net.Sockets;
using Emby.Server.Implementations.Net;
-using MediaBrowser.Common.Events;
using MediaBrowser.Model.Events;
namespace Emby.Server.Implementations.HttpServer
@@ -184,7 +178,7 @@ namespace Emby.Server.Implementations.HttpServer
if (WebSocketConnected != null)
{
- EventHelper.FireEventIfNotNull(WebSocketConnected, this, new GenericEventArgs<IWebSocketConnection>(connection), _logger);
+ WebSocketConnected?.Invoke(this, new GenericEventArgs<IWebSocketConnection>(connection));
}
}
diff --git a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs
index 8b5dfd444..914fa9dbc 100644
--- a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs
+++ b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs
@@ -1,5 +1,4 @@
using System.Text;
-using MediaBrowser.Common.Events;
using MediaBrowser.Controller.Net;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Net;
@@ -118,7 +117,7 @@ namespace Emby.Server.Implementations.HttpServer
void socket_Closed(object sender, EventArgs e)
{
- EventHelper.FireEventIfNotNull(Closed, this, EventArgs.Empty, _logger);
+ Closed?.Invoke(this, EventArgs.Empty);
}
/// <summary>
diff --git a/Emby.Server.Implementations/IO/FileRefresher.cs b/Emby.Server.Implementations/IO/FileRefresher.cs
index df484d04c..34c711324 100644
--- a/Emby.Server.Implementations/IO/FileRefresher.cs
+++ b/Emby.Server.Implementations/IO/FileRefresher.cs
@@ -2,14 +2,9 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
using MediaBrowser.Model.IO;
-using MediaBrowser.Common.Events;
-using MediaBrowser.Common.Progress;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Extensions;
using Microsoft.Extensions.Logging;
@@ -133,7 +128,7 @@ namespace Emby.Server.Implementations.IO
Logger.LogDebug("Timer stopped.");
DisposeTimer();
- EventHelper.FireEventIfNotNull(Completed, this, EventArgs.Empty, Logger);
+ Completed?.Invoke(this, EventArgs.Empty);
try
{
diff --git a/Emby.Server.Implementations/Library/UserDataManager.cs b/Emby.Server.Implementations/Library/UserDataManager.cs
index 62371799b..27ba32c0c 100644
--- a/Emby.Server.Implementations/Library/UserDataManager.cs
+++ b/Emby.Server.Implementations/Library/UserDataManager.cs
@@ -1,7 +1,5 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Dto;
@@ -11,7 +9,6 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
-using System.Threading.Tasks;
using MediaBrowser.Controller.Dto;
using System.Globalization;
@@ -77,15 +74,14 @@ namespace Emby.Server.Implementations.Library
var cacheKey = GetCacheKey(userId, item.Id);
_userData.AddOrUpdate(cacheKey, userData, (k, v) => userData);
- EventHelper.FireEventIfNotNull(UserDataSaved, this, new UserDataSaveEventArgs
+ UserDataSaved?.Invoke(this, new UserDataSaveEventArgs
{
Keys = keys,
UserData = userData,
SaveReason = reason,
UserId = user.Id,
Item = item
-
- }, _logger);
+ });
}
/// <summary>
diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs
index ae3577b7d..679116fc0 100644
--- a/Emby.Server.Implementations/Library/UserManager.cs
+++ b/Emby.Server.Implementations/Library/UserManager.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Connect;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
@@ -135,7 +134,7 @@ namespace Emby.Server.Implementations.Library
/// <param name="user">The user.</param>
private void OnUserUpdated(User user)
{
- EventHelper.FireEventIfNotNull(UserUpdated, this, new GenericEventArgs<User> { Argument = user }, _logger);
+ UserUpdated?.Invoke(this, new GenericEventArgs<User> { Argument = user });
}
#endregion
@@ -150,7 +149,7 @@ namespace Emby.Server.Implementations.Library
/// <param name="user">The user.</param>
private void OnUserDeleted(User user)
{
- EventHelper.FireEventIfNotNull(UserDeleted, this, new GenericEventArgs<User> { Argument = user }, _logger);
+ UserDeleted?.Invoke(this, new GenericEventArgs<User> { Argument = user });
}
#endregion
@@ -471,10 +470,7 @@ namespace Emby.Server.Implementations.Library
if (fireLockout)
{
- if (UserLockedOut != null)
- {
- EventHelper.FireEventIfNotNull(UserLockedOut, this, new GenericEventArgs<User>(user), _logger);
- }
+ UserLockedOut?.Invoke(this, new GenericEventArgs<User>(user));
}
}
}
@@ -820,7 +816,7 @@ namespace Emby.Server.Implementations.Library
UpdateUser(user);
- EventHelper.FireEventIfNotNull(UserPasswordChanged, this, new GenericEventArgs<User>(user), _logger);
+ UserPasswordChanged?.Invoke(this, new GenericEventArgs<User>(user));
}
public void ChangeEasyPassword(User user, string newPassword, string newPasswordHash)
@@ -844,7 +840,7 @@ namespace Emby.Server.Implementations.Library
UpdateUser(user);
- EventHelper.FireEventIfNotNull(UserPasswordChanged, this, new GenericEventArgs<User>(user), _logger);
+ UserPasswordChanged?.Invoke(this, new GenericEventArgs<User>(user));
}
/// <summary>
@@ -1088,7 +1084,7 @@ namespace Emby.Server.Implementations.Library
if (fireEvent)
{
- EventHelper.FireEventIfNotNull(UserPolicyUpdated, this, new GenericEventArgs<User> { Argument = user }, _logger);
+ UserPolicyUpdated?.Invoke(this, new GenericEventArgs<User> { Argument = user });
}
}
@@ -1183,7 +1179,7 @@ namespace Emby.Server.Implementations.Library
if (fireEvent)
{
- EventHelper.FireEventIfNotNull(UserConfigurationUpdated, this, new GenericEventArgs<User> { Argument = user }, _logger);
+ UserConfigurationUpdated?.Invoke(this, new GenericEventArgs<User> { Argument = user });
}
}
}
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
index ef96510bd..59f9fe86f 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
+++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
@@ -1,9 +1,16 @@
-using MediaBrowser.Common;
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Xml;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Security;
using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.MediaEncoding;
@@ -14,25 +21,13 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
-using System;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Xml;
using MediaBrowser.Model.IO;
-using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Progress;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.IO;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.System;
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
index 5618579f6..76a044c02 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
+++ b/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
@@ -1,15 +1,11 @@
-using MediaBrowser.Common.Events;
+using System;
+using System.Collections.Concurrent;
+using System.Globalization;
+using System.Linq;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.Events;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
-using System;
-using System.Collections.Concurrent;
-using System.Globalization;
-using System.Linq;
-using System.Threading;
-
-using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Threading;
@@ -122,7 +118,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
if (startDate < now)
{
- EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs<TimerInfo> { Argument = item }, base.Logger);
+ TimerFired?.Invoke(this, new GenericEventArgs<TimerInfo> { Argument = item });
return;
}
@@ -178,7 +174,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
var timer = GetAll().FirstOrDefault(i => string.Equals(i.Id, timerId, StringComparison.OrdinalIgnoreCase));
if (timer != null)
{
- EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs<TimerInfo> { Argument = timer }, base.Logger);
+ TimerFired?.Invoke(this, new GenericEventArgs<TimerInfo> { Argument = timer });
}
}
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
index a4ffbd2fe..b597a935a 100644
--- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
+++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
@@ -22,7 +22,6 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.IO;
-using MediaBrowser.Common.Events;
using MediaBrowser.Common.Security;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
@@ -144,13 +143,13 @@ namespace Emby.Server.Implementations.LiveTv
{
var timerId = e.Argument;
- EventHelper.FireEventIfNotNull(TimerCancelled, this, new GenericEventArgs<TimerEventInfo>
+ TimerCancelled?.Invoke(this, new GenericEventArgs<TimerEventInfo>
{
Argument = new TimerEventInfo
{
Id = timerId
}
- }, _logger);
+ });
}
private void EmbyTv_TimerCreated(object sender, GenericEventArgs<TimerInfo> e)
@@ -158,14 +157,14 @@ namespace Emby.Server.Implementations.LiveTv
var timer = e.Argument;
var service = sender as ILiveTvService;
- EventHelper.FireEventIfNotNull(TimerCreated, this, new GenericEventArgs<TimerEventInfo>
+ TimerCreated?.Invoke(this, new GenericEventArgs<TimerEventInfo>
{
Argument = new TimerEventInfo
{
ProgramId = _tvDtoService.GetInternalProgramId(timer.ProgramId),
Id = timer.Id
}
- }, _logger);
+ });
}
public ITunerHost[] TunerHosts
@@ -1734,13 +1733,13 @@ namespace Emby.Server.Implementations.LiveTv
if (!(service is EmbyTV.EmbyTV))
{
- EventHelper.FireEventIfNotNull(TimerCancelled, this, new GenericEventArgs<TimerEventInfo>
+ TimerCancelled?.Invoke(this, new GenericEventArgs<TimerEventInfo>
{
Argument = new TimerEventInfo
{
Id = id
}
- }, _logger);
+ });
}
}
@@ -1757,13 +1756,13 @@ namespace Emby.Server.Implementations.LiveTv
await service.CancelSeriesTimerAsync(timer.ExternalId, CancellationToken.None).ConfigureAwait(false);
- EventHelper.FireEventIfNotNull(SeriesTimerCancelled, this, new GenericEventArgs<TimerEventInfo>
+ SeriesTimerCancelled?.Invoke(this, new GenericEventArgs<TimerEventInfo>
{
Argument = new TimerEventInfo
{
Id = id
}
- }, _logger);
+ });
}
public async Task<TimerInfoDto> GetTimer(string id, CancellationToken cancellationToken)
@@ -2083,14 +2082,14 @@ namespace Emby.Server.Implementations.LiveTv
if (!(service is EmbyTV.EmbyTV))
{
- EventHelper.FireEventIfNotNull(TimerCreated, this, new GenericEventArgs<TimerEventInfo>
+ TimerCreated?.Invoke(this, new GenericEventArgs<TimerEventInfo>
{
Argument = new TimerEventInfo
{
ProgramId = _tvDtoService.GetInternalProgramId(info.ProgramId),
Id = newTimerId
}
- }, _logger);
+ });
}
}
@@ -2123,14 +2122,14 @@ namespace Emby.Server.Implementations.LiveTv
await service.CreateSeriesTimerAsync(info, cancellationToken).ConfigureAwait(false);
}
- EventHelper.FireEventIfNotNull(SeriesTimerCreated, this, new GenericEventArgs<TimerEventInfo>
+ SeriesTimerCreated?.Invoke(this, new GenericEventArgs<TimerEventInfo>
{
Argument = new TimerEventInfo
{
ProgramId = _tvDtoService.GetInternalProgramId(info.ProgramId),
Id = newTimerId
}
- }, _logger);
+ });
}
public async Task UpdateTimer(TimerInfoDto timer, CancellationToken cancellationToken)
diff --git a/Emby.Server.Implementations/News/NewsEntryPoint.cs b/Emby.Server.Implementations/News/NewsEntryPoint.cs
deleted file mode 100644
index ce6fe6630..000000000
--- a/Emby.Server.Implementations/News/NewsEntryPoint.cs
+++ /dev/null
@@ -1,279 +0,0 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Notifications;
-using MediaBrowser.Controller.Plugins;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.News;
-using MediaBrowser.Model.Notifications;
-using MediaBrowser.Model.Serialization;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Xml;
-using MediaBrowser.Common.Progress;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Threading;
-
-namespace Emby.Server.Implementations.News
-{
- public class NewsEntryPoint : IServerEntryPoint
- {
- private ITimer _timer;
- private readonly IHttpClient _httpClient;
- private readonly IApplicationPaths _appPaths;
- private readonly IFileSystem _fileSystem;
- private readonly ILogger _logger;
- private readonly IJsonSerializer _json;
-
- private readonly INotificationManager _notifications;
- private readonly IUserManager _userManager;
-
- private readonly TimeSpan _frequency = TimeSpan.FromHours(24);
- private readonly ITimerFactory _timerFactory;
-
- public NewsEntryPoint(IHttpClient httpClient, IApplicationPaths appPaths, IFileSystem fileSystem, ILogger logger, IJsonSerializer json, INotificationManager notifications, IUserManager userManager, ITimerFactory timerFactory)
- {
- _httpClient = httpClient;
- _appPaths = appPaths;
- _fileSystem = fileSystem;
- _logger = logger;
- _json = json;
- _notifications = notifications;
- _userManager = userManager;
- _timerFactory = timerFactory;
- }
-
- public void Run()
- {
- _timer = _timerFactory.Create(OnTimerFired, null, TimeSpan.FromMilliseconds(500), _frequency);
- }
-
- /// <summary>
- /// Called when [timer fired].
- /// </summary>
- /// <param name="state">The state.</param>
- private async void OnTimerFired(object state)
- {
- var path = Path.Combine(_appPaths.CachePath, "news.json");
-
- try
- {
- await DownloadNews(path).ConfigureAwait(false);
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Error downloading news");
- }
- }
-
- private async Task DownloadNews(string path)
- {
- DateTime? lastUpdate = null;
-
- if (_fileSystem.FileExists(path))
- {
- lastUpdate = _fileSystem.GetLastWriteTimeUtc(path);
- }
-
- var requestOptions = new HttpRequestOptions
- {
- Url = "https://github.com/jellyfin/jellyfin",
- Progress = new SimpleProgress<double>(),
- UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.42 Safari/537.36",
- BufferContent = false
- };
-
- using (var response = await _httpClient.SendAsync(requestOptions, "GET").ConfigureAwait(false))
- {
- using (var stream = response.Content)
- {
- using (var reader = XmlReader.Create(stream))
- {
- var news = ParseRssItems(reader).ToList();
-
- _json.SerializeToFile(news, path);
-
- await CreateNotifications(news, lastUpdate, CancellationToken.None).ConfigureAwait(false);
- }
- }
- }
- }
-
- private Task CreateNotifications(List<NewsItem> items, DateTime? lastUpdate, CancellationToken cancellationToken)
- {
- if (lastUpdate.HasValue)
- {
- items = items.Where(i => i.Date.ToUniversalTime() >= lastUpdate.Value)
- .ToList();
- }
-
- var tasks = items.Select(i => _notifications.SendNotification(new NotificationRequest
- {
- Date = i.Date,
- Name = i.Title,
- Description = i.Description,
- Url = i.Link,
- UserIds = _userManager.Users.Select(u => u.Id).ToArray()
-
- }, cancellationToken));
-
- return Task.WhenAll(tasks);
- }
-
- private IEnumerable<NewsItem> ParseRssItems(XmlReader reader)
- {
- reader.MoveToContent();
- reader.Read();
-
- while (!reader.EOF && reader.ReadState == ReadState.Interactive)
- {
- if (reader.NodeType == XmlNodeType.Element)
- {
- switch (reader.Name)
- {
- case "channel":
- {
- if (!reader.IsEmptyElement)
- {
- using (var subReader = reader.ReadSubtree())
- {
- return ParseFromChannelNode(subReader);
- }
- }
- else
- {
- reader.Read();
- }
- break;
- }
- default:
- {
- reader.Skip();
- break;
- }
- }
- }
- else
- {
- reader.Read();
- }
- }
-
- return new List<NewsItem>();
- }
-
- private IEnumerable<NewsItem> ParseFromChannelNode(XmlReader reader)
- {
- var list = new List<NewsItem>();
-
- reader.MoveToContent();
- reader.Read();
-
- while (!reader.EOF && reader.ReadState == ReadState.Interactive)
- {
- if (reader.NodeType == XmlNodeType.Element)
- {
- switch (reader.Name)
- {
- case "item":
- {
- if (!reader.IsEmptyElement)
- {
- using (var subReader = reader.ReadSubtree())
- {
- list.Add(ParseItem(subReader));
- }
- }
- else
- {
- reader.Read();
- }
- break;
- }
- default:
- {
- reader.Skip();
- break;
- }
- }
- }
- else
- {
- reader.Read();
- }
- }
-
- return list;
- }
-
- private NewsItem ParseItem(XmlReader reader)
- {
- var item = new NewsItem();
-
- reader.MoveToContent();
- reader.Read();
-
- while (!reader.EOF && reader.ReadState == ReadState.Interactive)
- {
- if (reader.NodeType == XmlNodeType.Element)
- {
- switch (reader.Name)
- {
- case "title":
- {
- item.Title = reader.ReadElementContentAsString();
- break;
- }
- case "link":
- {
- item.Link = reader.ReadElementContentAsString();
- break;
- }
- case "description":
- {
- item.DescriptionHtml = reader.ReadElementContentAsString();
- item.Description = item.DescriptionHtml.StripHtml();
- break;
- }
- case "pubDate":
- {
- var date = reader.ReadElementContentAsString();
- DateTime parsedDate;
-
- if (DateTime.TryParse(date, out parsedDate))
- {
- item.Date = parsedDate;
- }
- break;
- }
- default:
- {
- reader.Skip();
- break;
- }
- }
- }
- else
- {
- reader.Read();
- }
- }
-
- return item;
- }
-
- public void Dispose()
- {
- if (_timer != null)
- {
- _timer.Dispose();
- _timer = null;
- }
- }
- }
-}
diff --git a/Emby.Server.Implementations/News/NewsService.cs b/Emby.Server.Implementations/News/NewsService.cs
deleted file mode 100644
index 80e799634..000000000
--- a/Emby.Server.Implementations/News/NewsService.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Model.News;
-using MediaBrowser.Model.Querying;
-using MediaBrowser.Model.Serialization;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-
-namespace Emby.Server.Implementations.News
-{
- public class NewsService : INewsService
- {
- private readonly IApplicationPaths _appPaths;
- private readonly IJsonSerializer _json;
-
- public NewsService(IApplicationPaths appPaths, IJsonSerializer json)
- {
- _appPaths = appPaths;
- _json = json;
- }
-
- public QueryResult<NewsItem> GetProductNews(NewsQuery query)
- {
- try
- {
- return GetProductNewsInternal(query);
- }
- catch (FileNotFoundException)
- {
- // No biggie
- return new QueryResult<NewsItem>
- {
- Items = new NewsItem[] { }
- };
- }
- catch (IOException)
- {
- // No biggie
- return new QueryResult<NewsItem>
- {
- Items = new NewsItem[] { }
- };
- }
- }
-
- private QueryResult<NewsItem> GetProductNewsInternal(NewsQuery query)
- {
- var path = Path.Combine(_appPaths.CachePath, "news.json");
-
- var items = GetNewsItems(path).OrderByDescending(i => i.Date);
-
- var itemsArray = items.ToArray();
- var count = itemsArray.Length;
-
- if (query.StartIndex.HasValue)
- {
- itemsArray = itemsArray.Skip(query.StartIndex.Value).ToArray();
- }
-
- if (query.Limit.HasValue)
- {
- itemsArray = itemsArray.Take(query.Limit.Value).ToArray();
- }
-
- return new QueryResult<NewsItem>
- {
- Items = itemsArray,
- TotalRecordCount = count
- };
- }
-
- private IEnumerable<NewsItem> GetNewsItems(string path)
- {
- return _json.DeserializeFromFile<List<NewsItem>>(path);
- }
- }
-}
diff --git a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
index 7c2ce4af3..0bebca8fc 100644
--- a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
@@ -5,7 +5,6 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Progress;
using MediaBrowser.Model.Events;
@@ -465,11 +464,10 @@ namespace Emby.Server.Implementations.ScheduledTasks
CurrentProgress = e;
- EventHelper.FireEventIfNotNull(TaskProgress, this, new GenericEventArgs<double>
+ TaskProgress?.Invoke(this, new GenericEventArgs<double>
{
Argument = e
-
- }, Logger);
+ });
}
/// <summary>
diff --git a/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs
index 0322583dc..361c31acb 100644
--- a/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs
@@ -1,17 +1,16 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.System;
using MediaBrowser.Model.Tasks;
-using System.IO;
namespace Emby.Server.Implementations.ScheduledTasks
{
@@ -331,11 +330,10 @@ namespace Emby.Server.Implementations.ScheduledTasks
/// <param name="task">The task.</param>
internal void OnTaskExecuting(IScheduledTaskWorker task)
{
- EventHelper.FireEventIfNotNull(TaskExecuting, this, new GenericEventArgs<IScheduledTaskWorker>
+ TaskExecuting?.Invoke(this, new GenericEventArgs<IScheduledTaskWorker>
{
Argument = task
-
- }, Logger);
+ });
}
/// <summary>
@@ -345,12 +343,11 @@ namespace Emby.Server.Implementations.ScheduledTasks
/// <param name="result">The result.</param>
internal void OnTaskCompleted(IScheduledTaskWorker task, TaskResult result)
{
- EventHelper.FireEventIfNotNull(TaskCompleted, task, new TaskCompletionEventArgs
+ TaskCompleted?.Invoke(task, new TaskCompletionEventArgs
{
Result = result,
Task = task
-
- }, Logger);
+ });
ExecuteQueuedTasks();
}
diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs
index 2b2b3c677..419c24f13 100644
--- a/Emby.Server.Implementations/Session/SessionManager.cs
+++ b/Emby.Server.Implementations/Session/SessionManager.cs
@@ -18,7 +18,6 @@ using MediaBrowser.Model.Library;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Session;
-using MediaBrowser.Model.Users;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@@ -255,11 +254,10 @@ namespace Emby.Server.Implementations.Session
if ((activityDate - lastActivityDate).TotalSeconds > 10)
{
- EventHelper.FireEventIfNotNull(SessionActivity, this, new SessionEventArgs
+ SessionActivity?.Invoke(this, new SessionEventArgs
{
SessionInfo = session
-
- }, _logger);
+ });
}
return session;
@@ -693,7 +691,7 @@ namespace Emby.Server.Implementations.Session
}
}
- EventHelper.FireEventIfNotNull(PlaybackProgress, this, new PlaybackProgressEventArgs
+ PlaybackProgress?.Invoke(this, new PlaybackProgressEventArgs
{
Item = libraryItem,
Users = users,
@@ -707,8 +705,7 @@ namespace Emby.Server.Implementations.Session
PlaySessionId = info.PlaySessionId,
IsAutomated = isAutomated,
Session = session
-
- }, _logger);
+ });
if (!isAutomated)
{
@@ -1399,7 +1396,7 @@ namespace Emby.Server.Implementations.Session
if (result == null)
{
- EventHelper.FireEventIfNotNull(AuthenticationFailed, this, new GenericEventArgs<AuthenticationRequest>(request), _logger);
+ AuthenticationFailed?.Invoke(this, new GenericEventArgs<AuthenticationRequest>(request));
throw new SecurityException("Invalid user or password entered.");
}
@@ -1424,7 +1421,7 @@ namespace Emby.Server.Implementations.Session
ServerId = _appHost.SystemId
};
- EventHelper.FireEventIfNotNull(AuthenticationSucceeded, this, new GenericEventArgs<AuthenticationResult>(returnResult), _logger);
+ AuthenticationSucceeded?.Invoke(this, new GenericEventArgs<AuthenticationResult>(returnResult));
return returnResult;
}
@@ -1587,11 +1584,10 @@ namespace Emby.Server.Implementations.Session
if (saveCapabilities)
{
- EventHelper.FireEventIfNotNull(CapabilitiesChanged, this, new SessionEventArgs
+ CapabilitiesChanged?.Invoke(this, new SessionEventArgs
{
SessionInfo = session
-
- }, _logger);
+ });
try
{
diff --git a/Emby.Server.Implementations/SystemEvents.cs b/Emby.Server.Implementations/SystemEvents.cs
index f39d63002..578338aee 100644
--- a/Emby.Server.Implementations/SystemEvents.cs
+++ b/Emby.Server.Implementations/SystemEvents.cs
@@ -1,6 +1,6 @@
using System;
-using Microsoft.Extensions.Logging;
using MediaBrowser.Model.System;
+using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations
{
diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs
index 27741863b..82b61c15a 100644
--- a/Emby.Server.Implementations/Updates/InstallationManager.cs
+++ b/Emby.Server.Implementations/Updates/InstallationManager.cs
@@ -7,7 +7,6 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common;
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.Progress;
@@ -60,7 +59,7 @@ namespace Emby.Server.Implementations.Updates
/// <param name="plugin">The plugin.</param>
private void OnPluginUninstalled(IPlugin plugin)
{
- EventHelper.FireEventIfNotNull(PluginUninstalled, this, new GenericEventArgs<IPlugin> { Argument = plugin }, _logger);
+ PluginUninstalled?.Invoke(this, new GenericEventArgs<IPlugin> { Argument = plugin });
}
#endregion
@@ -78,7 +77,7 @@ namespace Emby.Server.Implementations.Updates
{
_logger.LogInformation("Plugin updated: {0} {1} {2}", newVersion.name, newVersion.versionStr ?? string.Empty, newVersion.classification);
- EventHelper.FireEventIfNotNull(PluginUpdated, this, new GenericEventArgs<Tuple<IPlugin, PackageVersionInfo>> { Argument = new Tuple<IPlugin, PackageVersionInfo>(plugin, newVersion) }, _logger);
+ PluginUpdated?.Invoke(this, new GenericEventArgs<Tuple<IPlugin, PackageVersionInfo>> { Argument = new Tuple<IPlugin, PackageVersionInfo>(plugin, newVersion) });
_applicationHost.NotifyPendingRestart();
}
@@ -97,7 +96,7 @@ namespace Emby.Server.Implementations.Updates
{
_logger.LogInformation("New plugin installed: {0} {1} {2}", package.name, package.versionStr ?? string.Empty, package.classification);
- EventHelper.FireEventIfNotNull(PluginInstalled, this, new GenericEventArgs<PackageVersionInfo> { Argument = package }, _logger);
+ PluginInstalled?.Invoke(this, new GenericEventArgs<PackageVersionInfo> { Argument = package });
_applicationHost.NotifyPendingRestart();
}
@@ -469,7 +468,7 @@ namespace Emby.Server.Implementations.Updates
PackageVersionInfo = package
};
- EventHelper.FireEventIfNotNull(PackageInstalling, this, installationEventArgs, _logger);
+ PackageInstalling?.Invoke(this, installationEventArgs);
try
{
@@ -482,7 +481,7 @@ namespace Emby.Server.Implementations.Updates
CompletedInstallationsInternal.Add(installationInfo);
- EventHelper.FireEventIfNotNull(PackageInstallationCompleted, this, installationEventArgs, _logger);
+ PackageInstallationCompleted?.Invoke(this, installationEventArgs);
}
catch (OperationCanceledException)
{
@@ -493,7 +492,7 @@ namespace Emby.Server.Implementations.Updates
_logger.LogInformation("Package installation cancelled: {0} {1}", package.name, package.versionStr);
- EventHelper.FireEventIfNotNull(PackageInstallationCancelled, this, installationEventArgs, _logger);
+ PackageInstallationCancelled?.Invoke(this, installationEventArgs);
throw;
}
@@ -506,12 +505,11 @@ namespace Emby.Server.Implementations.Updates
CurrentInstallations.Remove(tuple);
}
- EventHelper.FireEventIfNotNull(PackageInstallationFailed, this, new InstallationFailedEventArgs
+ PackageInstallationFailed?.Invoke(this, new InstallationFailedEventArgs
{
InstallationInfo = installationInfo,
Exception = ex
-
- }, _logger);
+ });
throw;
}
diff --git a/Jellyfin.Server/SocketSharp/SharpWebSocket.cs b/Jellyfin.Server/SocketSharp/SharpWebSocket.cs
index 1c72035a5..77de50267 100644
--- a/Jellyfin.Server/SocketSharp/SharpWebSocket.cs
+++ b/Jellyfin.Server/SocketSharp/SharpWebSocket.cs
@@ -1,9 +1,8 @@
-using System;
+using System;
using System.Threading;
using System.Threading.Tasks;
using System.Net.WebSockets;
using Emby.Server.Implementations.Net;
-using MediaBrowser.Common.Events;
using Microsoft.Extensions.Logging;
namespace Jellyfin.SocketSharp
@@ -55,15 +54,15 @@ namespace Jellyfin.SocketSharp
void socket_OnError(object sender, SocketHttpListener.ErrorEventArgs e)
{
- _logger.LogError("Error in SharpWebSocket: {0}", e.Message ?? string.Empty);
- //EventHelper.FireEventIfNotNull(Closed, this, EventArgs.Empty, _logger);
+ _logger.LogError("Error in SharpWebSocket: {Message}", e.Message ?? string.Empty);
+ //Closed?.Invoke(this, EventArgs.Empty);
}
void socket_OnClose(object sender, SocketHttpListener.CloseEventArgs e)
{
_taskCompletionSource.TrySetResult(true);
- EventHelper.FireEventIfNotNull(Closed, this, EventArgs.Empty, _logger);
+ Closed?.Invoke(this, EventArgs.Empty);
}
void socket_OnMessage(object sender, SocketHttpListener.MessageEventArgs e)
diff --git a/MediaBrowser.Api/BaseApiService.cs b/MediaBrowser.Api/BaseApiService.cs
index 07b8185c5..ed31cbd1d 100644
--- a/MediaBrowser.Api/BaseApiService.cs
+++ b/MediaBrowser.Api/BaseApiService.cs
@@ -55,12 +55,11 @@ namespace MediaBrowser.Api
return Request.Headers[name];
}
- private static readonly string[] EmptyStringArray = Array.Empty<string>();
public static string[] SplitValue(string value, char delim)
{
if (string.IsNullOrWhiteSpace(value))
{
- return EmptyStringArray;
+ return Array.Empty<string>();
}
return value.Split(new[] { delim }, StringSplitOptions.RemoveEmptyEntries);
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index af56f6382..28e75bf55 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -686,7 +686,7 @@ namespace MediaBrowser.Api.Playback
};
var auth = AuthorizationContext.GetAuthorizationInfo(Request);
- if (auth.UserId != null)
+ if (!auth.UserId.Equals(Guid.Empty))
{
state.User = UserManager.GetUserById(auth.UserId);
}
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index 29f3070a5..913a55b2b 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller.Authentication;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Devices;
@@ -10,11 +11,9 @@ using MediaBrowser.Model.Connect;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Users;
using System;
-using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Model.Services;
-using MediaBrowser.Controller.Authentication;
namespace MediaBrowser.Api
{
diff --git a/MediaBrowser.Common/Events/EventHelper.cs b/MediaBrowser.Common/Events/EventHelper.cs
index 04a2270e3..2630ce7da 100644
--- a/MediaBrowser.Common/Events/EventHelper.cs
+++ b/MediaBrowser.Common/Events/EventHelper.cs
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
namespace MediaBrowser.Common.Events
{
+ // TODO: @bond Remove
/// <summary>
/// Class EventHelper
/// </summary>
@@ -59,50 +60,5 @@ namespace MediaBrowser.Common.Events
});
}
}
-
- /// <summary>
- /// Fires the event.
- /// </summary>
- /// <param name="handler">The handler.</param>
- /// <param name="sender">The sender.</param>
- /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
- /// <param name="logger">The logger.</param>
- public static void FireEventIfNotNull(EventHandler handler, object sender, EventArgs args, ILogger logger)
- {
- if (handler != null)
- {
- try
- {
- handler(sender, args);
- }
- catch (Exception ex)
- {
- logger.LogError(ex, "Error in event handler");
- }
- }
- }
-
- /// <summary>
- /// Fires the event.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="handler">The handler.</param>
- /// <param name="sender">The sender.</param>
- /// <param name="args">The args.</param>
- /// <param name="logger">The logger.</param>
- public static void FireEventIfNotNull<T>(EventHandler<T> handler, object sender, T args, ILogger logger)
- {
- if (handler != null)
- {
- try
- {
- handler(sender, args);
- }
- catch (Exception ex)
- {
- logger.LogError(ex, "Error in event handler");
- }
- }
- }
}
}
diff --git a/MediaBrowser.Controller/Authentication/IAuthenticationProvider.cs b/MediaBrowser.Controller/Authentication/IAuthenticationProvider.cs
index becb3ea62..82308296f 100644
--- a/MediaBrowser.Controller/Authentication/IAuthenticationProvider.cs
+++ b/MediaBrowser.Controller/Authentication/IAuthenticationProvider.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
+using System.Threading.Tasks;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Users;
diff --git a/MediaBrowser.Controller/Chapters/IChapterManager.cs b/MediaBrowser.Controller/Chapters/IChapterManager.cs
index 2a20eb365..161e87094 100644
--- a/MediaBrowser.Controller/Chapters/IChapterManager.cs
+++ b/MediaBrowser.Controller/Chapters/IChapterManager.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using System.Threading.Tasks;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Chapters
@@ -10,12 +9,6 @@ namespace MediaBrowser.Controller.Chapters
public interface IChapterManager
{
/// <summary>
- /// Gets the chapters.
- /// </summary>
- /// <param name="itemId">The item identifier.</param>
- /// <returns>List{ChapterInfo}.</returns>
-
- /// <summary>
/// Saves the chapters.
/// </summary>
void SaveChapters(string itemId, List<ChapterInfo> chapters);
diff --git a/MediaBrowser.Controller/Collections/CollectionCreationOptions.cs b/MediaBrowser.Controller/Collections/CollectionCreationOptions.cs
index 727b487a7..5363e035c 100644
--- a/MediaBrowser.Controller/Collections/CollectionCreationOptions.cs
+++ b/MediaBrowser.Controller/Collections/CollectionCreationOptions.cs
@@ -20,8 +20,8 @@ namespace MediaBrowser.Controller.Collections
public CollectionCreationOptions()
{
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- ItemIdList = new string[] {};
- UserIds = new Guid[] {};
+ ItemIdList = Array.Empty<string>();
+ UserIds = Array.Empty<Guid>();
}
}
}
diff --git a/MediaBrowser.Controller/Connect/IConnectManager.cs b/MediaBrowser.Controller/Connect/IConnectManager.cs
deleted file mode 100644
index 8ac61bf2b..000000000
--- a/MediaBrowser.Controller/Connect/IConnectManager.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Model.Connect;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace MediaBrowser.Controller.Connect
-{
- public interface IConnectManager
- {
- /// <summary>
- /// Gets the wan API address.
- /// </summary>
- /// <value>The wan API address.</value>
- string WanApiAddress { get; }
-
- /// <summary>
- /// Links the user.
- /// </summary>
- /// <param name="userId">The user identifier.</param>
- /// <param name="connectUsername">The connect username.</param>
- /// <returns>Task.</returns>
- Task<UserLinkResult> LinkUser(string userId, string connectUsername);
-
- /// <summary>
- /// Removes the link.
- /// </summary>
- /// <param name="userId">The user identifier.</param>
- /// <returns>Task.</returns>
- Task RemoveConnect(string userId);
-
- User GetUserFromExchangeToken(string token);
-
- /// <summary>
- /// Authenticates the specified username.
- /// </summary>
- Task<ConnectAuthenticationResult> Authenticate(string username, string password, string passwordMd5);
-
- /// <summary>
- /// Determines whether [is authorization token valid] [the specified token].
- /// </summary>
- /// <param name="token">The token.</param>
- /// <returns><c>true</c> if [is authorization token valid] [the specified token]; otherwise, <c>false</c>.</returns>
- bool IsAuthorizationTokenValid(string token);
- }
-}
diff --git a/MediaBrowser.Controller/Dto/IDtoService.cs b/MediaBrowser.Controller/Dto/IDtoService.cs
index 219b36789..37e83e45a 100644
--- a/MediaBrowser.Controller/Dto/IDtoService.cs
+++ b/MediaBrowser.Controller/Dto/IDtoService.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Querying;
using System.Collections.Generic;
-using MediaBrowser.Controller.Sync;
namespace MediaBrowser.Controller.Dto
{
diff --git a/MediaBrowser.Controller/Entities/AggregateFolder.cs b/MediaBrowser.Controller/Entities/AggregateFolder.cs
index 4f4b3483c..a4601c270 100644
--- a/MediaBrowser.Controller/Entities/AggregateFolder.cs
+++ b/MediaBrowser.Controller/Entities/AggregateFolder.cs
@@ -20,7 +20,7 @@ namespace MediaBrowser.Controller.Entities
{
public AggregateFolder()
{
- PhysicalLocationsList = new string[] { };
+ PhysicalLocationsList = Array.Empty<string>();
}
[IgnoreDataMember]
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs
index d07e31d8a..1aeae6052 100644
--- a/MediaBrowser.Controller/Entities/Audio/Audio.cs
+++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs
@@ -2,13 +2,8 @@
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.MediaInfo;
using System;
using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Threading;
-using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Serialization;
@@ -36,8 +31,8 @@ namespace MediaBrowser.Controller.Entities.Audio
public Audio()
{
- Artists = new string[] {};
- AlbumArtists = new string[] {};
+ Artists = Array.Empty<string>();
+ AlbumArtists = Array.Empty<string>();
}
public override double GetDefaultPrimaryImageAspectRatio()
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
index 48b5c64b2..870e6e07e 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
@@ -23,8 +23,8 @@ namespace MediaBrowser.Controller.Entities.Audio
public MusicAlbum()
{
- Artists = new string[] {};
- AlbumArtists = new string[] {};
+ Artists = Array.Empty<string>();
+ AlbumArtists = Array.Empty<string>();
}
[IgnoreDataMember]
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index 2774dc944..56ed10ced 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -129,13 +129,12 @@ namespace MediaBrowser.Controller.Entities.Audio
return base.IsSaveLocalMetadataEnabled();
}
- private readonly Task _cachedTask = Task.FromResult(true);
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
if (IsAccessedByName)
{
// Should never get in here anyway
- return _cachedTask;
+ return Task.CompletedTask;
}
return base.ValidateChildrenInternal(progress, cancellationToken, recursive, refreshChildMetadata, refreshOptions, directoryService);
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index e80fe3387..a268e6d76 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -35,24 +35,24 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
public abstract class BaseItem : IHasProviderIds, IHasLookupInfo<ItemLookupInfo>
{
- protected static MetadataFields[] EmptyMetadataFieldsArray = new MetadataFields[] { };
- protected static MediaUrl[] EmptyMediaUrlArray = new MediaUrl[] { };
- protected static ItemImageInfo[] EmptyItemImageInfoArray = new ItemImageInfo[] { };
- public static readonly LinkedChild[] EmptyLinkedChildArray = new LinkedChild[] { };
+ protected static MetadataFields[] EmptyMetadataFieldsArray = Array.Empty<MetadataFields>();
+ protected static MediaUrl[] EmptyMediaUrlArray = Array.Empty<MediaUrl>();
+ protected static ItemImageInfo[] EmptyItemImageInfoArray = Array.Empty<ItemImageInfo>();
+ public static readonly LinkedChild[] EmptyLinkedChildArray = Array.Empty<LinkedChild>();
protected BaseItem()
{
- ThemeSongIds = new Guid[] {};
- ThemeVideoIds = new Guid[] {};
- Tags = new string[] {};
- Genres = new string[] {};
- Studios = new string[] {};
+ ThemeSongIds = Array.Empty<Guid>();
+ ThemeVideoIds = Array.Empty<Guid>();
+ Tags = Array.Empty<string>();
+ Genres = Array.Empty<string>();
+ Studios = Array.Empty<string>();
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
LockedFields = EmptyMetadataFieldsArray;
ImageInfos = EmptyItemImageInfoArray;
- ProductionLocations = new string[] {};
- RemoteTrailers = new MediaUrl[] { };
- ExtraIds = new Guid[] {};
+ ProductionLocations = Array.Empty<string>();
+ RemoteTrailers = Array.Empty<MediaUrl>();
+ ExtraIds = Array.Empty<Guid>();
}
public static readonly char[] SlugReplaceChars = { '?', '/', '&' };
@@ -62,7 +62,6 @@ namespace MediaBrowser.Controller.Entities
/// The supported image extensions
/// </summary>
public static readonly string[] SupportedImageExtensions = { ".png", ".jpg", ".jpeg", ".tbn", ".gif" };
- public static readonly List<string> SupportedImageExtensionsList = SupportedImageExtensions.ToList();
/// <summary>
/// The trailer folder name
@@ -2895,6 +2894,10 @@ namespace MediaBrowser.Controller.Entities
return ThemeVideoIds.Select(LibraryManager.GetItemById).Where(i => i.ExtraType.Equals(Model.Entities.ExtraType.ThemeVideo)).OrderBy(i => i.SortName);
}
+ /// <summary>
+ /// Gets or sets the remote trailers.
+ /// </summary>
+ /// <value>The remote trailers.</value>
public MediaUrl[] RemoteTrailers { get; set; }
public IEnumerable<BaseItem> GetExtras()
@@ -2913,21 +2916,24 @@ namespace MediaBrowser.Controller.Entities
}
public virtual bool IsHD {
- get{
+ get
+ {
return Height >= 720;
- }
+ }
}
public bool IsShortcut{ get; set;}
public string ShortcutPath{ get; set;}
public int Width { get; set; }
public int Height { get; set; }
public Guid[] ExtraIds { get; set; }
- public virtual long GetRunTimeTicksForPlayState() {
+ public virtual long GetRunTimeTicksForPlayState()
+ {
return RunTimeTicks ?? 0;
}
// what does this do?
public static ExtraType[] DisplayExtraTypes = new[] {Model.Entities.ExtraType.ThemeSong, Model.Entities.ExtraType.ThemeVideo };
- public virtual bool SupportsExternalTransfer {
+ public virtual bool SupportsExternalTransfer
+ {
get {
return false;
}
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 7292b166a..75d6b9381 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -31,18 +31,10 @@ namespace MediaBrowser.Controller.Entities
public CollectionFolder()
{
- PhysicalLocationsList = new string[] { };
- PhysicalFolderIds = new Guid[] { };
+ PhysicalLocationsList = Array.Empty<string>();
+ PhysicalFolderIds = Array.Empty<Guid>();
}
- //public override double? GetDefaultPrimaryImageAspectRatio()
- //{
- // double value = 16;
- // value /= 9;
-
- // return value;
- //}
-
[IgnoreDataMember]
public override bool SupportsPlayedStatus
{
@@ -339,7 +331,7 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
- return Task.FromResult(true);
+ return Task.CompletedTask;
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs
index 3d006a699..4efc5648e 100644
--- a/MediaBrowser.Controller/Entities/Game.cs
+++ b/MediaBrowser.Controller/Entities/Game.cs
@@ -12,10 +12,10 @@ namespace MediaBrowser.Controller.Entities
{
public Game()
{
- MultiPartGameFiles = new string[] {};
+ MultiPartGameFiles = Array.Empty<string>();
RemoteTrailers = EmptyMediaUrlArray;
- LocalTrailerIds = new Guid[] {};
- RemoteTrailerIds = new Guid[] {};
+ LocalTrailerIds = Array.Empty<Guid>();
+ RemoteTrailerIds = Array.Empty<Guid>();
}
public Guid[] LocalTrailerIds { get; set; }
@@ -39,12 +39,6 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
- /// Gets or sets the remote trailers.
- /// </summary>
- /// <value>The remote trailers.</value>
- public MediaUrl[] RemoteTrailers { get; set; }
-
- /// <summary>
/// Gets the type of the media.
/// </summary>
/// <value>The type of the media.</value>
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index ff57c2471..bb99c0a84 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -4,7 +4,6 @@ using System.Collections.Generic;
using MediaBrowser.Model.Configuration;
using System.Linq;
using MediaBrowser.Controller.Dto;
-using MediaBrowser.Model.Querying;
namespace MediaBrowser.Controller.Entities
{
@@ -48,7 +47,6 @@ namespace MediaBrowser.Controller.Entities
public string PresentationUniqueKey { get; set; }
public string Path { get; set; }
- public string PathNotStartsWith { get; set; }
public string Name { get; set; }
public string Person { get; set; }
@@ -160,8 +158,6 @@ namespace MediaBrowser.Controller.Entities
public bool EnableGroupByMetadataKey { get; set; }
public bool? HasChapterImages { get; set; }
- // why tuple vs value tuple?
- //public Tuple<string, SortOrder>[] OrderBy { get; set; }
public ValueTuple<string, SortOrder>[] OrderBy { get; set; }
public DateTime? MinDateCreated { get; set; }
@@ -180,44 +176,44 @@ namespace MediaBrowser.Controller.Entities
public InternalItemsQuery()
{
- AlbumArtistIds = new Guid[] {};
- AlbumIds = new Guid[] {};
- AncestorIds = new Guid[] {};
- ArtistIds = new Guid[] {};
- BlockUnratedItems = new UnratedItem[] { };
- BoxSetLibraryFolders = new Guid[] {};
- ChannelIds = new Guid[] {};
- ContributingArtistIds = new Guid[] {};
+ AlbumArtistIds = Array.Empty<Guid>();
+ AlbumIds = Array.Empty<Guid>();
+ AncestorIds = Array.Empty<Guid>();
+ ArtistIds = Array.Empty<Guid>();
+ BlockUnratedItems = Array.Empty<UnratedItem>();
+ BoxSetLibraryFolders = Array.Empty<Guid>();
+ ChannelIds = Array.Empty<Guid>();
+ ContributingArtistIds = Array.Empty<Guid>();
DtoOptions = new DtoOptions();
EnableTotalRecordCount = true;
- ExcludeArtistIds = new Guid[] {};
- ExcludeInheritedTags = new string[] {};
- ExcludeItemIds = new Guid[] {};
- ExcludeItemTypes = new string[] {};
+ ExcludeArtistIds = Array.Empty<Guid>();
+ ExcludeInheritedTags = Array.Empty<string>();
+ ExcludeItemIds = Array.Empty<Guid>();
+ ExcludeItemTypes = Array.Empty<string>();
ExcludeProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- ExcludeTags = new string[] {};
- GenreIds = new Guid[] {};
- Genres = new string[] {};
+ ExcludeTags = Array.Empty<string>();
+ GenreIds = Array.Empty<Guid>();
+ Genres = Array.Empty<string>();
GroupByPresentationUniqueKey = true;
HasAnyProviderId = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- ImageTypes = new ImageType[] { };
- IncludeItemTypes = new string[] {};
- ItemIds = new Guid[] {};
- MediaTypes = new string[] {};
+ ImageTypes = Array.Empty<ImageType>();
+ IncludeItemTypes = Array.Empty<string>();
+ ItemIds = Array.Empty<Guid>();
+ MediaTypes = Array.Empty<string>();
MinSimilarityScore = 20;
- OfficialRatings = new string[] {};
+ OfficialRatings = Array.Empty<string>();
OrderBy = Array.Empty<ValueTuple<string, SortOrder>>();
- PersonIds = new Guid[] {};
- PersonTypes = new string[] {};
- PresetViews = new string[] {};
- SeriesStatuses = new SeriesStatus[] { };
- SourceTypes = new SourceType[] { };
- StudioIds = new Guid[] {};
- Tags = new string[] {};
- TopParentIds = new Guid[] {};
- TrailerTypes = new TrailerType[] { };
- VideoTypes = new VideoType[] { };
- Years = new int[] { };
+ PersonIds = Array.Empty<Guid>();
+ PersonTypes = Array.Empty<string>();
+ PresetViews = Array.Empty<string>();
+ SeriesStatuses = Array.Empty<SeriesStatus>();
+ SourceTypes = Array.Empty<SourceType>();
+ StudioIds = Array.Empty<Guid>();
+ Tags = Array.Empty<string>();
+ TopParentIds = Array.Empty<Guid>();
+ TrailerTypes = Array.Empty<TrailerType>();
+ VideoTypes = Array.Empty<VideoType>();
+ Years = Array.Empty<int>();
}
public InternalItemsQuery(User user)
diff --git a/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs b/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs
index 7e00834e3..ce3e9e070 100644
--- a/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs
@@ -14,8 +14,8 @@ namespace MediaBrowser.Controller.Entities
public InternalPeopleQuery()
{
- PersonTypes = new string[] { };
- ExcludePersonTypes = new string[] { };
+ PersonTypes = Array.Empty<string>();
+ ExcludePersonTypes = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
index 5918bf981..e888a5582 100644
--- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
+++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
@@ -19,8 +19,8 @@ namespace MediaBrowser.Controller.Entities.Movies
public BoxSet()
{
RemoteTrailers = EmptyMediaUrlArray;
- LocalTrailerIds = new Guid[] { };
- RemoteTrailerIds = new Guid[] { };
+ LocalTrailerIds = Array.Empty<Guid>();
+ RemoteTrailerIds = Array.Empty<Guid>();
DisplayOrder = ItemSortBy.PremiereDate;
}
@@ -53,12 +53,6 @@ namespace MediaBrowser.Controller.Entities.Movies
public Guid[] RemoteTrailerIds { get; set; }
/// <summary>
- /// Gets or sets the remote trailers.
- /// </summary>
- /// <value>The remote trailers.</value>
- public MediaUrl[] RemoteTrailers { get; set; }
-
- /// <summary>
/// Gets or sets the display order.
/// </summary>
/// <value>The display order.</value>
@@ -70,12 +64,7 @@ namespace MediaBrowser.Controller.Entities.Movies
}
public override double GetDefaultPrimaryImageAspectRatio()
- {
- double value = 2;
- value /= 3;
-
- return value;
- }
+ => 2 / 3;
public override UnratedItem GetBlockUnratedType()
{
@@ -254,7 +243,7 @@ namespace MediaBrowser.Controller.Entities.Movies
return FlattenItems(boxset.GetLinkedChildren(), expandedFolders);
}
- return new BaseItem[] { };
+ return Array.Empty<BaseItem>();
}
return new[] { item };
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index 878b1b860..4f743991b 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -6,8 +6,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-
-using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Providers;
using MediaBrowser.Model.Serialization;
@@ -32,8 +30,6 @@ namespace MediaBrowser.Controller.Entities.Movies
public Guid[] LocalTrailerIds { get; set; }
public Guid[] RemoteTrailerIds { get; set; }
- public MediaUrl[] RemoteTrailers { get; set; }
-
/// <summary>
/// Gets or sets the name of the TMDB collection.
/// </summary>
@@ -55,10 +51,7 @@ namespace MediaBrowser.Controller.Entities.Movies
return 0;
}
- double value = 2;
- value /= 3;
-
- return value;
+ return 2 / 3;
}
protected override async Task<bool> RefreshedOwnedItems(MetadataRefreshOptions options, List<FileSystemMetadata> fileSystemChildren, CancellationToken cancellationToken)
diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs
index 78f9d0671..4015a1178 100644
--- a/MediaBrowser.Controller/Entities/MusicVideo.cs
+++ b/MediaBrowser.Controller/Entities/MusicVideo.cs
@@ -14,7 +14,7 @@ namespace MediaBrowser.Controller.Entities
public MusicVideo()
{
- Artists = new string[] {};
+ Artists = Array.Empty<string>();
}
[IgnoreDataMember]
diff --git a/MediaBrowser.Controller/Entities/Photo.cs b/MediaBrowser.Controller/Entities/Photo.cs
index 01c10831d..662aa4249 100644
--- a/MediaBrowser.Controller/Entities/Photo.cs
+++ b/MediaBrowser.Controller/Entities/Photo.cs
@@ -58,6 +58,7 @@ namespace MediaBrowser.Controller.Entities
public override double GetDefaultPrimaryImageAspectRatio()
{
+ // REVIEW: @bond
if (Width.HasValue && Height.HasValue)
{
double width = Width.Value;
@@ -85,8 +86,8 @@ namespace MediaBrowser.Controller.Entities
return base.GetDefaultPrimaryImageAspectRatio();
}
- public int? Width { get; set; }
- public int? Height { get; set; }
+ public new int? Width { get; set; }
+ public new int? Height { get; set; }
public string CameraMake { get; set; }
public string CameraModel { get; set; }
public string Software { get; set; }
diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs
index 3a3a902a3..00e055c51 100644
--- a/MediaBrowser.Controller/Entities/TV/Episode.cs
+++ b/MediaBrowser.Controller/Entities/TV/Episode.cs
@@ -1,4 +1,4 @@
-using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using System;
@@ -19,13 +19,12 @@ namespace MediaBrowser.Controller.Entities.TV
public Episode()
{
RemoteTrailers = EmptyMediaUrlArray;
- LocalTrailerIds = new Guid[] {};
- RemoteTrailerIds = new Guid[] {};
+ LocalTrailerIds = Array.Empty<Guid>();
+ RemoteTrailerIds = Array.Empty<Guid>();
}
public Guid[] LocalTrailerIds { get; set; }
public Guid[] RemoteTrailerIds { get; set; }
- public MediaUrl[] RemoteTrailers { get; set; }
/// <summary>
/// Gets the season in which it aired.
@@ -112,10 +111,7 @@ namespace MediaBrowser.Controller.Entities.TV
return 0;
}
- double value = 16;
- value /= 9;
-
- return value;
+ return 16 / 9;
}
public override List<string> GetUserDataKeys()
diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs
index b5f77df55..cb3a7f345 100644
--- a/MediaBrowser.Controller/Entities/TV/Season.cs
+++ b/MediaBrowser.Controller/Entities/TV/Season.cs
@@ -102,10 +102,11 @@ namespace MediaBrowser.Controller.Entities.TV
get
{
var seriesId = SeriesId;
- if (seriesId.Equals(Guid.Empty)) {
+ if (seriesId == Guid.Empty)
+ {
seriesId = FindSeriesId();
}
- return !seriesId.Equals(Guid.Empty) ? (LibraryManager.GetItemById(seriesId) as Series) : null;
+ return seriesId == Guid.Empty ? null : (LibraryManager.GetItemById(seriesId) as Series);
}
}
@@ -227,7 +228,7 @@ namespace MediaBrowser.Controller.Entities.TV
public Guid FindSeriesId()
{
var series = FindParent<Series>();
- return series == null ? Guid.Empty: series.Id;
+ return series == null ? Guid.Empty : series.Id;
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 88fde1760..d4a62626e 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -23,9 +23,9 @@ namespace MediaBrowser.Controller.Entities.TV
public Series()
{
RemoteTrailers = EmptyMediaUrlArray;
- LocalTrailerIds = new Guid[] {};
- RemoteTrailerIds = new Guid[] {};
- AirDays = new DayOfWeek[] { };
+ LocalTrailerIds = Array.Empty<Guid>();
+ RemoteTrailerIds = Array.Empty<Guid>();
+ AirDays = Array.Empty<DayOfWeek>();
}
public DayOfWeek[] AirDays { get; set; }
@@ -73,8 +73,6 @@ namespace MediaBrowser.Controller.Entities.TV
public Guid[] LocalTrailerIds { get; set; }
public Guid[] RemoteTrailerIds { get; set; }
- public MediaUrl[] RemoteTrailers { get; set; }
-
/// <summary>
/// airdate, dvd or absolute
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs
index 4f2a5631b..2ef268ed1 100644
--- a/MediaBrowser.Controller/Entities/Trailer.cs
+++ b/MediaBrowser.Controller/Entities/Trailer.cs
@@ -15,18 +15,13 @@ namespace MediaBrowser.Controller.Entities
{
public Trailer()
{
- TrailerTypes = new TrailerType[] { };
+ TrailerTypes = Array.Empty<TrailerType>();
}
public TrailerType[] TrailerTypes { get; set; }
public override double GetDefaultPrimaryImageAspectRatio()
- {
- double value = 2;
- value /= 3;
-
- return value;
- }
+ => 2 / 3;
public override UnratedItem GetBlockUnratedType()
{
diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs
index 984cad481..b7c9884ff 100644
--- a/MediaBrowser.Controller/Entities/UserView.cs
+++ b/MediaBrowser.Controller/Entities/UserView.cs
@@ -1,21 +1,18 @@
using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.TV;
-using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Model.Serialization;
using System.Threading.Tasks;
-using MediaBrowser.Controller.Dto;
-using MediaBrowser.Controller.Collections;
namespace MediaBrowser.Controller.Entities
{
public class UserView : Folder, IHasCollectionType
{
public string ViewType { get; set; }
- public Guid DisplayParentId { get; set; }
+ public new Guid DisplayParentId { get; set; }
public Guid? UserId { get; set; }
@@ -68,14 +65,6 @@ namespace MediaBrowser.Controller.Entities
}
}
- //public override double? GetDefaultPrimaryImageAspectRatio()
- //{
- // double value = 16;
- // value /= 9;
-
- // return value;
- //}
-
public override int GetChildCount(User user)
{
return GetChildren(user, true).Count;
@@ -161,8 +150,8 @@ namespace MediaBrowser.Controller.Entities
public static bool IsEligibleForGrouping(Folder folder)
{
- var collectionFolder = folder as ICollectionFolder;
- return collectionFolder != null && IsEligibleForGrouping(collectionFolder.CollectionType);
+ return folder is ICollectionFolder collectionFolder
+ && IsEligibleForGrouping(collectionFolder.CollectionType);
}
private static string[] ViewTypesEligibleForGrouping = new string[]
@@ -195,7 +184,7 @@ namespace MediaBrowser.Controller.Entities
protected override Task ValidateChildrenInternal(IProgress<double> progress, System.Threading.CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, Providers.MetadataRefreshOptions refreshOptions, Providers.IDirectoryService directoryService)
{
- return Task.FromResult(true);
+ return Task.CompletedTask;
}
[IgnoreDataMember]
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index 65f5b8382..2db200ee2 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -10,7 +10,6 @@ using System.Globalization;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-using MediaBrowser.Common.Extensions;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Extensions;
@@ -132,8 +131,6 @@ namespace MediaBrowser.Controller.Entities
public bool HasSubtitles { get; set; }
public bool IsPlaceHolder { get; set; }
- public bool IsShortcut { get; set; }
- public string ShortcutPath { get; set; }
/// <summary>
/// Gets or sets the default index of the video stream.
@@ -173,7 +170,7 @@ namespace MediaBrowser.Controller.Entities
}
else
{
- return new string[] {};
+ return Array.Empty<string>();
}
return mediaEncoder.GetPlayableStreamFileNames(Path, videoType);
}
@@ -186,9 +183,9 @@ namespace MediaBrowser.Controller.Entities
public Video()
{
- AdditionalParts = new string[] {};
- LocalAlternateVersions = new string[] {};
- SubtitleFiles = new string[] {};
+ AdditionalParts = Array.Empty<string>();
+ LocalAlternateVersions = Array.Empty<string>();
+ SubtitleFiles = Array.Empty<string>();
LinkedAlternateVersions = EmptyLinkedChildArray;
}
@@ -215,10 +212,10 @@ namespace MediaBrowser.Controller.Entities
{
if (!string.IsNullOrEmpty(PrimaryVersionId))
{
- var item = LibraryManager.GetItemById(PrimaryVersionId) as Video;
- if (item != null)
+ var item = LibraryManager.GetItemById(PrimaryVersionId);
+ if (item is Video video)
{
- return item.MediaSourceCount;
+ return video.MediaSourceCount;
}
}
return LinkedAlternateVersions.Length + LocalAlternateVersions.Length + 1;
@@ -366,7 +363,7 @@ namespace MediaBrowser.Controller.Entities
/// Gets the additional parts.
/// </summary>
/// <returns>IEnumerable{Video}.</returns>
- public IEnumerable<Video> GetAdditionalParts()
+ public IOrderedEnumerable<Video> GetAdditionalParts()
{
return GetAdditionalPartIds()
.Select(i => LibraryManager.GetItemById(i))
@@ -420,8 +417,7 @@ namespace MediaBrowser.Controller.Entities
{
var updateType = base.UpdateFromResolvedItem(newItem);
- var newVideo = newItem as Video;
- if (newVideo != null)
+ if (newItem is Video newVideo)
{
if (!AdditionalParts.SequenceEqual(newVideo.AdditionalParts, StringComparer.Ordinal))
{
@@ -463,7 +459,7 @@ namespace MediaBrowser.Controller.Entities
.Select(i => i.FullName)
.ToArray();
}
- return new string[] {};
+ return Array.Empty<string>();
}
/// <summary>
@@ -618,9 +614,5 @@ namespace MediaBrowser.Controller.Entities
return list;
}
-
- public static bool IsHD (Video video) {
- return video.Height >= 720;
- }
}
}
diff --git a/MediaBrowser.Controller/Library/IUserDataManager.cs b/MediaBrowser.Controller/Library/IUserDataManager.cs
index 11d77f81a..f3f81378b 100644
--- a/MediaBrowser.Controller/Library/IUserDataManager.cs
+++ b/MediaBrowser.Controller/Library/IUserDataManager.cs
@@ -5,7 +5,6 @@ using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using System;
using System.Threading;
-using MediaBrowser.Model.Querying;
namespace MediaBrowser.Controller.Library
{
diff --git a/MediaBrowser.Controller/Library/ItemResolveArgs.cs b/MediaBrowser.Controller/Library/ItemResolveArgs.cs
index 7197425f3..9812802e7 100644
--- a/MediaBrowser.Controller/Library/ItemResolveArgs.cs
+++ b/MediaBrowser.Controller/Library/ItemResolveArgs.cs
@@ -2,10 +2,7 @@
using MediaBrowser.Controller.Providers;
using System;
using System.Collections.Generic;
-using System.IO;
using System.Linq;
-using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.IO;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.IO;
@@ -169,6 +166,7 @@ namespace MediaBrowser.Controller.Library
AdditionalLocations.Add(path);
}
+ // REVIEW: @bond
/// <summary>
/// Gets the physical locations.
/// </summary>
@@ -177,7 +175,7 @@ namespace MediaBrowser.Controller.Library
{
get
{
- var paths = string.IsNullOrEmpty(Path) ? new string[] { } : new[] { Path };
+ var paths = string.IsNullOrEmpty(Path) ? Array.Empty<string>() : new[] { Path };
return AdditionalLocations == null ? paths : paths.Concat(AdditionalLocations).ToArray();
}
}
@@ -261,7 +259,7 @@ namespace MediaBrowser.Controller.Library
}
/// <summary>
- /// Equalses the specified args.
+ /// Equals the specified args.
/// </summary>
/// <param name="args">The args.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
index fa3aab4f2..4dc6c7517 100644
--- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
@@ -47,52 +47,21 @@ namespace MediaBrowser.Controller.LiveTv
return list;
}
- public static double GetDefaultPrimaryImageAspectRatio(IHasProgramAttributes item)
+ private static string EmbyServiceName = "Emby";
+ public override double GetDefaultPrimaryImageAspectRatio()
{
- var serviceName = item.ServiceName;
+ var serviceName = ServiceName;
- if (item.IsMovie)
+ if (string.Equals(serviceName, EmbyServiceName, StringComparison.OrdinalIgnoreCase) || string.Equals(serviceName, "Next Pvr", StringComparison.OrdinalIgnoreCase))
{
- if (string.Equals(serviceName, EmbyServiceName, StringComparison.OrdinalIgnoreCase) || string.Equals(serviceName, "Next Pvr", StringComparison.OrdinalIgnoreCase))
- {
- double value = 2;
- value /= 3;
-
- return value;
- }
- else
- {
- double value = 16;
- value /= 9;
-
- return value;
- }
+ return 2 / 3;
}
else
{
- if (string.Equals(serviceName, EmbyServiceName, StringComparison.OrdinalIgnoreCase) || string.Equals(serviceName, "Next Pvr", StringComparison.OrdinalIgnoreCase))
- {
- double value = 2;
- value /= 3;
-
- return value;
- }
- else
- {
- double value = 16;
- value /= 9;
-
- return value;
- }
+ return 16 / 9;
}
}
- private static string EmbyServiceName = "Emby";
- public override double GetDefaultPrimaryImageAspectRatio()
- {
- return GetDefaultPrimaryImageAspectRatio(this);
- }
-
[IgnoreDataMember]
public override SourceType SourceType
{
diff --git a/MediaBrowser.Controller/LiveTv/TimerInfo.cs b/MediaBrowser.Controller/LiveTv/TimerInfo.cs
index baf0b0b13..c9eb6fee6 100644
--- a/MediaBrowser.Controller/LiveTv/TimerInfo.cs
+++ b/MediaBrowser.Controller/LiveTv/TimerInfo.cs
@@ -10,11 +10,11 @@ namespace MediaBrowser.Controller.LiveTv
{
public TimerInfo()
{
- Genres = new string[] { };
+ Genres = Array.Empty<string>();
KeepUntil = KeepUntil.UntilDeleted;
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- Tags = new string[] { };
+ Tags = Array.Empty<string>();
}
public Dictionary<string, string> ProviderIds { get; set; }
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index 881e318ce..4fb9a711e 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
-using System.Threading;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dlna;
@@ -12,8 +11,6 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Extensions;
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Model.Reflection;
namespace MediaBrowser.Controller.MediaEncoding
{
@@ -343,19 +340,19 @@ namespace MediaBrowser.Controller.MediaEncoding
public int GetVideoProfileScore(string profile)
{
- var list = new []
+ string[] list =
{
- "Constrained Baseline",
+ "ConstrainedBaseline",
"Baseline",
"Extended",
"Main",
"High",
- "Progressive High",
- "Constrained High"
+ "ProgressiveHigh",
+ "ConstrainedHigh"
};
// strip spaces because they may be stripped out on the query string
- return Array.FindIndex(list, t => string.Equals(t.Replace(" ", ""), profile.Replace(" ", ""), StringComparison.OrdinalIgnoreCase));
+ return Array.FindIndex(list, t => string.Equals(t, profile.Replace(" ", ""), StringComparison.OrdinalIgnoreCase));
}
public string GetInputPathArgument(EncodingJobInfo state)
@@ -516,18 +513,12 @@ namespace MediaBrowser.Controller.MediaEncoding
public string NormalizeTranscodingLevel(string videoCodec, string level)
{
- double requestLevel;
-
// Clients may direct play higher than level 41, but there's no reason to transcode higher
- if (double.TryParse(level, NumberStyles.Any, _usCulture, out requestLevel))
+ if (double.TryParse(level, NumberStyles.Any, _usCulture, out double requestLevel)
+ && string.Equals(videoCodec, "h264", StringComparison.OrdinalIgnoreCase)
+ && requestLevel > 41)
{
- if (string.Equals(videoCodec, "h264", StringComparison.OrdinalIgnoreCase))
- {
- if (requestLevel > 41)
- {
- return "41";
- }
- }
+ return "41";
}
return level;
@@ -623,7 +614,7 @@ namespace MediaBrowser.Controller.MediaEncoding
// h264 (h264_qsv)
else if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase))
{
- string[] valid_h264_qsv = new string[] { "veryslow", "slower", "slow", "medium", "fast", "faster", "veryfast" };
+ string[] valid_h264_qsv = { "veryslow", "slower", "slow", "medium", "fast", "faster", "veryfast" };
if (valid_h264_qsv.Contains(encodingOptions.H264Preset, StringComparer.OrdinalIgnoreCase))
{
@@ -1958,12 +1949,12 @@ namespace MediaBrowser.Controller.MediaEncoding
}
else
{
- state.PlayableStreamFileNames = new string[] { };
+ state.PlayableStreamFileNames = Array.Empty<string>();
}
}
else
{
- state.PlayableStreamFileNames = new string[] { };
+ state.PlayableStreamFileNames = Array.Empty<string>();
}
if (mediaSource.Timestamp.HasValue)
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
index c8c2367e6..3f6da59d8 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
@@ -207,7 +207,7 @@ namespace MediaBrowser.Controller.MediaEncoding
}
}
- return new string[] { };
+ return Array.Empty<string>();
}
public string GetRequestedLevel(string codec)
@@ -317,10 +317,10 @@ namespace MediaBrowser.Controller.MediaEncoding
_logger = logger;
TranscodingType = jobType;
RemoteHttpHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- PlayableStreamFileNames = new string[] { };
- SupportedAudioCodecs = new string[] { };
- SupportedVideoCodecs = new string[] { };
- SupportedSubtitleCodecs = new string[] { };
+ PlayableStreamFileNames = Array.Empty<string>();
+ SupportedAudioCodecs = Array.Empty<string>();
+ SupportedVideoCodecs = Array.Empty<string>();
+ SupportedSubtitleCodecs = Array.Empty<string>();
}
public bool IsSegmentedLiveStream
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
index befbb2140..101748a5a 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
@@ -10,7 +10,6 @@ namespace MediaBrowser.Controller.MediaEncoding
public class EncodingJobOptions : BaseEncodingJobOptions
{
public string OutputDirectory { get; set; }
-
public string ItemId { get; set; }
public string MediaSourceId { get; set; }
public string AudioCodec { get; set; }
diff --git a/MediaBrowser.Controller/MediaEncoding/MediaInfoRequest.cs b/MediaBrowser.Controller/MediaEncoding/MediaInfoRequest.cs
index 1d7222801..b191f9905 100644
--- a/MediaBrowser.Controller/MediaEncoding/MediaInfoRequest.cs
+++ b/MediaBrowser.Controller/MediaEncoding/MediaInfoRequest.cs
@@ -18,7 +18,7 @@ namespace MediaBrowser.Controller.MediaEncoding
public MediaInfoRequest()
{
- PlayableStreamFileNames = new string[] {};
+ PlayableStreamFileNames = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Controller/Net/AuthorizationInfo.cs b/MediaBrowser.Controller/Net/AuthorizationInfo.cs
index a68060db5..848d8fa15 100644
--- a/MediaBrowser.Controller/Net/AuthorizationInfo.cs
+++ b/MediaBrowser.Controller/Net/AuthorizationInfo.cs
@@ -1,7 +1,6 @@
using MediaBrowser.Controller.Entities;
using System;
-
namespace MediaBrowser.Controller.Net
{
public class AuthorizationInfo
@@ -12,12 +11,7 @@ namespace MediaBrowser.Controller.Net
/// <value>The user identifier.</value>
public Guid UserId {
get {
- if (User == null) {
- return Guid.Empty;
- }
- else {
- return User.Id;
- }
+ return User == null ? Guid.Empty : User.Id;
}
}
diff --git a/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs b/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs
index b200f883a..26abbc2d2 100644
--- a/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs
+++ b/MediaBrowser.Controller/Net/WebSocketConnectEventArgs.cs
@@ -1,5 +1,4 @@
using System;
-using System.Collections.Specialized;
using MediaBrowser.Model.Services;
namespace MediaBrowser.Controller.Net
@@ -7,7 +6,6 @@ namespace MediaBrowser.Controller.Net
/// <summary>
/// Class WebSocketConnectEventArgs
/// </summary>
-
public class WebSocketConnectingEventArgs : EventArgs
{
/// <summary>
diff --git a/MediaBrowser.Controller/Playlists/IPlaylistManager.cs b/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
index 5e790111d..d481bf7c5 100644
--- a/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
+++ b/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
@@ -4,7 +4,6 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using System;
-
namespace MediaBrowser.Controller.Playlists
{
public interface IPlaylistManager
diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs
index 78614340a..642dfde80 100644
--- a/MediaBrowser.Controller/Playlists/Playlist.cs
+++ b/MediaBrowser.Controller/Playlists/Playlist.cs
@@ -15,14 +15,14 @@ namespace MediaBrowser.Controller.Playlists
{
public class Playlist : Folder, IHasShares
{
- public static string[] SupportedExtensions = new string[] {
-
- ".m3u",
- ".m3u8",
- ".pls",
- ".wpl",
- ".zpl"
- };
+ public static string[] SupportedExtensions =
+ {
+ ".m3u",
+ ".m3u8",
+ ".pls",
+ ".wpl",
+ ".zpl"
+ };
public Guid OwnerUserId { get; set; }
@@ -30,7 +30,7 @@ namespace MediaBrowser.Controller.Playlists
public Playlist()
{
- Shares = new Share[] { };
+ Shares = Array.Empty<Share>();
}
[IgnoreDataMember]
@@ -131,7 +131,7 @@ namespace MediaBrowser.Controller.Playlists
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
- return Task.FromResult(true);
+ return Task.CompletedTask;
}
public override List<BaseItem> GetChildren(User user, bool includeLinkedChildren, InternalItemsQuery query)
@@ -186,8 +186,7 @@ namespace MediaBrowser.Controller.Playlists
private static IEnumerable<BaseItem> GetPlaylistItems(BaseItem item, User user, string mediaType, DtoOptions options)
{
- var musicGenre = item as MusicGenre;
- if (musicGenre != null)
+ if (item is MusicGenre musicGenre)
{
return LibraryManager.GetItemList(new InternalItemsQuery(user)
{
@@ -199,8 +198,7 @@ namespace MediaBrowser.Controller.Playlists
});
}
- var musicArtist = item as MusicArtist;
- if (musicArtist != null)
+ if (item is MusicArtist musicArtist)
{
return LibraryManager.GetItemList(new InternalItemsQuery(user)
{
@@ -212,8 +210,7 @@ namespace MediaBrowser.Controller.Playlists
});
}
- var folder = item as Folder;
- if (folder != null)
+ if (item is Folder folder)
{
var query = new InternalItemsQuery(user)
{
diff --git a/MediaBrowser.Controller/Providers/AlbumInfo.cs b/MediaBrowser.Controller/Providers/AlbumInfo.cs
index 74feb4ea2..b0b443fc0 100644
--- a/MediaBrowser.Controller/Providers/AlbumInfo.cs
+++ b/MediaBrowser.Controller/Providers/AlbumInfo.cs
@@ -22,7 +22,7 @@ namespace MediaBrowser.Controller.Providers
{
ArtistProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
SongInfos = new List<SongInfo>();
- AlbumArtists = EmptyStringArray;
+ AlbumArtists = Array.Empty<string>();
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs b/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs
index 942d25071..6cc8a691e 100644
--- a/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs
+++ b/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs
@@ -20,7 +20,7 @@ namespace MediaBrowser.Controller.Providers
ImageRefreshMode = MetadataRefreshMode.Default;
DirectoryService = directoryService;
- ReplaceImages = new ImageType[] { };
+ ReplaceImages = Array.Empty<ImageType>();
IsAutomated = true;
}
@@ -30,4 +30,4 @@ namespace MediaBrowser.Controller.Providers
(ReplaceAllImages || ReplaceImages.Contains(type));
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Controller/Providers/ItemLookupInfo.cs b/MediaBrowser.Controller/Providers/ItemLookupInfo.cs
index 98122e776..dc7a04135 100644
--- a/MediaBrowser.Controller/Providers/ItemLookupInfo.cs
+++ b/MediaBrowser.Controller/Providers/ItemLookupInfo.cs
@@ -6,8 +6,6 @@ namespace MediaBrowser.Controller.Providers
{
public class ItemLookupInfo : IHasProviderIds
{
- protected static string[] EmptyStringArray = new string[] { };
-
/// <summary>
/// Gets or sets the name.
/// </summary>
diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
index 2494be83a..3dbcc5305 100644
--- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
+++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
@@ -1,8 +1,6 @@
using System;
-using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Providers;
@@ -47,7 +45,7 @@ namespace MediaBrowser.Controller.Providers
{
if (RefreshPaths == null)
{
- RefreshPaths = new string[] { };
+ RefreshPaths = Array.Empty<string>();
}
RefreshPaths = copy.RefreshPaths.ToArray();
diff --git a/MediaBrowser.Controller/Providers/MetadataResult.cs b/MediaBrowser.Controller/Providers/MetadataResult.cs
index f35d41ca4..271f784d7 100644
--- a/MediaBrowser.Controller/Providers/MetadataResult.cs
+++ b/MediaBrowser.Controller/Providers/MetadataResult.cs
@@ -74,4 +74,4 @@ namespace MediaBrowser.Controller.Providers
return userData;
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Controller/Providers/SongInfo.cs b/MediaBrowser.Controller/Providers/SongInfo.cs
index e3a6f5d37..61e950130 100644
--- a/MediaBrowser.Controller/Providers/SongInfo.cs
+++ b/MediaBrowser.Controller/Providers/SongInfo.cs
@@ -1,3 +1,4 @@
+using System;
namespace MediaBrowser.Controller.Providers
{
@@ -9,8 +10,8 @@ namespace MediaBrowser.Controller.Providers
public SongInfo()
{
- Artists = EmptyStringArray;
- AlbumArtists = EmptyStringArray;
+ Artists = Array.Empty<string>();
+ AlbumArtists = Array.Empty<string>();
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Controller/Session/AuthenticationRequest.cs b/MediaBrowser.Controller/Session/AuthenticationRequest.cs
index eb64db8c3..0489cf9b6 100644
--- a/MediaBrowser.Controller/Session/AuthenticationRequest.cs
+++ b/MediaBrowser.Controller/Session/AuthenticationRequest.cs
@@ -1,6 +1,5 @@
using System;
-
namespace MediaBrowser.Controller.Session
{
public class AuthenticationRequest
@@ -9,7 +8,6 @@ namespace MediaBrowser.Controller.Session
public Guid UserId { get; set; }
public string Password { get; set; }
public string PasswordSha1 { get; set; }
- public string PasswordMd5 { get; set; }
public string App { get; set; }
public string AppVersion { get; set; }
public string DeviceId { get; set; }
diff --git a/MediaBrowser.Controller/Session/ISessionManager.cs b/MediaBrowser.Controller/Session/ISessionManager.cs
index b7719e556..eca345cbc 100644
--- a/MediaBrowser.Controller/Session/ISessionManager.cs
+++ b/MediaBrowser.Controller/Session/ISessionManager.cs
@@ -5,7 +5,6 @@ using MediaBrowser.Controller.Security;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Session;
-using MediaBrowser.Model.Users;
using System;
using System.Collections.Generic;
using System.Threading;
diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs
index 98848a440..77e786ead 100644
--- a/MediaBrowser.Controller/Session/SessionInfo.cs
+++ b/MediaBrowser.Controller/Session/SessionInfo.cs
@@ -22,9 +22,9 @@ namespace MediaBrowser.Controller.Session
_sessionManager = sessionManager;
_logger = logger;
- AdditionalUsers = new SessionUserInfo[] { };
+ AdditionalUsers = Array.Empty<SessionUserInfo>();
PlayState = new PlayerStateInfo();
- SessionControllers = new ISessionController[] { };
+ SessionControllers = Array.Empty<ISessionController>();
}
public PlayerStateInfo PlayState { get; set; }
@@ -49,7 +49,7 @@ namespace MediaBrowser.Controller.Session
{
if (Capabilities == null)
{
- return new string[] {};
+ return Array.Empty<string>();
}
return Capabilities.PlayableMediaTypes;
}
@@ -363,7 +363,7 @@ namespace MediaBrowser.Controller.Session
StopAutomaticProgress();
var controllers = SessionControllers.ToList();
- SessionControllers = new ISessionController[] { };
+ SessionControllers = Array.Empty<ISessionController>();
foreach (var controller in controllers)
{
diff --git a/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs b/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs
index 84bf28c05..daef6db79 100644
--- a/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs
+++ b/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs
@@ -32,8 +32,8 @@ namespace MediaBrowser.Controller.Subtitles
SearchAllProviders = true;
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- DisabledSubtitleFetchers = new string[] {};
- SubtitleFetcherOrder = new string[] {};
+ DisabledSubtitleFetchers = Array.Empty<string>();
+ SubtitleFetcherOrder = Array.Empty<string>();
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
index 1fbdcf39a..e46709b78 100644
--- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
@@ -77,12 +77,12 @@ namespace MediaBrowser.LocalMetadata.Images
return directoryService.GetFileSystemEntries(path)
.Where(i => BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase) || i.IsDirectory)
- .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty));
+ .OrderBy(i => Array.IndexOf(BaseItem.SupportedImageExtensions, i.Extension ?? string.Empty));
}
return directoryService.GetFiles(path)
.Where(i => BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase))
- .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty));
+ .OrderBy(i => Array.IndexOf(BaseItem.SupportedImageExtensions, i.Extension ?? string.Empty));
}
public List<LocalImageInfo> GetImages(BaseItem item, IDirectoryService directoryService)
@@ -106,7 +106,7 @@ namespace MediaBrowser.LocalMetadata.Images
IEnumerable<FileSystemMetadata> files = paths.SelectMany(i => _fileSystem.GetFiles(i, BaseItem.SupportedImageExtensions, true, false));
files = files
- .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty));
+ .OrderBy(i => Array.IndexOf(BaseItem.SupportedImageExtensions, i.Extension ?? string.Empty));
var list = new List<LocalImageInfo>();
diff --git a/MediaBrowser.Model/Channels/ChannelFeatures.cs b/MediaBrowser.Model/Channels/ChannelFeatures.cs
index 39b40cabc..d4caf499b 100644
--- a/MediaBrowser.Model/Channels/ChannelFeatures.cs
+++ b/MediaBrowser.Model/Channels/ChannelFeatures.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System;
namespace MediaBrowser.Model.Channels
{
@@ -76,10 +76,9 @@ namespace MediaBrowser.Model.Channels
public ChannelFeatures()
{
- MediaTypes = new ChannelMediaType[] { };
- ContentTypes = new ChannelMediaContentType[] { };
-
- DefaultSortFields = new ChannelItemSortField[] { };
+ MediaTypes = Array.Empty<ChannelMediaType>();
+ ContentTypes = Array.Empty<ChannelMediaContentType>();
+ DefaultSortFields = Array.Empty<ChannelItemSortField>();
}
}
}
diff --git a/MediaBrowser.Model/Configuration/LibraryOptions.cs b/MediaBrowser.Model/Configuration/LibraryOptions.cs
index a271d43af..cc70cc888 100644
--- a/MediaBrowser.Model/Configuration/LibraryOptions.cs
+++ b/MediaBrowser.Model/Configuration/LibraryOptions.cs
@@ -6,7 +6,6 @@ namespace MediaBrowser.Model.Configuration
{
public class LibraryOptions
{
- public bool EnableArchiveMediaFiles { get; set; }
public bool EnablePhotos { get; set; }
public bool EnableRealtimeMonitor { get; set; }
public bool EnableChapterImageExtraction { get; set; }
@@ -65,10 +64,10 @@ namespace MediaBrowser.Model.Configuration
public LibraryOptions()
{
- TypeOptions = new TypeOptions[] { };
- DisabledSubtitleFetchers = new string[] { };
- SubtitleFetcherOrder = new string[] { };
- DisabledLocalMetadataReaders = new string[] { };
+ TypeOptions = Array.Empty<TypeOptions>();
+ DisabledSubtitleFetchers = Array.Empty<string>();
+ SubtitleFetcherOrder = Array.Empty<string>();
+ DisabledLocalMetadataReaders = Array.Empty<string>();
SkipSubtitlesIfAudioTrackMatches = true;
RequirePerfectSubtitleMatch = true;
@@ -76,7 +75,7 @@ namespace MediaBrowser.Model.Configuration
EnablePhotos = true;
SaveSubtitlesWithMedia = true;
EnableRealtimeMonitor = true;
- PathInfos = new MediaPathInfo[] { };
+ PathInfos = Array.Empty<MediaPathInfo>();
EnableInternetProviders = true;
EnableAutomaticSeriesGrouping = true;
SeasonZeroDisplayName = "Specials";
@@ -141,11 +140,11 @@ namespace MediaBrowser.Model.Configuration
public TypeOptions()
{
- MetadataFetchers = new string[] { };
- MetadataFetcherOrder = new string[] { };
- ImageFetchers = new string[] { };
- ImageFetcherOrder = new string[] { };
- ImageOptions = new ImageOption[] { };
+ MetadataFetchers = Array.Empty<string>();
+ MetadataFetcherOrder = Array.Empty<string>();
+ ImageFetchers = Array.Empty<string>();
+ ImageFetcherOrder = Array.Empty<string>();
+ ImageOptions = Array.Empty<ImageOption>();
}
public static Dictionary<string, ImageOption[]> DefaultImageOptions = new Dictionary<string, ImageOption[]>
diff --git a/MediaBrowser.Model/Configuration/MetadataOptions.cs b/MediaBrowser.Model/Configuration/MetadataOptions.cs
index 26cfee085..dde2bd090 100644
--- a/MediaBrowser.Model/Configuration/MetadataOptions.cs
+++ b/MediaBrowser.Model/Configuration/MetadataOptions.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Extensions;
-using System;
+using System;
namespace MediaBrowser.Model.Configuration
{
@@ -21,18 +20,12 @@ namespace MediaBrowser.Model.Configuration
public MetadataOptions()
{
- DisabledMetadataSavers = new string[] { };
- LocalMetadataReaderOrder = new string[] { };
-
- DisabledMetadataFetchers = new string[] { };
- MetadataFetcherOrder = new string[] { };
- DisabledImageFetchers = new string[] { };
- ImageFetcherOrder = new string[] { };
- }
-
- public bool IsMetadataSaverEnabled(string name)
- {
- return !ListHelper.ContainsIgnoreCase(DisabledMetadataSavers, name);
+ DisabledMetadataSavers = Array.Empty<string>();
+ LocalMetadataReaderOrder = Array.Empty<string>();
+ DisabledMetadataFetchers = Array.Empty<string>();
+ MetadataFetcherOrder = Array.Empty<string>();
+ DisabledImageFetchers = Array.Empty<string>();
+ ImageFetcherOrder = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Configuration/MetadataPluginSummary.cs b/MediaBrowser.Model/Configuration/MetadataPluginSummary.cs
index 80142cf43..0bd20f837 100644
--- a/MediaBrowser.Model/Configuration/MetadataPluginSummary.cs
+++ b/MediaBrowser.Model/Configuration/MetadataPluginSummary.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.Configuration
@@ -25,8 +25,8 @@ namespace MediaBrowser.Model.Configuration
public MetadataPluginSummary()
{
- SupportedImageTypes = new ImageType[] { };
- Plugins = new MetadataPlugin[] { };
+ SupportedImageTypes = Array.Empty<ImageType>();
+ Plugins = Array.Empty<MetadataPlugin>();
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index 09b783587..565d5f74b 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -173,8 +173,6 @@ namespace MediaBrowser.Model.Configuration
public int RemoteClientBitrateLimit { get; set; }
- public int SchemaVersion { get; set; }
-
public bool EnableFolderView { get; set; }
public bool EnableGroupingIntoCollections { get; set; }
public bool DisplaySpecialsWithinSeasons { get; set; }
@@ -201,13 +199,13 @@ namespace MediaBrowser.Model.Configuration
/// </summary>
public ServerConfiguration()
{
- UninstalledPlugins = new string[] { };
- RemoteIPFilter = new string[] { };
- LocalNetworkSubnets = new string[] { };
- LocalNetworkAddresses = new string[] { };
- CodecsUsed = new string[] { };
+ UninstalledPlugins = Array.Empty<string>();
+ RemoteIPFilter = Array.Empty<string>();
+ LocalNetworkSubnets = Array.Empty<string>();
+ LocalNetworkAddresses = Array.Empty<string>();
+ CodecsUsed = Array.Empty<string>();
ImageExtractionTimeoutMs = 0;
- PathSubstitutions = new PathSubstitution[] { };
+ PathSubstitutions = Array.Empty<PathSubstitution>();
EnableSimpleArtistDetection = true;
DisplaySpecialsWithinSeasons = true;
@@ -235,7 +233,7 @@ namespace MediaBrowser.Model.Configuration
LibraryMonitorDelay = 60;
- ContentTypes = new NameValuePair[] { };
+ ContentTypes = Array.Empty<NameValuePair>();
PreferredMetadataLanguage = "en";
MetadataCountryCode = "US";
@@ -248,56 +246,51 @@ namespace MediaBrowser.Model.Configuration
MetadataOptions = new[]
{
- new MetadataOptions {ItemType = "Book"},
-
- new MetadataOptions
+ new MetadataOptions()
+ {
+ ItemType = "Book"
+ },
+ new MetadataOptions()
{
ItemType = "Movie"
},
-
new MetadataOptions
{
ItemType = "MusicVideo",
- DisabledMetadataFetchers = new []{ "The Open Movie Database" },
- DisabledImageFetchers = new []{ "The Open Movie Database", "FanArt" }
+ DisabledMetadataFetchers = new [] { "The Open Movie Database" },
+ DisabledImageFetchers = new [] { "The Open Movie Database", "FanArt" }
},
-
new MetadataOptions
{
ItemType = "Series",
- DisabledMetadataFetchers = new []{ "TheMovieDb" },
- DisabledImageFetchers = new []{ "TheMovieDb" }
+ DisabledMetadataFetchers = new [] { "TheMovieDb" },
+ DisabledImageFetchers = new [] { "TheMovieDb" }
},
-
new MetadataOptions
{
ItemType = "MusicAlbum",
- DisabledMetadataFetchers = new []{ "TheAudioDB" }
+ DisabledMetadataFetchers = new [] { "TheAudioDB" }
},
-
new MetadataOptions
{
ItemType = "MusicArtist",
- DisabledMetadataFetchers = new []{ "TheAudioDB" }
+ DisabledMetadataFetchers = new [] { "TheAudioDB" }
},
-
new MetadataOptions
{
ItemType = "BoxSet"
},
-
new MetadataOptions
{
ItemType = "Season",
- DisabledMetadataFetchers = new []{ "TheMovieDb" },
+ DisabledMetadataFetchers = new [] { "TheMovieDb" },
DisabledImageFetchers = new [] { "FanArt" }
},
-
new MetadataOptions
{
ItemType = "Episode",
- DisabledMetadataFetchers = new []{ "The Open Movie Database", "TheMovieDb" },
- DisabledImageFetchers = new []{ "The Open Movie Database", "TheMovieDb" }
+ DisabledMetadataFetchers = new [] { "The Open Movie Database", "TheMovieDb" },
+ DisabledImageFetchers = new [] { "The Open Movie Database", "TheMovieDb" }
}
};
}
diff --git a/MediaBrowser.Model/Configuration/UserConfiguration.cs b/MediaBrowser.Model/Configuration/UserConfiguration.cs
index 34b0be095..39b956138 100644
--- a/MediaBrowser.Model/Configuration/UserConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/UserConfiguration.cs
@@ -57,10 +57,10 @@ namespace MediaBrowser.Model.Configuration
HidePlayedInLatest = true;
PlayDefaultAudioTrack = true;
- LatestItemsExcludes = new string[] {};
- OrderedViews = new string[] {};
- MyMediaExcludes = new string[] {};
- GroupedFolders = new string[] {};
+ LatestItemsExcludes = Array.Empty<string>();
+ OrderedViews = Array.Empty<string>();
+ MyMediaExcludes = Array.Empty<string>();
+ GroupedFolders = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs b/MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs
deleted file mode 100644
index c60224045..000000000
--- a/MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-namespace MediaBrowser.Model.Connect
-{
- public class ConnectAuthenticationExchangeResult
- {
- /// <summary>
- /// Gets or sets the local user identifier.
- /// </summary>
- /// <value>The local user identifier.</value>
- public string LocalUserId { get; set; }
- /// <summary>
- /// Gets or sets the access token.
- /// </summary>
- /// <value>The access token.</value>
- public string AccessToken { get; set; }
- }
-}
diff --git a/MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs b/MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs
deleted file mode 100644
index 0df035e57..000000000
--- a/MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-namespace MediaBrowser.Model.Connect
-{
- public class ConnectAuthenticationResult
- {
- /// <summary>
- /// Gets or sets the user.
- /// </summary>
- /// <value>The user.</value>
- public ConnectUser User { get; set; }
- /// <summary>
- /// Gets or sets the access token.
- /// </summary>
- /// <value>The access token.</value>
- public string AccessToken { get; set; }
- }
-}
diff --git a/MediaBrowser.Model/Connect/ConnectAuthorization.cs b/MediaBrowser.Model/Connect/ConnectAuthorization.cs
index 84dbf5c36..a949612ab 100644
--- a/MediaBrowser.Model/Connect/ConnectAuthorization.cs
+++ b/MediaBrowser.Model/Connect/ConnectAuthorization.cs
@@ -14,8 +14,8 @@ namespace MediaBrowser.Model.Connect
public ConnectAuthorization()
{
- EnabledLibraries = new string[] {};
- EnabledChannels = new string[] {};
+ EnabledLibraries = Array.Empty<string>();
+ EnabledChannels = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Connect/ConnectAuthorizationRequest.cs b/MediaBrowser.Model/Connect/ConnectAuthorizationRequest.cs
deleted file mode 100644
index ba4e9f5cf..000000000
--- a/MediaBrowser.Model/Connect/ConnectAuthorizationRequest.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-
-namespace MediaBrowser.Model.Connect
-{
- public class ConnectAuthorizationRequest
- {
- public string SendingUserId { get; set; }
- public string ConnectUserName { get; set; }
- public string[] EnabledLibraries { get; set; }
- public bool EnableLiveTv { get; set; }
- public string[] EnabledChannels { get; set; }
-
- public ConnectAuthorizationRequest()
- {
- EnabledLibraries = new string[] {};
- EnabledChannels = new string[] {};
- }
- }
-}
diff --git a/MediaBrowser.Model/Devices/DeviceInfo.cs b/MediaBrowser.Model/Devices/DeviceInfo.cs
index 590dc5eb3..a588ce029 100644
--- a/MediaBrowser.Model/Devices/DeviceInfo.cs
+++ b/MediaBrowser.Model/Devices/DeviceInfo.cs
@@ -5,22 +5,6 @@ namespace MediaBrowser.Model.Devices
{
public class DeviceInfo
{
- /// <summary>
- /// Gets or sets the name of the reported.
- /// </summary>
- /// <value>The name of the reported.</value>
- public string ReportedName { get; set; }
- /// <summary>
- /// Gets or sets the name of the custom.
- /// </summary>
- /// <value>The name of the custom.</value>
- public string CustomName { get; set; }
- /// <summary>
- /// Gets or sets the camera upload path.
- /// </summary>
- /// <value>The camera upload path.</value>
- public string CameraUploadPath { get; set; }
-
public string Name { get; set; }
/// <summary>
diff --git a/MediaBrowser.Model/Devices/DeviceQuery.cs b/MediaBrowser.Model/Devices/DeviceQuery.cs
index fa2e11d4d..2838239e4 100644
--- a/MediaBrowser.Model/Devices/DeviceQuery.cs
+++ b/MediaBrowser.Model/Devices/DeviceQuery.cs
@@ -6,11 +6,6 @@ namespace MediaBrowser.Model.Devices
public class DeviceQuery
{
/// <summary>
- /// Gets or sets a value indicating whether [supports unique identifier].
- /// </summary>
- /// <value><c>null</c> if [supports unique identifier] contains no value, <c>true</c> if [supports unique identifier]; otherwise, <c>false</c>.</value>
- public bool? SupportsPersistentIdentifier { get; set; }
- /// <summary>
/// Gets or sets a value indicating whether [supports synchronize].
/// </summary>
/// <value><c>null</c> if [supports synchronize] contains no value, <c>true</c> if [supports synchronize]; otherwise, <c>false</c>.</value>
diff --git a/MediaBrowser.Model/Devices/DevicesOptions.cs b/MediaBrowser.Model/Devices/DevicesOptions.cs
index 5bcdd1a82..8e478d005 100644
--- a/MediaBrowser.Model/Devices/DevicesOptions.cs
+++ b/MediaBrowser.Model/Devices/DevicesOptions.cs
@@ -10,15 +10,12 @@ namespace MediaBrowser.Model.Devices
public DevicesOptions()
{
- EnabledCameraUploadDevices = new string[] {};
+ EnabledCameraUploadDevices = Array.Empty<string>();
}
}
public class DeviceOptions
{
- public string[] EnabledCameraUploadDevices { get; set; }
- public string CameraUploadPath { get; set; }
- public bool EnableCameraUploadSubfolders { get; set; }
public string CustomName { get; set; }
}
}
diff --git a/MediaBrowser.Model/Dlna/ContainerProfile.cs b/MediaBrowser.Model/Dlna/ContainerProfile.cs
index 3fb0682b0..ccad4cead 100644
--- a/MediaBrowser.Model/Dlna/ContainerProfile.cs
+++ b/MediaBrowser.Model/Dlna/ContainerProfile.cs
@@ -1,7 +1,5 @@
using System;
-using System.Collections.Generic;
using System.Xml.Serialization;
-using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Extensions;
namespace MediaBrowser.Model.Dlna
@@ -17,7 +15,7 @@ namespace MediaBrowser.Model.Dlna
public ContainerProfile()
{
- Conditions = new ProfileCondition[] { };
+ Conditions = Array.Empty<ProfileCondition>();
}
public string[] GetContainers()
@@ -25,13 +23,11 @@ namespace MediaBrowser.Model.Dlna
return SplitValue(Container);
}
- private static readonly string[] EmptyStringArray = Array.Empty<string>();
-
public static string[] SplitValue(string value)
{
if (string.IsNullOrEmpty(value))
{
- return EmptyStringArray;
+ return Array.Empty<string>();
}
return value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
diff --git a/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs b/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
index 966c4a8ce..88d7573e6 100644
--- a/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
+++ b/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
@@ -1,7 +1,6 @@
using MediaBrowser.Model.MediaInfo;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace MediaBrowser.Model.Dlna
{
@@ -28,7 +27,7 @@ namespace MediaBrowser.Model.Dlna
DlnaFlags flagValue = DlnaFlags.BackgroundTransferMode |
DlnaFlags.InteractiveTransferMode |
DlnaFlags.DlnaV15;
-
+
string dlnaflags = string.Format(";DLNA.ORG_FLAGS={0}",
DlnaMaps.FlagsToString(flagValue));
diff --git a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs
index 4fdf4972f..4cde26a03 100644
--- a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs
+++ b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs
@@ -1,13 +1,12 @@
using System;
-using System.Collections.Generic;
using MediaBrowser.Model.Extensions;
namespace MediaBrowser.Model.Dlna
{
public class ResolutionNormalizer
{
- private static readonly ResolutionConfiguration[] Configurations =
- new []
+ private static readonly ResolutionConfiguration[] Configurations =
+ new[]
{
new ResolutionConfiguration(426, 320000),
new ResolutionConfiguration(640, 400000),
@@ -20,24 +19,24 @@ namespace MediaBrowser.Model.Dlna
public static ResolutionOptions Normalize(int? inputBitrate,
int? unused1,
int? unused2,
- int outputBitrate,
- string inputCodec,
+ int outputBitrate,
+ string inputCodec,
string outputCodec,
int? maxWidth,
int? maxHeight)
{
- // If the bitrate isn't changing, then don't downlscale the resolution
- if (inputBitrate.HasValue && outputBitrate >= inputBitrate.Value)
- {
- if (maxWidth.HasValue || maxHeight.HasValue)
- {
- return new ResolutionOptions
- {
- MaxWidth = maxWidth,
- MaxHeight = maxHeight
- };
- }
- }
+ // If the bitrate isn't changing, then don't downlscale the resolution
+ if (inputBitrate.HasValue && outputBitrate >= inputBitrate.Value)
+ {
+ if (maxWidth.HasValue || maxHeight.HasValue)
+ {
+ return new ResolutionOptions
+ {
+ MaxWidth = maxWidth,
+ MaxHeight = maxHeight
+ };
+ }
+ }
var resolutionConfig = GetResolutionConfiguration(outputBitrate);
if (resolutionConfig != null)
@@ -90,8 +89,8 @@ namespace MediaBrowser.Model.Dlna
{
var inputScaleFactor = GetVideoBitrateScaleFactor(inputVideoCodec);
var outputScaleFactor = GetVideoBitrateScaleFactor(outputVideoCodec);
- var scaleFactor = outputScaleFactor/inputScaleFactor;
- var newBitrate = scaleFactor*bitrate;
+ var scaleFactor = outputScaleFactor / inputScaleFactor;
+ var newBitrate = scaleFactor * bitrate;
return Convert.ToInt32(newBitrate);
}
diff --git a/MediaBrowser.Model/Dlna/StreamInfo.cs b/MediaBrowser.Model/Dlna/StreamInfo.cs
index c927cd31c..ba0ac0486 100644
--- a/MediaBrowser.Model/Dlna/StreamInfo.cs
+++ b/MediaBrowser.Model/Dlna/StreamInfo.cs
@@ -18,10 +18,10 @@ namespace MediaBrowser.Model.Dlna
{
public StreamInfo()
{
- AudioCodecs = new string[] { };
- VideoCodecs = new string[] { };
- SubtitleCodecs = new string[] { };
- TranscodeReasons = new TranscodeReason[] { };
+ AudioCodecs = Array.Empty<string>();
+ VideoCodecs = Array.Empty<string>();
+ SubtitleCodecs = Array.Empty<string>();
+ TranscodeReasons = Array.Empty<TranscodeReason>();
StreamOptions = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
diff --git a/MediaBrowser.Model/Dlna/SubtitleProfile.cs b/MediaBrowser.Model/Dlna/SubtitleProfile.cs
index a7e61e69a..f85ba4a7a 100644
--- a/MediaBrowser.Model/Dlna/SubtitleProfile.cs
+++ b/MediaBrowser.Model/Dlna/SubtitleProfile.cs
@@ -1,7 +1,5 @@
using MediaBrowser.Model.Extensions;
-using System.Collections.Generic;
using System.Xml.Serialization;
-using MediaBrowser.Model.Dlna;
namespace MediaBrowser.Model.Dlna
{
@@ -43,4 +41,4 @@ namespace MediaBrowser.Model.Dlna
return languages.Length == 0 || ListHelper.ContainsIgnoreCase(languages, subLanguage);
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/Dto/BaseItemDto.cs b/MediaBrowser.Model/Dto/BaseItemDto.cs
index 3ddbc4150..746d38679 100644
--- a/MediaBrowser.Model/Dto/BaseItemDto.cs
+++ b/MediaBrowser.Model/Dto/BaseItemDto.cs
@@ -4,10 +4,8 @@ using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.Library;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Providers;
-using MediaBrowser.Model.Sync;
using System;
using System.Collections.Generic;
-using MediaBrowser.Model.Serialization;
namespace MediaBrowser.Model.Dto
{
@@ -67,7 +65,6 @@ namespace MediaBrowser.Model.Dto
public int? AirsBeforeSeasonNumber { get; set; }
public int? AirsAfterSeasonNumber { get; set; }
public int? AirsBeforeEpisodeNumber { get; set; }
- public bool? DisplaySpecialsWithSeasons { get; set; }
public bool? CanDelete { get; set; }
public bool? CanDownload { get; set; }
@@ -156,7 +153,6 @@ namespace MediaBrowser.Model.Dto
/// <value>The channel identifier.</value>
public Guid ChannelId { get; set; }
public string ChannelName { get; set; }
- public string ServiceName { get; set; }
/// <summary>
/// Gets or sets the overview.
@@ -480,26 +476,6 @@ namespace MediaBrowser.Model.Dto
public int? MediaSourceCount { get; set; }
/// <summary>
- /// Determines whether the specified type is type.
- /// </summary>
- /// <param name="type">The type.</param>
- /// <returns><c>true</c> if the specified type is type; otherwise, <c>false</c>.</returns>
- public bool IsType(Type type)
- {
- return IsType(type.Name);
- }
-
- /// <summary>
- /// Determines whether the specified type is type.
- /// </summary>
- /// <param name="type">The type.</param>
- /// <returns><c>true</c> if the specified type is type; otherwise, <c>false</c>.</returns>
- public bool IsType(string type)
- {
- return StringHelper.EqualsIgnoreCase(Type, type);
- }
-
- /// <summary>
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
@@ -602,12 +578,6 @@ namespace MediaBrowser.Model.Dto
public DateTime? EndDate { get; set; }
/// <summary>
- /// Gets or sets the home page URL.
- /// </summary>
- /// <value>The home page URL.</value>
- public string HomePageUrl { get; set; }
-
- /// <summary>
/// Gets or sets the locked fields.
/// </summary>
/// <value>The locked fields.</value>
@@ -678,11 +648,6 @@ namespace MediaBrowser.Model.Dto
public int? IsoSpeedRating { get; set; }
/// <summary>
- /// Used by RecordingGroup
- /// </summary>
- public int? RecordingCount { get; set; }
-
- /// <summary>
/// Gets or sets the series timer identifier.
/// </summary>
/// <value>The series timer identifier.</value>
diff --git a/MediaBrowser.Model/Dto/ChapterInfoDto.cs b/MediaBrowser.Model/Dto/ChapterInfoDto.cs
deleted file mode 100644
index b68b55e70..000000000
--- a/MediaBrowser.Model/Dto/ChapterInfoDto.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using MediaBrowser.Model.Serialization;
-
-namespace MediaBrowser.Model.Dto
-{
- /// <summary>
- /// Class ChapterInfo
- /// </summary>
- public class ChapterInfoDto
- {
- /// <summary>
- /// Gets or sets the start position ticks.
- /// </summary>
- /// <value>The start position ticks.</value>
- public long StartPositionTicks { get; set; }
-
- /// <summary>
- /// Gets or sets the name.
- /// </summary>
- /// <value>The name.</value>
- public string Name { get; set; }
-
- /// <summary>
- /// Gets or sets the image tag.
- /// </summary>
- /// <value>The image tag.</value>
- public string ImageTag { get; set; }
-
- /// <summary>
- /// Gets a value indicating whether this instance has image.
- /// </summary>
- /// <value><c>true</c> if this instance has image; otherwise, <c>false</c>.</value>
- [IgnoreDataMember]
- public bool HasImage
- {
- get { return ImageTag != null; }
- }
- }
-}
diff --git a/MediaBrowser.Model/Dto/GameSystemSummary.cs b/MediaBrowser.Model/Dto/GameSystemSummary.cs
index 252868b66..0f21533a0 100644
--- a/MediaBrowser.Model/Dto/GameSystemSummary.cs
+++ b/MediaBrowser.Model/Dto/GameSystemSummary.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System;
+using System;
namespace MediaBrowser.Model.Dto
{
@@ -43,7 +42,7 @@ namespace MediaBrowser.Model.Dto
/// </summary>
public GameSystemSummary()
{
- GameFileExtensions = new string[] {};
+ GameFileExtensions = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Dto/MediaSourceInfo.cs b/MediaBrowser.Model/Dto/MediaSourceInfo.cs
index d1d068fb6..be9c2dff3 100644
--- a/MediaBrowser.Model/Dto/MediaSourceInfo.cs
+++ b/MediaBrowser.Model/Dto/MediaSourceInfo.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.MediaInfo;
using System.Collections.Generic;
using MediaBrowser.Model.Serialization;
@@ -73,7 +72,7 @@ namespace MediaBrowser.Model.Dto
public MediaSourceInfo()
{
- Formats = new string[] { };
+ Formats = Array.Empty<string>();
MediaStreams = new List<MediaStream>();
RequiredHttpHeaders = new Dictionary<string, string>();
SupportsTranscoding = true;
@@ -115,12 +114,6 @@ namespace MediaBrowser.Model.Dto
public int? DefaultAudioStreamIndex { get; set; }
public int? DefaultSubtitleStreamIndex { get; set; }
- [IgnoreDataMember]
- public MediaStream DefaultAudioStream
- {
- get { return GetDefaultAudioStream(DefaultAudioStreamIndex); }
- }
-
public MediaStream GetDefaultAudioStream(int? defaultIndex)
{
if (defaultIndex.HasValue)
diff --git a/MediaBrowser.Model/Dto/MetadataEditorInfo.cs b/MediaBrowser.Model/Dto/MetadataEditorInfo.cs
index aa8b33c81..b7093da71 100644
--- a/MediaBrowser.Model/Dto/MetadataEditorInfo.cs
+++ b/MediaBrowser.Model/Dto/MetadataEditorInfo.cs
@@ -1,7 +1,7 @@
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.Providers;
-using System.Collections.Generic;
+using System;
namespace MediaBrowser.Model.Dto
{
@@ -17,11 +17,11 @@ namespace MediaBrowser.Model.Dto
public MetadataEditorInfo()
{
- ParentalRatingOptions = new ParentalRating[] { };
- Countries = new CountryInfo[] { };
- Cultures = new CultureDto[] { };
- ExternalIdInfos = new ExternalIdInfo[] { };
- ContentTypeOptions = new NameValuePair[] { };
+ ParentalRatingOptions = Array.Empty<ParentalRating>();
+ Countries = Array.Empty<CountryInfo>();
+ Cultures = Array.Empty<CultureDto>();
+ ExternalIdInfos = Array.Empty<ExternalIdInfo>();
+ ContentTypeOptions = Array.Empty<NameValuePair>();
}
}
}
diff --git a/MediaBrowser.Model/Dto/UserDto.cs b/MediaBrowser.Model/Dto/UserDto.cs
index f42c495ad..8d7679fdb 100644
--- a/MediaBrowser.Model/Dto/UserDto.cs
+++ b/MediaBrowser.Model/Dto/UserDto.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Model.Connect;
using MediaBrowser.Model.Users;
using System;
-using MediaBrowser.Model.Serialization;
namespace MediaBrowser.Model.Dto
{
diff --git a/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs b/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs
index dfab9add2..2ae7bead2 100644
--- a/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs
+++ b/MediaBrowser.Model/Entities/LibraryUpdateInfo.cs
@@ -51,12 +51,12 @@ namespace MediaBrowser.Model.Entities
/// </summary>
public LibraryUpdateInfo()
{
- FoldersAddedTo = new string[] { };
- FoldersRemovedFrom = new string[] { };
- ItemsAdded = new string[] { };
- ItemsRemoved = new string[] { };
- ItemsUpdated = new string[] { };
- CollectionFolders = new string[] { };
+ FoldersAddedTo = Array.Empty<string>();
+ FoldersRemovedFrom = Array.Empty<string>();
+ ItemsAdded = Array.Empty<string>();
+ ItemsRemoved = Array.Empty<string>();
+ ItemsUpdated = Array.Empty<string>();
+ CollectionFolders = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Entities/VirtualFolderInfo.cs b/MediaBrowser.Model/Entities/VirtualFolderInfo.cs
index 68f713295..c8374f620 100644
--- a/MediaBrowser.Model/Entities/VirtualFolderInfo.cs
+++ b/MediaBrowser.Model/Entities/VirtualFolderInfo.cs
@@ -34,7 +34,7 @@ namespace MediaBrowser.Model.Entities
/// </summary>
public VirtualFolderInfo()
{
- Locations = new string[] {};
+ Locations = Array.Empty<string>();
}
/// <summary>
diff --git a/MediaBrowser.Model/Globalization/CultureDto.cs b/MediaBrowser.Model/Globalization/CultureDto.cs
index 6d79aaebb..c0eb8b2ad 100644
--- a/MediaBrowser.Model/Globalization/CultureDto.cs
+++ b/MediaBrowser.Model/Globalization/CultureDto.cs
@@ -46,7 +46,7 @@ namespace MediaBrowser.Model.Globalization
public CultureDto()
{
- ThreeLetterISOLanguageNames = new string[] {};
+ ThreeLetterISOLanguageNames = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Library/UserViewQuery.cs b/MediaBrowser.Model/Library/UserViewQuery.cs
index 8b60cfd98..9801b8e8e 100644
--- a/MediaBrowser.Model/Library/UserViewQuery.cs
+++ b/MediaBrowser.Model/Library/UserViewQuery.cs
@@ -27,7 +27,7 @@ namespace MediaBrowser.Model.Library
public UserViewQuery()
{
IncludeExternalContent = true;
- PresetViews = new string[] {};
+ PresetViews = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs b/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs
index e3abd5974..5fe77d41e 100644
--- a/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs
+++ b/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs
@@ -98,7 +98,7 @@ namespace MediaBrowser.Model.LiveTv
public LiveTvChannelQuery()
{
EnableUserData = true;
- SortBy = new string[] {};
+ SortBy = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/LiveTv/LiveTvInfo.cs b/MediaBrowser.Model/LiveTv/LiveTvInfo.cs
index 331b1101b..68281d79b 100644
--- a/MediaBrowser.Model/LiveTv/LiveTvInfo.cs
+++ b/MediaBrowser.Model/LiveTv/LiveTvInfo.cs
@@ -25,8 +25,8 @@ namespace MediaBrowser.Model.LiveTv
public LiveTvInfo()
{
- Services = new LiveTvServiceInfo[] { };
- EnabledUsers = new string[] {};
+ Services = Array.Empty<LiveTvServiceInfo>();
+ EnabledUsers = Array.Empty<string>();
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs
index eb4f20f9e..6a688c7b4 100644
--- a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs
+++ b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs
@@ -25,9 +25,9 @@ namespace MediaBrowser.Model.LiveTv
public LiveTvOptions()
{
- TunerHosts = new TunerHostInfo[] { };
- ListingProviders = new ListingsProviderInfo[] { };
- MediaLocationsCreated = new string[] { };
+ TunerHosts = Array.Empty<TunerHostInfo>();
+ ListingProviders = Array.Empty<ListingsProviderInfo>();
+ MediaLocationsCreated = Array.Empty<string>();
RecordingPostProcessorArguments = "\"{path}\"";
}
}
@@ -76,13 +76,13 @@ namespace MediaBrowser.Model.LiveTv
public ListingsProviderInfo()
{
- NewsCategories = new string[] { "news", "journalism", "documentary", "current affairs" };
- SportsCategories = new string[] { "sports", "basketball", "baseball", "football" };
- KidsCategories = new string[] { "kids", "family", "children", "childrens", "disney" };
- MovieCategories = new string[] { "movie" };
- EnabledTuners = new string[] { };
+ NewsCategories = new [] { "news", "journalism", "documentary", "current affairs" };
+ SportsCategories = new [] { "sports", "basketball", "baseball", "football" };
+ KidsCategories = new [] { "kids", "family", "children", "childrens", "disney" };
+ MovieCategories = new [] { "movie" };
+ EnabledTuners = Array.Empty<string>();
EnableAllTuners = true;
- ChannelMappings = new NameValuePair[] {};
+ ChannelMappings = Array.Empty<NameValuePair>();
}
}
}
diff --git a/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs
index 23eedfc88..4b7ee971c 100644
--- a/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs
+++ b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs
@@ -52,7 +52,7 @@ namespace MediaBrowser.Model.LiveTv
public LiveTvServiceInfo()
{
- Tuners = new string[] { };
+ Tuners = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/LiveTv/ProgramQuery.cs b/MediaBrowser.Model/LiveTv/ProgramQuery.cs
deleted file mode 100644
index 89160948c..000000000
--- a/MediaBrowser.Model/LiveTv/ProgramQuery.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-using MediaBrowser.Model.Entities;
-using System;
-using MediaBrowser.Model.Querying;
-
-namespace MediaBrowser.Model.LiveTv
-{
- /// <summary>
- /// Class ProgramQuery.
- /// </summary>
- public class ProgramQuery
- {
- public ProgramQuery()
- {
- ChannelIds = new Guid[] { };
- OrderBy = new Tuple<string, SortOrder>[] { };
- Genres = new string[] {};
- GenreIds = new Guid[] { };
- EnableTotalRecordCount = true;
- EnableUserData = true;
- }
-
- public bool EnableTotalRecordCount { get; set; }
- public bool EnableUserData { get; set; }
-
- /// <summary>
- /// Fields to return within the items, in addition to basic information
- /// </summary>
- /// <value>The fields.</value>
- public ItemFields[] Fields { get; set; }
- public bool? EnableImages { get; set; }
- public int? ImageTypeLimit { get; set; }
- public ImageType[] EnableImageTypes { get; set; }
-
- /// <summary>
- /// Gets or sets the channel ids.
- /// </summary>
- /// <value>The channel ids.</value>
- public Guid[] ChannelIds { get; set; }
-
- /// <summary>
- /// Gets or sets the user identifier.
- /// </summary>
- /// <value>The user identifier.</value>
- public string UserId { get; set; }
- public string SeriesTimerId { get; set; }
- public string Name { get; set; }
-
- /// <summary>
- /// The earliest date for which a program starts to return
- /// </summary>
- public DateTime? MinStartDate { get; set; }
-
- /// <summary>
- /// The latest date for which a program starts to return
- /// </summary>
- public DateTime? MaxStartDate { get; set; }
-
- /// <summary>
- /// The earliest date for which a program ends to return
- /// </summary>
- public DateTime? MinEndDate { get; set; }
-
- /// <summary>
- /// The latest date for which a program ends to return
- /// </summary>
- public DateTime? MaxEndDate { get; set; }
-
- /// <summary>
- /// Used to specific whether to return news or not
- /// </summary>
- /// <remarks>If set to null, all programs will be returned</remarks>
- public bool? IsNews { get; set; }
-
- /// <summary>
- /// Used to specific whether to return movies or not
- /// </summary>
- /// <remarks>If set to null, all programs will be returned</remarks>
- public bool? IsMovie { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance is kids.
- /// </summary>
- /// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value>
- public bool? IsKids { get; set; }
- /// <summary>
- /// Gets or sets a value indicating whether this instance is sports.
- /// </summary>
- /// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value>
- public bool? IsSports { get; set; }
-
- /// <summary>
- /// Skips over a given number of items within the results. Use for paging.
- /// </summary>
- public int? StartIndex { get; set; }
- public bool? IsSeries { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance has aired.
- /// </summary>
- /// <value><c>null</c> if [has aired] contains no value, <c>true</c> if [has aired]; otherwise, <c>false</c>.</value>
- public bool? HasAired { get; set; }
-
- /// <summary>
- /// The maximum number of items to return
- /// </summary>
- public int? Limit { get; set; }
-
- public Tuple<string, SortOrder>[] OrderBy { get; set; }
-
- /// <summary>
- /// Limit results to items containing specific genres
- /// </summary>
- /// <value>The genres.</value>
- public Guid[] GenreIds { get; set; }
- public string[] Genres { get; set; }
- }
-} \ No newline at end of file
diff --git a/MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs b/MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs
deleted file mode 100644
index 9972c4c3f..000000000
--- a/MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Querying;
-using System;
-
-namespace MediaBrowser.Model.LiveTv
-{
- public class RecommendedProgramQuery
- {
- /// <summary>
- /// Fields to return within the items, in addition to basic information
- /// </summary>
- /// <value>The fields.</value>
- public ItemFields[] Fields { get; set; }
- public bool? EnableImages { get; set; }
- public int? ImageTypeLimit { get; set; }
- public ImageType[] EnableImageTypes { get; set; }
- public Guid[] GenreIds { get; set; }
-
- public bool EnableTotalRecordCount { get; set; }
-
- public RecommendedProgramQuery()
- {
- EnableTotalRecordCount = true;
- GenreIds = new Guid[] { };
- }
-
- /// <summary>
- /// Gets or sets the user identifier.
- /// </summary>
- /// <value>The user identifier.</value>
- public string UserId { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance is airing.
- /// </summary>
- /// <value><c>true</c> if this instance is airing; otherwise, <c>false</c>.</value>
- public bool? IsAiring { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance has aired.
- /// </summary>
- /// <value><c>null</c> if [has aired] contains no value, <c>true</c> if [has aired]; otherwise, <c>false</c>.</value>
- public bool? HasAired { get; set; }
-
- /// <summary>
- /// The maximum number of items to return
- /// </summary>
- /// <value>The limit.</value>
- public int? Limit { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance is movie.
- /// </summary>
- /// <value><c>null</c> if [is movie] contains no value, <c>true</c> if [is movie]; otherwise, <c>false</c>.</value>
- public bool? IsNews { get; set; }
- /// <summary>
- /// Gets or sets a value indicating whether this instance is movie.
- /// </summary>
- /// <value><c>null</c> if [is movie] contains no value, <c>true</c> if [is movie]; otherwise, <c>false</c>.</value>
- public bool? IsMovie { get; set; }
- public bool? IsSeries { get; set; }
- /// <summary>
- /// Gets or sets a value indicating whether this instance is kids.
- /// </summary>
- /// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value>
- public bool? IsKids { get; set; }
- /// <summary>
- /// Gets or sets a value indicating whether this instance is sports.
- /// </summary>
- /// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value>
- public bool? IsSports { get; set; }
- }
-} \ No newline at end of file
diff --git a/MediaBrowser.Model/MediaInfo/MediaInfo.cs b/MediaBrowser.Model/MediaInfo/MediaInfo.cs
index 55545e23a..eb8a4434e 100644
--- a/MediaBrowser.Model/MediaInfo/MediaInfo.cs
+++ b/MediaBrowser.Model/MediaInfo/MediaInfo.cs
@@ -7,8 +7,6 @@ namespace MediaBrowser.Model.MediaInfo
{
public class MediaInfo : MediaSourceInfo, IHasProviderIds
{
- private static readonly string[] EmptyStringArray = new string[] {};
-
public ChapterInfo[] Chapters { get; set; }
/// <summary>
@@ -56,13 +54,13 @@ namespace MediaBrowser.Model.MediaInfo
public MediaInfo()
{
- Chapters = new ChapterInfo[] { };
- Artists = new string[] {};
- AlbumArtists = EmptyStringArray;
- Studios = new string[] {};
- Genres = new string[] {};
- People = new BaseItemPerson[] { };
+ Chapters = Array.Empty<ChapterInfo>();
+ Artists = Array.Empty<string>();
+ AlbumArtists = Array.Empty<string>();
+ Studios = Array.Empty<string>();
+ Genres = Array.Empty<string>();
+ People = Array.Empty<BaseItemPerson>();
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/MediaInfo/PlaybackInfoRequest.cs b/MediaBrowser.Model/MediaInfo/PlaybackInfoRequest.cs
index c68c047f6..91673da9e 100644
--- a/MediaBrowser.Model/MediaInfo/PlaybackInfoRequest.cs
+++ b/MediaBrowser.Model/MediaInfo/PlaybackInfoRequest.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Model.Dlna;
-using System.Collections.Generic;
using System;
namespace MediaBrowser.Model.MediaInfo
diff --git a/MediaBrowser.Model/Notifications/NotificationOption.cs b/MediaBrowser.Model/Notifications/NotificationOption.cs
index cda9e311d..ce49ae209 100644
--- a/MediaBrowser.Model/Notifications/NotificationOption.cs
+++ b/MediaBrowser.Model/Notifications/NotificationOption.cs
@@ -21,18 +21,6 @@ namespace MediaBrowser.Model.Notifications
/// </summary>
/// <value><c>true</c> if enabled; otherwise, <c>false</c>.</value>
public bool Enabled { get; set; }
-
- /// <summary>
- /// Gets or sets the title format string.
- /// </summary>
- /// <value>The title format string.</value>
- public string Title { get; set; }
-
- /// <summary>
- /// Gets or sets the description.
- /// </summary>
- /// <value>The description.</value>
- public string Description { get; set; }
/// <summary>
/// Gets or sets the disabled services.
@@ -48,9 +36,9 @@ namespace MediaBrowser.Model.Notifications
public NotificationOption()
{
- DisabledServices = new string[] {};
- DisabledMonitorUsers = new string[] {};
- SendToUsers = new string[] {};
+ DisabledServices = Array.Empty<string>();
+ DisabledMonitorUsers = Array.Empty<string>();
+ SendToUsers = Array.Empty<string>();
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/Notifications/NotificationRequest.cs b/MediaBrowser.Model/Notifications/NotificationRequest.cs
index 9c89e40fb..7fa57ca9a 100644
--- a/MediaBrowser.Model/Notifications/NotificationRequest.cs
+++ b/MediaBrowser.Model/Notifications/NotificationRequest.cs
@@ -1,5 +1,4 @@
using System;
-using System.Collections.Generic;
namespace MediaBrowser.Model.Notifications
{
@@ -22,8 +21,6 @@ namespace MediaBrowser.Model.Notifications
/// </summary>
public string NotificationType { get; set; }
- public Dictionary<string, string> Variables { get; set; }
-
public SendToUserType? SendToUserMode { get; set; }
public NotificationRequest()
diff --git a/MediaBrowser.Model/Notifications/NotificationServiceInfo.cs b/MediaBrowser.Model/Notifications/NotificationServiceInfo.cs
deleted file mode 100644
index 0ffe7d4ae..000000000
--- a/MediaBrowser.Model/Notifications/NotificationServiceInfo.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace MediaBrowser.Model.Notifications
-{
- public class NotificationServiceInfo
- {
- public string Name { get; set; }
- public string Id { get; set; }
- }
-} \ No newline at end of file
diff --git a/MediaBrowser.Model/Notifications/NotificationTypeInfo.cs b/MediaBrowser.Model/Notifications/NotificationTypeInfo.cs
index 4c3283d8e..203712fa8 100644
--- a/MediaBrowser.Model/Notifications/NotificationTypeInfo.cs
+++ b/MediaBrowser.Model/Notifications/NotificationTypeInfo.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System;
+using System;
namespace MediaBrowser.Model.Notifications
{
@@ -14,16 +13,5 @@ namespace MediaBrowser.Model.Notifications
public string Category { get; set; }
public bool IsBasedOnUserEvent { get; set; }
-
- public string DefaultTitle { get; set; }
-
- public string DefaultDescription { get; set; }
-
- public string[] Variables { get; set; }
-
- public NotificationTypeInfo()
- {
- Variables = new string[] {};
- }
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/Playlists/PlaylistCreationRequest.cs b/MediaBrowser.Model/Playlists/PlaylistCreationRequest.cs
index 4c5c8bf51..db2724efa 100644
--- a/MediaBrowser.Model/Playlists/PlaylistCreationRequest.cs
+++ b/MediaBrowser.Model/Playlists/PlaylistCreationRequest.cs
@@ -1,11 +1,10 @@
-using System.Collections.Generic;
-using System;
+using System;
namespace MediaBrowser.Model.Playlists
{
public class PlaylistCreationRequest
{
- public string Name { get; set; }
+ public string Name { get; set; }
public Guid[] ItemIdList { get; set; }
diff --git a/MediaBrowser.Model/Providers/SubtitleOptions.cs b/MediaBrowser.Model/Providers/SubtitleOptions.cs
index f67b8870d..fde816dd3 100644
--- a/MediaBrowser.Model/Providers/SubtitleOptions.cs
+++ b/MediaBrowser.Model/Providers/SubtitleOptions.cs
@@ -18,10 +18,10 @@ namespace MediaBrowser.Model.Providers
public SubtitleOptions()
{
- DownloadLanguages = new string[] {};
+ DownloadLanguages = Array.Empty<string>();
SkipIfAudioTrackMatches = true;
RequirePerfectMatch = true;
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/Querying/QueryFilters.cs b/MediaBrowser.Model/Querying/QueryFilters.cs
index 992bba303..f46650a03 100644
--- a/MediaBrowser.Model/Querying/QueryFilters.cs
+++ b/MediaBrowser.Model/Querying/QueryFilters.cs
@@ -12,10 +12,10 @@ namespace MediaBrowser.Model.Querying
public QueryFiltersLegacy()
{
- Genres = new string[] {};
- Tags = new string[] {};
- OfficialRatings = new string[] {};
- Years = new int[] { };
+ Genres = Array.Empty<string>();
+ Tags = Array.Empty<string>();
+ OfficialRatings = Array.Empty<string>();
+ Years = Array.Empty<int>();
}
}
public class QueryFilters
@@ -25,8 +25,8 @@ namespace MediaBrowser.Model.Querying
public QueryFilters()
{
- Tags = new string[] {};
- Genres = new NameGuidPair[] { };
+ Tags = Array.Empty<string>();
+ Genres = Array.Empty<NameGuidPair>();
}
}
}
diff --git a/MediaBrowser.Model/Search/SearchQuery.cs b/MediaBrowser.Model/Search/SearchQuery.cs
index 6a1861c8e..9ed2f4ffb 100644
--- a/MediaBrowser.Model/Search/SearchQuery.cs
+++ b/MediaBrowser.Model/Search/SearchQuery.cs
@@ -57,9 +57,9 @@ namespace MediaBrowser.Model.Search
IncludePeople = true;
IncludeStudios = true;
- MediaTypes = new string[] {};
- IncludeItemTypes = new string[] {};
- ExcludeItemTypes = new string[] {};
+ MediaTypes = Array.Empty<string>();
+ IncludeItemTypes = Array.Empty<string>();
+ ExcludeItemTypes = Array.Empty<string>();
}
}
}
diff --git a/MediaBrowser.Model/Session/ClientCapabilities.cs b/MediaBrowser.Model/Session/ClientCapabilities.cs
index 0a780b910..ded4c0e84 100644
--- a/MediaBrowser.Model/Session/ClientCapabilities.cs
+++ b/MediaBrowser.Model/Session/ClientCapabilities.cs
@@ -25,9 +25,9 @@ namespace MediaBrowser.Model.Session
public ClientCapabilities()
{
- PlayableMediaTypes = new string[] {};
- SupportedCommands = new string[] {};
+ PlayableMediaTypes = Array.Empty<string>();
+ SupportedCommands = Array.Empty<string>();
SupportsPersistentIdentifier = true;
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Model/Session/SessionInfoDto.cs b/MediaBrowser.Model/Session/SessionInfoDto.cs
deleted file mode 100644
index ca14107df..000000000
--- a/MediaBrowser.Model/Session/SessionInfoDto.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-using MediaBrowser.Model.Dto;
-using System;
-using System.Collections.Generic;
-
-namespace MediaBrowser.Model.Session
-{
- public class SessionInfoDto
- {
- /// <summary>
- /// Gets or sets the supported commands.
- /// </summary>
- /// <value>The supported commands.</value>
- public string[] SupportedCommands { get; set; }
-
- /// <summary>
- /// Gets or sets the playable media types.
- /// </summary>
- /// <value>The playable media types.</value>
- public string[] PlayableMediaTypes { get; set; }
-
- /// <summary>
- /// Gets or sets the id.
- /// </summary>
- /// <value>The id.</value>
- public string Id { get; set; }
-
- public string ServerId { get; set; }
-
- /// <summary>
- /// Gets or sets the user id.
- /// </summary>
- /// <value>The user id.</value>
- public string UserId { get; set; }
-
- /// <summary>
- /// Gets or sets the user primary image tag.
- /// </summary>
- /// <value>The user primary image tag.</value>
- public string UserPrimaryImageTag { get; set; }
-
- public string RemoteEndPoint { get; set; }
-
- /// <summary>
- /// Gets or sets the name of the user.
- /// </summary>
- /// <value>The name of the user.</value>
- public string UserName { get; set; }
-
- /// <summary>
- /// Gets or sets the additional users present.
- /// </summary>
- /// <value>The additional users present.</value>
- public SessionUserInfo[] AdditionalUsers { get; set; }
-
- /// <summary>
- /// Gets or sets the application version.
- /// </summary>
- /// <value>The application version.</value>
- public string ApplicationVersion { get; set; }
-
- /// <summary>
- /// Gets or sets the type of the client.
- /// </summary>
- /// <value>The type of the client.</value>
- public string Client { get; set; }
-
- /// <summary>
- /// Gets or sets the last activity date.
- /// </summary>
- /// <value>The last activity date.</value>
- public DateTime LastActivityDate { get; set; }
-
- /// <summary>
- /// Gets or sets the name of the device.
- /// </summary>
- /// <value>The name of the device.</value>
- public string DeviceName { get; set; }
-
- public string DeviceType { get; set; }
-
- /// <summary>
- /// Gets or sets the now playing item.
- /// </summary>
- /// <value>The now playing item.</value>
- public BaseItemDto NowPlayingItem { get; set; }
-
- /// <summary>
- /// Gets or sets the device id.
- /// </summary>
- /// <value>The device id.</value>
- public string DeviceId { get; set; }
-
- /// <summary>
- /// Gets or sets the application icon URL.
- /// </summary>
- /// <value>The application icon URL.</value>
- public string AppIconUrl { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether [supports remote control].
- /// </summary>
- /// <value><c>true</c> if [supports remote control]; otherwise, <c>false</c>.</value>
- public bool SupportsRemoteControl { get; set; }
-
- public PlayerStateInfo PlayState { get; set; }
-
- public TranscodingInfo TranscodingInfo { get; set; }
-
- public SessionInfoDto()
- {
- AdditionalUsers = new SessionUserInfo[] { };
-
- PlayableMediaTypes = new string[] {};
- SupportedCommands = new string[] {};
- }
- }
-}
diff --git a/MediaBrowser.Model/Sync/SyncJob.cs b/MediaBrowser.Model/Sync/SyncJob.cs
index 0cf9312a1..3b2e30d70 100644
--- a/MediaBrowser.Model/Sync/SyncJob.cs
+++ b/MediaBrowser.Model/Sync/SyncJob.cs
@@ -1,6 +1,4 @@
using System;
-using System.Collections.Generic;
-using MediaBrowser.Model.Sync;
namespace MediaBrowser.Model.Sync
{
@@ -108,7 +106,7 @@ namespace MediaBrowser.Model.Sync
public SyncJob()
{
- RequestedItemIds = new Guid[] { };
+ RequestedItemIds = Array.Empty<Guid>();
}
}
}
diff --git a/MediaBrowser.Model/Users/UserPolicy.cs b/MediaBrowser.Model/Users/UserPolicy.cs
index 8bddafb5a..e3f6d8620 100644
--- a/MediaBrowser.Model/Users/UserPolicy.cs
+++ b/MediaBrowser.Model/Users/UserPolicy.cs
@@ -78,7 +78,7 @@ namespace MediaBrowser.Model.Users
public UserPolicy()
{
EnableContentDeletion = true;
- EnableContentDeletionFromFolders = new string[] { };
+ EnableContentDeletionFromFolders = Array.Empty<string>();
EnableSyncTranscoding = true;
EnableMediaConversion = true;
@@ -97,20 +97,20 @@ namespace MediaBrowser.Model.Users
EnableSharedDeviceControl = true;
- BlockedTags = new string[] { };
- BlockUnratedItems = new UnratedItem[] { };
+ BlockedTags = Array.Empty<string>();
+ BlockUnratedItems = Array.Empty<UnratedItem>();
EnableUserPreferenceAccess = true;
- AccessSchedules = new AccessSchedule[] { };
+ AccessSchedules = Array.Empty<AccessSchedule>();
EnableAllChannels = true;
- EnabledChannels = new string[] { };
+ EnabledChannels = Array.Empty<string>();
EnableAllFolders = true;
- EnabledFolders = new string[] { };
+ EnabledFolders = Array.Empty<string>();
- EnabledDevices = new string[] { };
+ EnabledDevices = Array.Empty<string>();
EnableAllDevices = true;
EnableContentDownloading = true;
@@ -118,4 +118,4 @@ namespace MediaBrowser.Model.Users
EnableRemoteAccess = true;
}
}
-} \ No newline at end of file
+}
diff --git a/MediaBrowser.Providers/Chapters/ChapterManager.cs b/MediaBrowser.Providers/Chapters/ChapterManager.cs
index 7eb650cca..96e068a1f 100644
--- a/MediaBrowser.Providers/Chapters/ChapterManager.cs
+++ b/MediaBrowser.Providers/Chapters/ChapterManager.cs
@@ -1,20 +1,11 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Chapters;
+using MediaBrowser.Controller.Chapters;
using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Movies;
-using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
namespace MediaBrowser.Providers.Chapters
{
diff --git a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
index 2cf737511..f9348a761 100644
--- a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
+++ b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Events;
-using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
@@ -189,13 +188,12 @@ namespace MediaBrowser.Providers.Subtitles
}
catch (Exception ex)
{
- EventHelper.FireEventIfNotNull(SubtitleDownloadFailure, this, new SubtitleDownloadFailureEventArgs
+ SubtitleDownloadFailure?.Invoke(this, new SubtitleDownloadFailureEventArgs
{
Item = video,
Exception = ex,
Provider = provider.Name
-
- }, _logger);
+ });
throw;
}