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
This commit is contained in:
Wesley.CW Wang
2021-11-03 12:38:10 +08:00
parent 7fb4cbf005
commit 9b6eac28f3
2 changed files with 3 additions and 9 deletions

View File

@@ -289,22 +289,16 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
if (mEnableTriState) { if (mEnableTriState) {
final int selectedPreference = getSelectedPreference(); final int selectedPreference = getSelectedPreference();
notifyBackupManager();
logMetricCategory(selectedPreference); logMetricCategory(selectedPreference);
mBatteryOptimizeUtils.setAppUsageState(selectedPreference); mBatteryOptimizeUtils.setAppUsageState(selectedPreference);
Log.d(TAG, "Leave with mode: " + selectedPreference); Log.d(TAG, "Leave with mode: " + selectedPreference);
} }
} }
@Override
public void onDestroy() {
super.onDestroy();
notifyBackupManager();
}
@VisibleForTesting @VisibleForTesting
void notifyBackupManager() { void notifyBackupManager() {
if (mEnableTriState if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
&& mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
final BackupManager backupManager = mBackupManager != null final BackupManager backupManager = mBackupManager != null
? mBackupManager : new BackupManager(getContext()); ? mBackupManager : new BackupManager(getContext());
backupManager.dataChanged(); backupManager.dataChanged();

View File

@@ -856,7 +856,7 @@ public class AdvancedPowerUsageDetailTest {
.thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED); .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
mFragment.mEnableTriState = false; mFragment.mEnableTriState = false;
mFragment.notifyBackupManager(); mFragment.onPause();
verifyZeroInteractions(mBackupManager); verifyZeroInteractions(mBackupManager);
} }