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

Commit bc86e474 authored by jackqdyulei's avatar jackqdyulei
Browse files

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
parent 402abcc9
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -136,7 +136,8 @@ public class PowerUsageSummary extends PowerUsageBase implements
    SparseArray<List<Anomaly>> 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,9 +862,15 @@ public class PowerUsageSummary extends PowerUsageBase implements

    @Override
    protected void restartBatteryStatsLoader() {
        restartBatteryStatsLoader(true /* clearHeader */);
    }

    void restartBatteryStatsLoader(boolean clearHeader) {
        super.restartBatteryStatsLoader();
        if (clearHeader) {
            mBatteryHeaderPreferenceController.quickUpdateHeaderPreference();
        }
    }

    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
        private final Context mContext;
+11 −0
Original line number Diff line number Diff line
@@ -157,6 +157,8 @@ public class PowerUsageSummaryTest {
    private PreferenceGroup mAppListGroup;
    @Mock
    private AnomalyDetectionPolicy mAnomalyDetectionPolicy;
    @Mock
    private BatteryHeaderPreferenceController mBatteryHeaderPreferenceController;

    private List<BatterySipper> 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;