Skip to content

Commit 9aa56d6

Browse files
committed
Allow preventing autupdate when the device runs on battery (fix #4027)
1 parent 822b5b6 commit 9aa56d6

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

src/UniGetUI.Core.Settings/SettingsEngine_Names.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public enum K
3535
AutomaticallyUpdatePackages,
3636
DisableAUPOnMeteredConnections,
3737
DisableAUPOnBatterySaver,
38+
DisableAUPOnBattery,
3839
CustomVcpkgRoot,
3940
AlreadyWarnedAboutAdmin,
4041
ShownTelemetryBanner,
@@ -129,6 +130,7 @@ public static string ResolveKey(K key)
129130
K.AutomaticallyUpdatePackages => "AutomaticallyUpdatePackages",
130131
K.DisableAUPOnMeteredConnections => "DisableAUPOnMeteredConnections",
131132
K.DisableAUPOnBatterySaver => "DisableAUPOnBatterySaver",
133+
K.DisableAUPOnBattery => "DisableAUPOnBattery",
132134
K.CustomVcpkgRoot => "CustomVcpkgRoot",
133135
K.AlreadyWarnedAboutAdmin => "AlreadyWarnedAboutAdmin",
134136
K.ShownTelemetryBanner => "ShownTelemetryBanner",

src/UniGetUI/Pages/SettingsPages/GeneralPages/Updates.xaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@
6060
SettingName="DisableAUPOnMeteredConnections"
6161
Text="Do not automatically install updates when the network connection is metered" />
6262

63+
<widgets:CheckboxCard
64+
BorderThickness="1,1,1,0"
65+
CornerRadius="0"
66+
ForceInversion="True"
67+
IsEnabled="{x:Bind AutomaticallyUpdatePackages._checkbox.IsOn, Mode=OneWay}"
68+
SettingName="DisableAUPOnBattery"
69+
Text="Do not automatically install updates when the device runs on battery" />
70+
6371
<widgets:CheckboxCard
6472
CornerRadius="0,0,8,8"
6573
ForceInversion="True"

src/UniGetUI/Pages/SoftwarePages/SoftwareUpdatesPage.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,12 @@ protected override void WhenPackagesLoaded(ReloadReason reason)
356356
EnableAutoUpdate = false;
357357
}
358358

359+
if (PowerManager.PowerSupplyStatus is PowerSupplyStatus.NotPresent && Settings.Get(Settings.K.DisableAUPOnBattery))
360+
{
361+
Logger.Warn("Updates will not be installed automatically because the device is on battery.");
362+
EnableAutoUpdate = false;
363+
}
364+
359365
if (PowerManager.EnergySaverStatus is EnergySaverStatus.On && Settings.Get(Settings.K.DisableAUPOnBatterySaver))
360366
{
361367
Logger.Warn("Updates will not be installed automatically because battery saver is enabled.");

0 commit comments

Comments
 (0)