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

Commit 9b6eac28 authored by Wesley.CW Wang's avatar Wesley.CW Wang
Browse files

Move optimization mode backup timing into onPause

 - Move to onPause to avoid some corner case (like kill apps from recent
 app won't trigger onDestroy)

Bug: 195306545
Test: make SettingsRoboTests
Change-Id: I89445a7138c30e6c869ce1c5c9a3f818997d99a7
parent 7fb4cbf0
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -289,22 +289,16 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        if (mEnableTriState) {
            final int selectedPreference = getSelectedPreference();

            notifyBackupManager();
            logMetricCategory(selectedPreference);
            mBatteryOptimizeUtils.setAppUsageState(selectedPreference);
            Log.d(TAG, "Leave with mode: " + selectedPreference);
        }
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        notifyBackupManager();
    }

    @VisibleForTesting
    void notifyBackupManager() {
        if (mEnableTriState
                && mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
        if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
            final BackupManager backupManager = mBackupManager != null
                    ? mBackupManager : new BackupManager(getContext());
            backupManager.dataChanged();
+1 −1
Original line number Diff line number Diff line
@@ -856,7 +856,7 @@ public class AdvancedPowerUsageDetailTest {
                .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
        mFragment.mEnableTriState = false;

        mFragment.notifyBackupManager();
        mFragment.onPause();

        verifyZeroInteractions(mBackupManager);
    }