Merge "[Performance] avoid setting the same optimization mode again" into sc-v2-dev am: f3155c03f0 am: f5fe795a34

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15712669

Change-Id: I982c82723e8ec3d79b149f09a6d8ddc0f7d21447
This commit is contained in:
TreeHugger Robot
2021-08-30 11:13:00 +00:00
committed by Automerger Merge Worker
2 changed files with 48 additions and 25 deletions

View File

@@ -36,13 +36,12 @@ public class BatteryOptimizeUtils {
@VisibleForTesting AppOpsManager mAppOpsManager;
@VisibleForTesting BatteryUtils mBatteryUtils;
@VisibleForTesting PowerAllowlistBackend mPowerAllowListBackend;
@VisibleForTesting int mMode;
@VisibleForTesting boolean mAllowListed;
private final String mPackageName;
private final int mUid;
private int mMode;
private boolean mAllowListed;
// Optimization modes.
static final int MODE_UNKNOWN = 0;
static final int MODE_RESTRICTED = 1;
@@ -92,6 +91,10 @@ public class BatteryOptimizeUtils {
/** Sets the {@link OptimizationMode} for associated app. */
public void setAppOptimizationMode(@OptimizationMode int mode) {
if (getAppOptimizationMode(mMode, mAllowListed) == mode) {
Log.w(TAG, "set the same optimization mode for: " + mPackageName);
return;
}
switch (mode) {
case MODE_RESTRICTED:
mBatteryUtils.setForceAppStandby(mUid, mPackageName, AppOpsManager.MODE_IGNORED);