From d907a12980922c2a3ec705ebb3aa635b61e812d9 Mon Sep 17 00:00:00 2001 From: Wesley Wang Date: Tue, 13 Dec 2022 19:04:42 +0800 Subject: [PATCH] Move setup optimization mode to main thread - Due to unclear root cause of optimization mode being reset after reboot, update the setup logic from deferred background thread to main thread, to avoid any possible background task unexecuted case. Bug: 241735485 Test: make SettingsRoboTests Change-Id: I2de2181321712f89fadc04bf5000aea91a01485a Merged-In: I2de2181321712f89fadc04bf5000aea91a01485a (cherry picked from commit 7423f4390c924e81db94cc20828ccdf78ef24a2f) --- .../android/settings/fuelgauge/AdvancedPowerUsageDetail.java | 2 +- src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 3705dfce3b4..7d080c9cc93 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -301,7 +301,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements notifyBackupManager(); logMetricCategory(selectedPreference); - mBatteryOptimizeUtils.setAppUsageState(selectedPreference); Log.d(TAG, "Leave with mode: " + selectedPreference); } } @@ -468,6 +467,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements updatePreferenceState(mUnrestrictedPreference, selectedKey); updatePreferenceState(mOptimizePreference, selectedKey); updatePreferenceState(mRestrictedPreference, selectedKey); + mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference()); } private void updatePreferenceState(SelectorWithWidgetPreference preference, diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java index dbfacc6907c..e2a4efe9fb8 100644 --- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java @@ -24,7 +24,6 @@ import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.ParceledListSlice; import android.content.pm.UserInfo; -import android.os.AsyncTask; import android.os.UserHandle; import android.os.UserManager; import android.util.ArraySet; @@ -222,10 +221,8 @@ public class BatteryOptimizeUtils { mode == MODE_RESTRICTED ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED; final boolean allowListed = mode == MODE_UNRESTRICTED; - AsyncTask.execute(() -> { - setAppOptimizationModeInternal(appOpsManagerMode, allowListed, uid, packageName, + setAppOptimizationModeInternal(appOpsManagerMode, allowListed, uid, packageName, batteryUtils, powerAllowlistBackend); - }); } private static void setAppOptimizationModeInternal(