diff --git a/src/modules/awake/Awake/Core/Manager.cs b/src/modules/awake/Awake/Core/Manager.cs index 09b3bbc3e8..865457aae2 100644 --- a/src/modules/awake/Awake/Core/Manager.cs +++ b/src/modules/awake/Awake/Core/Manager.cs @@ -10,11 +10,13 @@ using System.Globalization; using System.IO; using System.Reactive.Linq; using System.Text; +using System.Text.Json; using System.Threading; using Awake.Core.Models; using Awake.Core.Native; using Awake.Properties; using ManagedCommon; +using Microsoft.PowerToys.Settings.UI.Library; using Microsoft.PowerToys.Telemetry; using Microsoft.Win32; @@ -153,6 +155,8 @@ namespace Awake.Core { Logger.LogInfo($"Completed expirable keep-awake."); CancelExistingThread(); + + SetPassiveKeepAwakeMode(Constants.AppName); }, _tokenSource.Token); } @@ -179,6 +183,8 @@ namespace Awake.Core { Logger.LogInfo($"Completed timed thread."); CancelExistingThread(); + + SetPassiveKeepAwakeMode(Constants.AppName); }, _tokenSource.Token); } @@ -285,5 +291,22 @@ namespace Awake.Core }; return optionsList; } + + public static void SetPassiveKeepAwakeMode(string moduleName) + { + try + { + SettingsUtils settingsUtils = new SettingsUtils(); + AwakeSettings settings = new AwakeSettings(); + + settings.Properties.Mode = AwakeMode.PASSIVE; + settingsUtils.SaveSettings(JsonSerializer.Serialize(settings), moduleName); + } + catch (Exception ex) + { + string? errorString = $"Failed to reset Awake mode: {ex.Message}"; + Logger.LogError(errorString); + } + } } } diff --git a/src/modules/awake/Awake/Core/TrayMessageFilter.cs b/src/modules/awake/Awake/Core/TrayMessageFilter.cs index 4745e26169..617245705c 100644 --- a/src/modules/awake/Awake/Core/TrayMessageFilter.cs +++ b/src/modules/awake/Awake/Core/TrayMessageFilter.cs @@ -117,20 +117,7 @@ namespace Awake.Core private static void PassiveKeepAwakeCommandHandler(string moduleName) { - AwakeSettings currentSettings; - - try - { - currentSettings = ModuleSettings!.GetSettings(moduleName); - } - catch (FileNotFoundException) - { - currentSettings = new AwakeSettings(); - } - - currentSettings.Properties.Mode = AwakeMode.PASSIVE; - - ModuleSettings!.SaveSettings(JsonSerializer.Serialize(currentSettings), moduleName); + Manager.SetPassiveKeepAwakeMode(moduleName); } private static void IndefiniteKeepAwakeCommandHandler(string moduleName) diff --git a/src/settings-ui/Settings.UI.Library/AwakeProperties.cs b/src/settings-ui/Settings.UI.Library/AwakeProperties.cs index 6e9735d7b6..6c049933c6 100644 --- a/src/settings-ui/Settings.UI.Library/AwakeProperties.cs +++ b/src/settings-ui/Settings.UI.Library/AwakeProperties.cs @@ -15,7 +15,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library KeepDisplayOn = false; Mode = AwakeMode.PASSIVE; IntervalHours = 0; - IntervalMinutes = 0; + IntervalMinutes = 1; ExpirationDateTime = DateTimeOffset.Now; CustomTrayTimes = new Dictionary(); }