Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c125d29 authored by ykhung's avatar ykhung
Browse files

Remove useless optimization mode backup for FULL_POWER_LIST

Remove the useless backup for the FULL_POWER_LIST, since we will not use
it to restore data, only backup the optimization_mode_list is enough

Test: presubmit
Bug: 192523697
Change-Id: I95f1f41732b8aff090e8b722896d153f6181a6ac
parent 5cd3a729
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -55,7 +55,6 @@ public final class BatteryBackupHelper implements BackupHelper {

    static final String DELIMITER = ",";
    static final String DELIMITER_MODE = ":";
    static final String KEY_FULL_POWER_LIST = "full_power_list";
    static final String KEY_OPTIMIZATION_LIST = "optimization_mode_list";

    @VisibleForTesting
@@ -83,7 +82,7 @@ public final class BatteryBackupHelper implements BackupHelper {
            Log.w(TAG, "ignore performBackup() for non-owner or empty data");
            return;
        }
        final List<String> allowlistedApps = backupFullPowerList(data);
        final List<String> allowlistedApps = getFullPowerList();
        if (allowlistedApps != null) {
            backupOptimizationMode(data, allowlistedApps);
        }
@@ -117,7 +116,7 @@ public final class BatteryBackupHelper implements BackupHelper {
    public void writeNewStateDescription(ParcelFileDescriptor newState) {
    }

    private List<String> backupFullPowerList(BackupDataOutput data) {
    private List<String> getFullPowerList() {
        final long timestamp = System.currentTimeMillis();
        String[] allowlistedApps;
        try {
@@ -131,10 +130,7 @@ public final class BatteryBackupHelper implements BackupHelper {
            Log.w(TAG, "no data found in the getFullPowerList()");
            return new ArrayList<>();
        }

        final String allowedApps = String.join(DELIMITER, allowlistedApps);
        writeBackupData(data, KEY_FULL_POWER_LIST, allowedApps);
        Log.d(TAG, String.format("backup getFullPowerList() size=%d in %d/ms",
        Log.d(TAG, String.format("getFullPowerList() size=%d in %d/ms",
                allowlistedApps.length, (System.currentTimeMillis() - timestamp)));
        return Arrays.asList(allowlistedApps);
    }
+1 −29
Original line number Diff line number Diff line
@@ -159,34 +159,6 @@ public final class BatteryBackupHelperTest {
        verify(mBackupDataOutput, never()).writeEntityHeader(anyString(), anyInt());
    }

    @Test
    public void performBackup_oneFullPowerListElement_backupFullPowerListData()
            throws Exception {
        final String[] fullPowerList = {"com.android.package"};
        doReturn(fullPowerList).when(mDeviceController).getFullPowerWhitelist();

        mBatteryBackupHelper.performBackup(null, mBackupDataOutput, null);

        final byte[] expectedBytes = fullPowerList[0].getBytes();
        verify(mBackupDataOutput).writeEntityHeader(
                BatteryBackupHelper.KEY_FULL_POWER_LIST, expectedBytes.length);
        verify(mBackupDataOutput).writeEntityData(expectedBytes, expectedBytes.length);
    }

    @Test
    public void performBackup_backupFullPowerListData() throws Exception {
        final String[] fullPowerList = {"com.android.package1", "com.android.package2"};
        doReturn(fullPowerList).when(mDeviceController).getFullPowerWhitelist();

        mBatteryBackupHelper.performBackup(null, mBackupDataOutput, null);

        final String expectedResult = fullPowerList[0] + DELIMITER + fullPowerList[1];
        final byte[] expectedBytes = expectedResult.getBytes();
        verify(mBackupDataOutput).writeEntityHeader(
                BatteryBackupHelper.KEY_FULL_POWER_LIST, expectedBytes.length);
        verify(mBackupDataOutput).writeEntityData(expectedBytes, expectedBytes.length);
    }

    @Test
    public void performBackup_nonOwner_ignoreAllBackupAction() throws Exception {
        ShadowUserHandle.setUid(1);
@@ -283,7 +255,7 @@ public final class BatteryBackupHelperTest {

    @Test
    public void restoreEntity_incorrectDataKey_notReadBackupData() throws Exception {
        final String incorrectDataKey = BatteryBackupHelper.KEY_FULL_POWER_LIST;
        final String incorrectDataKey = "incorrect_data_key";
        mockBackupData(30 /*dataSize*/, incorrectDataKey);

        mBatteryBackupHelper.restoreEntity(mBackupDataInputStream);