diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index b10a1dfce66..86c3a32d5fe 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -136,7 +136,8 @@ public class PowerUsageSummary extends PowerUsageBase implements SparseArray> mAnomalySparseArray; @VisibleForTesting PreferenceGroup mAppListGroup; - private BatteryHeaderPreferenceController mBatteryHeaderPreferenceController; + @VisibleForTesting + BatteryHeaderPreferenceController mBatteryHeaderPreferenceController; private AnomalySummaryPreferenceController mAnomalySummaryPreferenceController; private int mStatsType = BatteryStats.STATS_SINCE_CHARGED; @@ -381,7 +382,7 @@ public class PowerUsageSummary extends PowerUsageBase implements item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, mShowAllApps); - restartBatteryStatsLoader(); + restartBatteryStatsLoader(false /* clearHeader */); return true; default: return super.onOptionsItemSelected(item); @@ -861,8 +862,14 @@ public class PowerUsageSummary extends PowerUsageBase implements @Override protected void restartBatteryStatsLoader() { + restartBatteryStatsLoader(true /* clearHeader */); + } + + void restartBatteryStatsLoader(boolean clearHeader) { super.restartBatteryStatsLoader(); - mBatteryHeaderPreferenceController.quickUpdateHeaderPreference(); + if (clearHeader) { + mBatteryHeaderPreferenceController.quickUpdateHeaderPreference(); + } } private static class SummaryProvider implements SummaryLoader.SummaryProvider { diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java index 99b9ba9d59b..d76d64b89f1 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java @@ -157,6 +157,8 @@ public class PowerUsageSummaryTest { private PreferenceGroup mAppListGroup; @Mock private AnomalyDetectionPolicy mAnomalyDetectionPolicy; + @Mock + private BatteryHeaderPreferenceController mBatteryHeaderPreferenceController; private List mUsageList; private Context mRealContext; @@ -566,6 +568,15 @@ public class PowerUsageSummaryTest { verify(mSummary1, times(2)).setOnLongClickListener(any(View.OnLongClickListener.class)); } + @Test + public void testRestartBatteryStatsLoader_notClearHeader_quickUpdateNotInvoked() { + mFragment.mBatteryHeaderPreferenceController = mBatteryHeaderPreferenceController; + + mFragment.restartBatteryStatsLoader(false /* clearHeader */); + + verify(mBatteryHeaderPreferenceController, never()).quickUpdateHeaderPreference(); + } + public static class TestFragment extends PowerUsageSummary { private Context mContext;