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> <item>content://com.android.settings.slices/intent/media_output_indicator</item>
</string-array> </string-array>
<!-- List containing the apps cannot be changed the battery optimize modes --> <!-- List containing the apps keep in battery mode = "Optimize" -->
<string-array name="config_disable_optimization_mode_apps" translatable="false"> <string-array name="config_force_battery_optimize_mode_apps" translatable="false">
</string-array> </string-array>
<!-- Uri to query non-public Slice Uris. --> <!-- 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. // Start to restore the app optimization mode data.
final int restoreCount = restoreOptimizationMode(mOptimizationModeBytes); final int restoreCount = restoreOptimizationMode(mOptimizationModeBytes);
if (restoreCount > 0) { if (restoreCount > 0) {
BatterySettingsMigrateChecker.verifyOptimizationModes(mContext); BatterySettingsMigrateChecker.verifyBatteryOptimizeModes(mContext);
} }
mOptimizationModeBytes = null; // clear data 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. */ /** Return {@code true} if it is disabled for default optimized mode only. */
public boolean isDisabledForOptimizeModeOnly() { public boolean isDisabledForOptimizeModeOnly() {
return getAllowList(mContext).contains(mPackageName) return getForceBatteryOptimizeModeList(mContext).contains(mPackageName)
|| mBatteryUtils.getPackageUid(mPackageName) == BatteryUtils.UID_NULL; || mBatteryUtils.getPackageUid(mPackageName) == BatteryUtils.UID_NULL;
} }
@@ -216,9 +216,9 @@ public class BatteryOptimizeUtils {
|| powerAllowlistBackend.isDefaultActiveApp(packageName, uid); || powerAllowlistBackend.isDefaultActiveApp(packageName, uid);
} }
static List<String> getAllowList(Context context) { static List<String> getForceBatteryOptimizeModeList(Context context) {
return Arrays.asList(context.getResources().getStringArray( 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( private static void setAppUsageStateInternal(

View File

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

View File

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