From 9b6eac28f30ccf73548e2281456c860fbe3eb8d2 Mon Sep 17 00:00:00 2001 From: "Wesley.CW Wang" Date: Wed, 3 Nov 2021 12:38:10 +0800 Subject: [PATCH] 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 --- .../settings/fuelgauge/AdvancedPowerUsageDetail.java | 10 ++-------- .../fuelgauge/AdvancedPowerUsageDetailTest.java | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 6b024ed705c..eefeb9e9ae2 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -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(); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index 7e975a08e25..db002cb047f 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -856,7 +856,7 @@ public class AdvancedPowerUsageDetailTest { .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED); mFragment.mEnableTriState = false; - mFragment.notifyBackupManager(); + mFragment.onPause(); verifyZeroInteractions(mBackupManager); }