From 2146a873c297d070ddae228e15d0a363bf449461 Mon Sep 17 00:00:00 2001 From: "Wesley.CW Wang" Date: Mon, 18 Oct 2021 16:46:58 +0800 Subject: [PATCH] Revert "Add PowerSaveWhitelistExceptIdle as Optimizted modes condition" - Reverts commit e7cca4cd813a46d9ac3ba2e7523561fc1358ae37 - Add try-catch to handle unexpected operate Reason for revert: Previous fix will cause a side effect which makes app stuck at Optimize mode after switching state from Unrestricted to Optimize, add a try catch to handle previous issue first BYPASS_INCLUSIVE_LANGUAGE_REASON=legacy naming, not edit by this code change Bug: 199892006 Test: make SettingsRoboTests Change-Id: I3b1850ab66bbf4cd605f14152a244a8ed7edd578 --- .../settings/fuelgauge/AdvancedPowerUsageDetail.java | 6 +++--- .../settings/fuelgauge/BatteryOptimizeUtils.java | 10 +++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index dada8142adc..94b29a338d5 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -363,17 +363,17 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final String footerString; if (!mBatteryOptimizeUtils.isValidPackageName()) { - //Present optimized only string when the package name is invalid. + // Present optimized only string when the package name is invalid. stateString = context.getString(R.string.manager_battery_usage_optimized_only); footerString = context.getString( R.string.manager_battery_usage_footer_limited, stateString); } else if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) { - //Present unrestricted only string when the package is system or default active app. + // Present unrestricted only string when the package is system or default active app. stateString = context.getString(R.string.manager_battery_usage_unrestricted_only); footerString = context.getString( R.string.manager_battery_usage_footer_limited, stateString); } else { - //Present default string to normal app. + // Present default string to normal app. footerString = context.getString(R.string.manager_battery_usage_footer); } mFooterPreference.setTitle(footerString); diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java index db29ac6e549..3d953959f68 100644 --- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java @@ -89,8 +89,16 @@ public class BatteryOptimizeUtils { return getAppOptimizationMode(mMode, mAllowListed); } - /** Sets the {@link OptimizationMode} for associated app. */ public void setAppOptimizationMode(@OptimizationMode int mode) { + try { + setAppUsageStateInternal(mode); + } catch (Exception e) { + Log.e(TAG, "setAppUsageState() is failed for " + mPackageName, e); + } + } + + /** Sets the {@link OptimizationMode} for associated app. */ + public void setAppUsageStateInternal(@OptimizationMode int mode) { if (getAppOptimizationMode(mMode, mAllowListed) == mode) { Log.w(TAG, "set the same optimization mode for: " + mPackageName); return;