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

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

Change-Id: Ic89e75098b40489f66005e1c6309e02c1b427552
This commit is contained in:
TreeHugger Robot
2021-08-30 10:49:36 +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);