Merge "[B&R] avoid to backup & restore app which is in the PowerSaveWhitelistExceptIdle" into sc-v2-dev am: b62c1e8142

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

Change-Id: I5050b2e16522f19e4cdd04e317a2118ea881f322
This commit is contained in:
YUKAI HUNG
2021-09-23 11:34:07 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 3 deletions

View File

@@ -263,7 +263,9 @@ public final class BatteryBackupHelper implements BackupHelper {
private boolean isSystemOrDefaultApp(String packageName) {
final PowerAllowlistBackend powerAllowlistBackend = getPowerAllowlistBackend();
return powerAllowlistBackend.isSysAllowlisted(packageName)
|| powerAllowlistBackend.isDefaultActiveApp(packageName);
|| powerAllowlistBackend.isDefaultActiveApp(packageName)
// Optimize mode only for app which is in the allow list not idle app.
|| powerAllowlistBackend.isAllowlistedExceptIdle(packageName);
}
private List<ApplicationInfo> getInstalledApplications() {

View File

@@ -114,6 +114,9 @@ public final class BatteryBackupHelperTest {
mockUid(1001 /*fake uid*/, PACKAGE_NAME1);
mockUid(1002 /*fake uid*/, PACKAGE_NAME2);
mockUid(BatteryUtils.UID_NULL, PACKAGE_NAME3);
doReturn(false).when(mPowerAllowlistBackend).isDefaultActiveApp(anyString());
doReturn(false).when(mPowerAllowlistBackend).isDefaultActiveApp(anyString());
doReturn(false).when(mPowerAllowlistBackend).isAllowlistedExceptIdle(anyString());
}
@After
@@ -218,7 +221,6 @@ public final class BatteryBackupHelperTest {
createTestingData(PACKAGE_NAME1, PACKAGE_NAME2, PACKAGE_NAME3);
// Sets "com.android.testing.1" as system app.
doReturn(true).when(mPowerAllowlistBackend).isSysAllowlisted(PACKAGE_NAME1);
doReturn(false).when(mPowerAllowlistBackend).isDefaultActiveApp(anyString());
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, allowlistedApps);
@@ -234,7 +236,21 @@ public final class BatteryBackupHelperTest {
createTestingData(PACKAGE_NAME1, PACKAGE_NAME2, PACKAGE_NAME3);
// Sets "com.android.testing.1" as device default app.
doReturn(true).when(mPowerAllowlistBackend).isDefaultActiveApp(PACKAGE_NAME1);
doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(anyString());
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, allowlistedApps);
// "com.android.testing.2" for RESTRICTED mode.
final String expectedResult = PACKAGE_NAME2 + ":1,";
verifyBackupData(expectedResult);
}
@Test
public void backupOptimizationMode_backupOptimizationAndIgnoreAppInTheAllowlist()
throws Exception {
final List<String> allowlistedApps = Arrays.asList(PACKAGE_NAME1);
createTestingData(PACKAGE_NAME1, PACKAGE_NAME2, PACKAGE_NAME3);
// Sets "com.android.testing.1" in the allowlist.
doReturn(true).when(mPowerAllowlistBackend).isAllowlistedExceptIdle(PACKAGE_NAME1);
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, allowlistedApps);