Add a flow to keep special apps in the battery unrestricted mode

Fix: 306506148
Test: atest & presubmit
Change-Id: I1636f4fe38394686b40c9f52d37bd9ae6f2c46ba
This commit is contained in:
ykhung
2023-10-30 13:21:55 +08:00
parent d3684f7d1d
commit 6d94558451
5 changed files with 65 additions and 22 deletions

View File

@@ -151,12 +151,15 @@ public final class BatterySettingsMigrateCheckerTest {
}
@Test
public void verifyBatteryOptimizeModes_inAllowList_resetOptimizationMode() throws Exception {
public void verifyBatteryOptimizeModeApps_inAllowList_resetOptimizationMode()
throws Exception {
doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModes(
mContext, Arrays.asList(PACKAGE_NAME));
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
mContext,
BatteryOptimizeUtils.MODE_OPTIMIZED,
Arrays.asList(PACKAGE_NAME));
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
inOrder.verify(mBatteryOptimizeUtils).getAppOptimizationMode();
@@ -166,23 +169,27 @@ public final class BatterySettingsMigrateCheckerTest {
}
@Test
public void verifyBatteryOptimizeModes_optimizedMode_noAction() throws Exception {
public void verifyBatteryOptimizeModeApps_optimizedMode_noAction() throws Exception {
doReturn(BatteryOptimizeUtils.MODE_OPTIMIZED).when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModes(
mContext, Arrays.asList(PACKAGE_NAME));
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
mContext,
BatteryOptimizeUtils.MODE_OPTIMIZED,
Arrays.asList(PACKAGE_NAME));
verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt(), any());
}
@Test
public void verifyBatteryOptimizeModes_notInAllowList_noAction() throws Exception {
public void verifyBatteryOptimizeModeApps_notInAllowList_noAction() throws Exception {
doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModes(
mContext, new ArrayList<String>());
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
mContext,
BatteryOptimizeUtils.MODE_OPTIMIZED,
new ArrayList<String>());
verifyNoInteractions(mBatteryOptimizeUtils);
}