From ac1aa9959160fd906ae23103abc85eb13b5936c1 Mon Sep 17 00:00:00 2001 From: mxyyiyi Date: Wed, 17 Jan 2024 14:29:28 +0800 Subject: [PATCH] Set Switch Preference disabled when app battery optmization mode is immutabled. Bug: 320600016 Test: manual Change-Id: I7ebd604c64a0618f94c0b5e6fcf398a661657125 --- .../AllowBackgroundPreferenceController.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java b/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java index ab9a9e015d3..52cec79599a 100644 --- a/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java +++ b/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java @@ -49,9 +49,18 @@ public class AllowBackgroundPreferenceController extends AbstractPreferenceContr } } + private void setEnabled(Preference preference, boolean enabled) { + if (preference instanceof PrimarySwitchPreference) { + ((PrimarySwitchPreference) preference).setEnabled(enabled); + ((PrimarySwitchPreference) preference).setSwitchEnabled(enabled); + } else if (preference instanceof MainSwitchPreference) { + ((MainSwitchPreference) preference).setEnabled(enabled); + } + } + @Override public void updateState(Preference preference) { - preference.setEnabled(mBatteryOptimizeUtils.isOptimizeModeMutable()); + setEnabled(preference, mBatteryOptimizeUtils.isOptimizeModeMutable()); final boolean isAllowBackground = mBatteryOptimizeUtils.getAppOptimizationMode()