Merge "Rename for: force app stay in the battery optimize mode" into main
This commit is contained in:
@@ -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. -->
|
||||||
|
@@ -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
|
||||||
}
|
}
|
||||||
|
@@ -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(
|
||||||
|
@@ -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,
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user