Merge "Rename for: force app stay in the battery optimize mode" into main

This commit is contained in:
YK Hung
2023-10-30 04:29:37 +00:00
committed by Android (Google) Code Review
5 changed files with 17 additions and 16 deletions

View File

@@ -529,8 +529,8 @@
<item>content://com.android.settings.slices/intent/media_output_indicator</item>
</string-array>
<!-- List containing the apps cannot be changed the battery optimize modes -->
<string-array name="config_disable_optimization_mode_apps" translatable="false">
<!-- List containing the apps keep in battery mode = "Optimize" -->
<string-array name="config_force_battery_optimize_mode_apps" translatable="false">
</string-array>
<!-- Uri to query non-public Slice Uris. -->

View File

@@ -268,7 +268,7 @@ public final class BatteryBackupHelper implements BackupHelper {
// Start to restore the app optimization mode data.
final int restoreCount = restoreOptimizationMode(mOptimizationModeBytes);
if (restoreCount > 0) {
BatterySettingsMigrateChecker.verifyOptimizationModes(mContext);
BatterySettingsMigrateChecker.verifyBatteryOptimizeModes(mContext);
}
mOptimizationModeBytes = null; // clear data
}

View File

@@ -130,7 +130,7 @@ public class BatteryOptimizeUtils {
/** Return {@code true} if it is disabled for default optimized mode only. */
public boolean isDisabledForOptimizeModeOnly() {
return getAllowList(mContext).contains(mPackageName)
return getForceBatteryOptimizeModeList(mContext).contains(mPackageName)
|| mBatteryUtils.getPackageUid(mPackageName) == BatteryUtils.UID_NULL;
}
@@ -216,9 +216,9 @@ public class BatteryOptimizeUtils {
|| powerAllowlistBackend.isDefaultActiveApp(packageName, uid);
}
static List<String> getAllowList(Context context) {
static List<String> getForceBatteryOptimizeModeList(Context context) {
return Arrays.asList(context.getResources().getStringArray(
R.array.config_disable_optimization_mode_apps));
R.array.config_force_battery_optimize_mode_apps));
}
private static void setAppUsageStateInternal(

View File

@@ -50,17 +50,18 @@ public final class BatterySettingsMigrateChecker extends BroadcastReceiver {
static void verifyConfiguration(Context context) {
context = context.getApplicationContext();
verifySaverConfiguration(context);
verifyOptimizationModes(context);
verifyBatteryOptimizeModes(context);
}
/** Avoid users set important apps into the unexpected battery optimize modes */
static void verifyOptimizationModes(Context context) {
static void verifyBatteryOptimizeModes(Context context) {
Log.d(TAG, "invoke verifyOptimizationModes()");
verifyOptimizationModes(context, BatteryOptimizeUtils.getAllowList(context));
verifyBatteryOptimizeModes(context,
BatteryOptimizeUtils.getForceBatteryOptimizeModeList(context));
}
@VisibleForTesting
static void verifyOptimizationModes(Context context, List<String> allowList) {
static void verifyBatteryOptimizeModes(Context context, List<String> allowList) {
allowList.forEach(packageName -> {
final BatteryOptimizeUtils batteryOptimizeUtils =
BatteryBackupHelper.newBatteryOptimizeUtils(context, packageName,

View File

@@ -151,11 +151,11 @@ public final class BatterySettingsMigrateCheckerTest {
}
@Test
public void verifyOptimizationModes_inAllowList_resetOptimizationMode() throws Exception {
public void verifyBatteryOptimizeModes_inAllowList_resetOptimizationMode() throws Exception {
doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyOptimizationModes(
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModes(
mContext, Arrays.asList(PACKAGE_NAME));
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
@@ -166,22 +166,22 @@ public final class BatterySettingsMigrateCheckerTest {
}
@Test
public void verifyOptimizationModes_optimizedMode_noAction() throws Exception {
public void verifyBatteryOptimizeModes_optimizedMode_noAction() throws Exception {
doReturn(BatteryOptimizeUtils.MODE_OPTIMIZED).when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyOptimizationModes(
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModes(
mContext, Arrays.asList(PACKAGE_NAME));
verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt(), any());
}
@Test
public void verifyOptimizationModes_notInAllowList_noAction() throws Exception {
public void verifyBatteryOptimizeModes_notInAllowList_noAction() throws Exception {
doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyOptimizationModes(
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModes(
mContext, new ArrayList<String>());
verifyNoInteractions(mBatteryOptimizeUtils);