浏览代码

Apply suggestions from code review

Co-authored-by: Cody Robibero <cody@robibe.ro>
ConfusedPolarBear 5 年之前
父节点
当前提交
7d9b552403

+ 0 - 1
Emby.Server.Implementations/ApplicationHost.cs

@@ -646,7 +646,6 @@ namespace Emby.Server.Implementations
             serviceCollection.AddSingleton<IAttachmentExtractor, MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor>();
             serviceCollection.AddSingleton<IAttachmentExtractor, MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor>();
         }
         }
 
 
-
         /// <summary>
         /// <summary>
         /// Create services registered with the service container that need to be initialized at application startup.
         /// Create services registered with the service container that need to be initialized at application startup.
         /// </summary>
         /// </summary>

+ 8 - 9
Emby.Server.Implementations/QuickConnect/ConfigurationExtension.cs

@@ -1,18 +1,17 @@
-using System.Collections.Generic;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Common.Configuration;
 
 
 namespace Emby.Server.Implementations.QuickConnect
 namespace Emby.Server.Implementations.QuickConnect
 {
 {
     /// <summary>
     /// <summary>
-    /// Configuration extension to support persistent quick connect configuration
+    /// Configuration extension to support persistent quick connect configuration.
     /// </summary>
     /// </summary>
     public static class ConfigurationExtension
     public static class ConfigurationExtension
     {
     {
         /// <summary>
         /// <summary>
-        /// Return the current quick connect configuration
+        /// Return the current quick connect configuration.
         /// </summary>
         /// </summary>
-        /// <param name="manager">Configuration manager</param>
-        /// <returns></returns>
+        /// <param name="manager">Configuration manager.</param>
+        /// <returns>Current quick connect configuration.</returns>
         public static QuickConnectConfiguration GetQuickConnectConfiguration(this IConfigurationManager manager)
         public static QuickConnectConfiguration GetQuickConnectConfiguration(this IConfigurationManager manager)
         {
         {
             return manager.GetConfiguration<QuickConnectConfiguration>("quickconnect");
             return manager.GetConfiguration<QuickConnectConfiguration>("quickconnect");
@@ -20,17 +19,17 @@ namespace Emby.Server.Implementations.QuickConnect
     }
     }
 
 
     /// <summary>
     /// <summary>
-    /// Configuration factory for quick connect
+    /// Configuration factory for quick connect.
     /// </summary>
     /// </summary>
     public class QuickConnectConfigurationFactory : IConfigurationFactory
     public class QuickConnectConfigurationFactory : IConfigurationFactory
     {
     {
         /// <summary>
         /// <summary>
-        /// Returns the current quick connect configuration
+        /// Returns the current quick connect configuration.
         /// </summary>
         /// </summary>
-        /// <returns></returns>
+        /// <returns>Current quick connect configuration.</returns>
         public IEnumerable<ConfigurationStore> GetConfigurations()
         public IEnumerable<ConfigurationStore> GetConfigurations()
         {
         {
-            return new ConfigurationStore[]
+            return new[]
             {
             {
                 new ConfigurationStore
                 new ConfigurationStore
                 {
                 {

+ 2 - 9
Emby.Server.Implementations/QuickConnect/QuickConnectConfiguration.cs

@@ -3,19 +3,12 @@ using MediaBrowser.Model.QuickConnect;
 namespace Emby.Server.Implementations.QuickConnect
 namespace Emby.Server.Implementations.QuickConnect
 {
 {
     /// <summary>
     /// <summary>
-    /// Persistent quick connect configuration
+    /// Persistent quick connect configuration.
     /// </summary>
     /// </summary>
     public class QuickConnectConfiguration
     public class QuickConnectConfiguration
     {
     {
         /// <summary>
         /// <summary>
-        /// Quick connect configuration object
-        /// </summary>
-        public QuickConnectConfiguration()
-        {
-        }
-
-        /// <summary>
-        /// Persistent quick connect availability state
+        /// Gets or sets persistent quick connect availability state.
         /// </summary>
         /// </summary>
         public QuickConnectState State { get; set; }
         public QuickConnectState State { get; set; }
     }
     }

+ 25 - 10
Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs

@@ -27,15 +27,11 @@ namespace Emby.Server.Implementations.QuickConnect
         private readonly RNGCryptoServiceProvider _rng = new RNGCryptoServiceProvider();
         private readonly RNGCryptoServiceProvider _rng = new RNGCryptoServiceProvider();
         private Dictionary<string, QuickConnectResult> _currentRequests = new Dictionary<string, QuickConnectResult>();
         private Dictionary<string, QuickConnectResult> _currentRequests = new Dictionary<string, QuickConnectResult>();
 
 
-        private IServerConfigurationManager _config;
-        private ILogger _logger;
-        private IUserManager _userManager;
-        private ILocalizationManager _localizationManager;
-        private IJsonSerializer _jsonSerializer;
-        private IAuthenticationRepository _authenticationRepository;
-        private IAuthorizationContext _authContext;
-        private IServerApplicationHost _appHost;
-        private ITaskManager _taskManager;
+        private readonly IServerConfigurationManager _config;
+        private readonly ILogger<QuickConnectManager> _logger;
+        private readonly IAuthenticationRepository _authenticationRepository;
+        private readonly IAuthorizationContext _authContext;
+        private readonly IServerApplicationHost _appHost;
 
 
         /// <summary>
         /// <summary>
         /// Initializes a new instance of the <see cref="QuickConnectManager"/> class.
         /// Initializes a new instance of the <see cref="QuickConnectManager"/> class.
@@ -207,7 +203,7 @@ namespace Emby.Server.Implementations.QuickConnect
                 scale = BitConverter.ToUInt32(raw, 0);
                 scale = BitConverter.ToUInt32(raw, 0);
             }
             }
 
 
-            int code = (int)(min + (max - min) * (scale / (double)uint.MaxValue));
+            int code = (int)(min + ((max - min) * (scale / (double)uint.MaxValue)));
             return code.ToString(CultureInfo.InvariantCulture);
             return code.ToString(CultureInfo.InvariantCulture);
         }
         }
 
 
@@ -272,7 +268,26 @@ namespace Emby.Server.Implementations.QuickConnect
 
 
             return tokens.Count();
             return tokens.Count();
         }
         }
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        public void Dispose()
+        {
+            Dispose(true);
+            GC.SuppressFinalize(this);
+        }
 
 
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="disposing">Dispose unmanaged resources.</param>
+        protected virtual void Dispose(bool disposing)
+        {
+            if (disposing)
+            {
+                _rng?.Dispose();
+            }
+        }
         private string GenerateSecureRandom(int length = 32)
         private string GenerateSecureRandom(int length = 32)
         {
         {
             var bytes = new byte[length];
             var bytes = new byte[length];

+ 1 - 1
Emby.Server.Implementations/Session/SessionManager.cs

@@ -1413,7 +1413,7 @@ namespace Emby.Server.Implementations.Session
                 Limit = 1
                 Limit = 1
             });
             });
 
 
-            if(result.TotalRecordCount < 1)
+            if (result.TotalRecordCount < 1)
             {
             {
                 throw new SecurityException("Unknown quick connect token");
                 throw new SecurityException("Unknown quick connect token");
             }
             }