]> granicus.if.org Git - handbrake/commitdiff
WinGui: Add log messages around preset service actions that were not previously logged.
authorsr55 <sr55.hb@outlook.com>
Sat, 9 Mar 2019 21:13:45 +0000 (21:13 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 9 Mar 2019 21:14:24 +0000 (21:14 +0000)
win/CS/HandBrakeWPF/Services/Presets/PresetService.cs

index a8a06d74d33f1e50bc2fb03a933760029cfc81e4..c54780042f28ff7cb7022c6b8cf5fe61ff647f4d 100644 (file)
@@ -29,6 +29,9 @@ namespace HandBrakeWPF.Services.Presets
     using HandBrakeWPF.Properties;\r
     using HandBrakeWPF.Services.Encode.Model.Models;\r
     using HandBrakeWPF.Services.Interfaces;\r
+    using HandBrakeWPF.Services.Logging;\r
+    using HandBrakeWPF.Services.Logging.Interfaces;\r
+    using HandBrakeWPF.Services.Logging.Model;\r
     using HandBrakeWPF.Services.Presets.Factories;\r
     using HandBrakeWPF.Services.Presets.Interfaces;\r
     using HandBrakeWPF.Services.Presets.Model;\r
@@ -43,10 +46,6 @@ namespace HandBrakeWPF.Services.Presets
     /// </summary>\r
     public class PresetService : IPresetService\r
     {\r
-        // TODO Strip out the error handling from this service and let upstream UI layer handle it.\r
-\r
-        #region Private Variables\r
-\r
         public const int ForcePresetReset = 3;\r
         public static string UserPresetCatgoryName = "Custom Presets";\r
         private readonly string presetFile = Path.Combine(DirectoryUtilities.GetUserStoragePath(VersionHelper.IsNightly()), "presets.json");\r
@@ -55,8 +54,8 @@ namespace HandBrakeWPF.Services.Presets
         private readonly List<Preset> flatPresetList = new List<Preset>();\r
         private readonly IErrorService errorService;\r
         private readonly IUserSettingService userSettingService;\r
+        private ILog log = LogService.GetLogger();\r
 \r
-        #endregion\r
 \r
         /// <summary>\r
         /// Initializes a new instance of the <see cref="PresetService"/> class.\r
@@ -95,8 +94,6 @@ namespace HandBrakeWPF.Services.Presets
             }\r
         }\r
 \r
-        #region Public Methods\r
-\r
         /// <summary>\r
         /// The load.\r
         /// </summary>\r
@@ -487,6 +484,7 @@ namespace HandBrakeWPF.Services.Presets
             // Verify we have presets.\r
             if (this.presets.Count == 0)\r
             {\r
+                this.ServiceLogMessage("Failed to load built-in presets.");\r
                 throw new GeneralApplicationException("Failed to load built-in presets.", "Restarting HandBrake may resolve this issue", null);\r
             }\r
 \r
@@ -601,10 +599,6 @@ namespace HandBrakeWPF.Services.Presets
             return categoriesList;\r
         }\r
 \r
-        #endregion\r
-\r
-        #region Private Helpers\r
-\r
         /// <summary>\r
         /// Recover from a corrupted preset file\r
         /// Add .old to the current filename, and delete the current file.\r
@@ -632,8 +626,9 @@ namespace HandBrakeWPF.Services.Presets
 \r
                 return disabledFile;\r
             }\r
-            catch (IOException)\r
+            catch (IOException e)\r
             {\r
+                this.ServiceLogMessage(e.ToString());\r
                 // Give up\r
             }\r
 \r
@@ -694,13 +689,14 @@ namespace HandBrakeWPF.Services.Presets
                     }\r
                     catch (Exception exc)\r
                     {\r
-                        Debug.WriteLine("Failed to parse presets file: " + exc);\r
+                        this.ServiceLogMessage("Corrupted Presets File Detected: " + Environment.NewLine + exc);\r
                     }\r
                 }\r
 \r
                 // Sanity Check. Did the container deserialise.\r
-                if (container == null || container.PresetList == null)\r
+                if (container?.PresetList == null)\r
                 {\r
+                    this.ServiceLogMessage("Attempting Preset Recovery ...");\r
                     string filename = this.RecoverFromCorruptedPresetFile(this.presetFile);\r
                     this.errorService.ShowMessageBox(\r
                         Resources.PresetService_UnableToLoadPresets + filename,\r
@@ -709,6 +705,7 @@ namespace HandBrakeWPF.Services.Presets
                         MessageBoxImage.Exclamation);\r
 \r
                     this.UpdateBuiltInPresets();\r
+                    this.ServiceLogMessage("Recovery Completed!");\r
                     return; // Update built-in presets stores the presets locally, so just return.\r
                 }\r
 \r
@@ -749,7 +746,7 @@ namespace HandBrakeWPF.Services.Presets
             }\r
             catch (Exception ex)\r
             {\r
-                Debug.WriteLine(ex);\r
+                this.ServiceLogMessage(ex.ToString());\r
                 this.RecoverFromCorruptedPresetFile(this.presetFile);\r
                 this.UpdateBuiltInPresets();\r
             }\r
@@ -858,7 +855,6 @@ namespace HandBrakeWPF.Services.Presets
             }\r
             catch (Exception exc)\r
             {\r
-                Debug.WriteLine(exc);\r
                 throw new GeneralApplicationException("Unable to write to the presets file.", "The details section below may indicate why this error has occurred.", exc);\r
             }\r
         }\r
@@ -937,6 +933,9 @@ namespace HandBrakeWPF.Services.Presets
             }\r
         }\r
 \r
-        #endregion\r
+        protected void ServiceLogMessage(string message)\r
+        {\r
+            this.log.LogMessage(string.Format("Preset Service: {0}{1}{0}", Environment.NewLine, message), LogMessageType.Application, LogLevel.Info);\r
+        }\r
     }\r
 }
\ No newline at end of file