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

Commit f9a5c39c authored by jackqdyulei's avatar jackqdyulei
Browse files

Make flag "showAllapps" persistent in PowerUsageSummary

This flag is used to decide whether to show all the apps
(including system app, service..) in battery settings

Handle it in onCreate() and onSaveInstanceState()

Bug: 62422948
Test: RunSettingsRoboTests
Change-Id: I30c0d6e1e25902f1192fc2564aa09d635b5e0f4f
parent 377907eb
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
    private static final boolean USE_FAKE_DATA = false;
    private static final String KEY_APP_LIST = "app_list";
    private static final String KEY_BATTERY_HEADER = "battery_header";
    private static final String KEY_SHOW_ALL_APPS = "show_all_apps";
    private static final int MAX_ITEMS_TO_LIST = USE_FAKE_DATA ? 30 : 10;
    private static final int MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP = 10;

@@ -242,6 +243,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
        mAnomalySparseArray = new SparseArray<>();

        restartBatteryInfoLoader();
        restoreSavedInstance(icicle);
    }

    @Override
@@ -264,6 +266,12 @@ public class PowerUsageSummary extends PowerUsageBase implements
        }
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putBoolean(KEY_SHOW_ALL_APPS, mShowAllApps);
    }

    @Override
    public boolean onPreferenceTreeClick(Preference preference) {
        if (mAnomalySummaryPreferenceController.onPreferenceTreeClick(preference)) {
@@ -375,6 +383,13 @@ public class PowerUsageSummary extends PowerUsageBase implements
        }
    }

    @VisibleForTesting
    void restoreSavedInstance(Bundle savedInstance) {
        if (savedInstance != null) {
            mShowAllApps = savedInstance.getBoolean(KEY_SHOW_ALL_APPS, false);
        }
    }

    private void addNotAvailableMessage() {
        final String NOT_AVAILABLE = "not_available";
        Preference notAvailable = getCachedPreference(NOT_AVAILABLE);
+15 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.content.ContentResolver;
import android.os.PowerManager;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.SparseArray;
@@ -145,6 +146,8 @@ public class PowerUsageSummaryTest {
    private LoaderManager mLoaderManager;
    @Mock
    private ContentResolver mContentResolver;
    @Mock
    private PreferenceScreen mPreferenceScreen;

    private List<BatterySipper> mUsageList;
    private Context mRealContext;
@@ -466,6 +469,18 @@ public class PowerUsageSummaryTest {
        assertThat(summary1.getText().toString().contains(OLD_EST_SUFFIX));
    }

    @Test
    public void testSaveInstanceState_showAllAppsRestored() {
        Bundle bundle = new Bundle();
        mFragment.mShowAllApps = true;
        doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();

        mFragment.onSaveInstanceState(bundle);
        mFragment.restoreSavedInstance(bundle);

        assertThat(mFragment.mShowAllApps).isTrue();
    }

    public static class TestFragment extends PowerUsageSummary {

        private Context mContext;