Don't update the header when toggle menu
If we only toggle the app type in battery settings, don't update the header. Then it won't have flicker in battery header. Bug: 64065456 Test: RunSettingsRoboTest Change-Id: If1cfa745f723f808ad9c5fd921be797acd3199ba
This commit is contained in:
@@ -136,7 +136,8 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
SparseArray<List<Anomaly>> mAnomalySparseArray;
|
SparseArray<List<Anomaly>> mAnomalySparseArray;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
PreferenceGroup mAppListGroup;
|
PreferenceGroup mAppListGroup;
|
||||||
private BatteryHeaderPreferenceController mBatteryHeaderPreferenceController;
|
@VisibleForTesting
|
||||||
|
BatteryHeaderPreferenceController mBatteryHeaderPreferenceController;
|
||||||
private AnomalySummaryPreferenceController mAnomalySummaryPreferenceController;
|
private AnomalySummaryPreferenceController mAnomalySummaryPreferenceController;
|
||||||
private int mStatsType = BatteryStats.STATS_SINCE_CHARGED;
|
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);
|
item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps);
|
||||||
metricsFeatureProvider.action(context,
|
metricsFeatureProvider.action(context,
|
||||||
MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, mShowAllApps);
|
MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, mShowAllApps);
|
||||||
restartBatteryStatsLoader();
|
restartBatteryStatsLoader(false /* clearHeader */);
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
@@ -861,8 +862,14 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void restartBatteryStatsLoader() {
|
protected void restartBatteryStatsLoader() {
|
||||||
|
restartBatteryStatsLoader(true /* clearHeader */);
|
||||||
|
}
|
||||||
|
|
||||||
|
void restartBatteryStatsLoader(boolean clearHeader) {
|
||||||
super.restartBatteryStatsLoader();
|
super.restartBatteryStatsLoader();
|
||||||
mBatteryHeaderPreferenceController.quickUpdateHeaderPreference();
|
if (clearHeader) {
|
||||||
|
mBatteryHeaderPreferenceController.quickUpdateHeaderPreference();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
|
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
|
||||||
|
@@ -157,6 +157,8 @@ public class PowerUsageSummaryTest {
|
|||||||
private PreferenceGroup mAppListGroup;
|
private PreferenceGroup mAppListGroup;
|
||||||
@Mock
|
@Mock
|
||||||
private AnomalyDetectionPolicy mAnomalyDetectionPolicy;
|
private AnomalyDetectionPolicy mAnomalyDetectionPolicy;
|
||||||
|
@Mock
|
||||||
|
private BatteryHeaderPreferenceController mBatteryHeaderPreferenceController;
|
||||||
|
|
||||||
private List<BatterySipper> mUsageList;
|
private List<BatterySipper> mUsageList;
|
||||||
private Context mRealContext;
|
private Context mRealContext;
|
||||||
@@ -566,6 +568,15 @@ public class PowerUsageSummaryTest {
|
|||||||
verify(mSummary1, times(2)).setOnLongClickListener(any(View.OnLongClickListener.class));
|
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 {
|
public static class TestFragment extends PowerUsageSummary {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
Reference in New Issue
Block a user