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
This commit is contained in:
@@ -85,6 +85,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
private static final boolean USE_FAKE_DATA = false;
|
private static final boolean USE_FAKE_DATA = false;
|
||||||
private static final String KEY_APP_LIST = "app_list";
|
private static final String KEY_APP_LIST = "app_list";
|
||||||
private static final String KEY_BATTERY_HEADER = "battery_header";
|
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 MAX_ITEMS_TO_LIST = USE_FAKE_DATA ? 30 : 10;
|
||||||
private static final int MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP = 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<>();
|
mAnomalySparseArray = new SparseArray<>();
|
||||||
|
|
||||||
restartBatteryInfoLoader();
|
restartBatteryInfoLoader();
|
||||||
|
restoreSavedInstance(icicle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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
|
@Override
|
||||||
public boolean onPreferenceTreeClick(Preference preference) {
|
public boolean onPreferenceTreeClick(Preference preference) {
|
||||||
if (mAnomalySummaryPreferenceController.onPreferenceTreeClick(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() {
|
private void addNotAvailableMessage() {
|
||||||
final String NOT_AVAILABLE = "not_available";
|
final String NOT_AVAILABLE = "not_available";
|
||||||
Preference notAvailable = getCachedPreference(NOT_AVAILABLE);
|
Preference notAvailable = getCachedPreference(NOT_AVAILABLE);
|
||||||
|
@@ -25,6 +25,7 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
@@ -145,6 +146,8 @@ public class PowerUsageSummaryTest {
|
|||||||
private LoaderManager mLoaderManager;
|
private LoaderManager mLoaderManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ContentResolver mContentResolver;
|
private ContentResolver mContentResolver;
|
||||||
|
@Mock
|
||||||
|
private PreferenceScreen mPreferenceScreen;
|
||||||
|
|
||||||
private List<BatterySipper> mUsageList;
|
private List<BatterySipper> mUsageList;
|
||||||
private Context mRealContext;
|
private Context mRealContext;
|
||||||
@@ -466,6 +469,18 @@ public class PowerUsageSummaryTest {
|
|||||||
assertThat(summary1.getText().toString().contains(OLD_EST_SUFFIX));
|
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 {
|
public static class TestFragment extends PowerUsageSummary {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
Reference in New Issue
Block a user