Add autofill app preference to Default Apps.

Add an option to AppListPreference to disable saving/restoring state.

Bug: 34396007
Test: Manual verification
Change-Id: I80103bd3d4e8fadfa30b7d3631d24c1b159da0dd
This commit is contained in:
Jason Long
2017-01-18 13:38:23 -08:00
parent 2a7c6bd840
commit d506ddfc3f
4 changed files with 177 additions and 12 deletions

View File

@@ -61,6 +61,8 @@ public class AppListPreference extends CustomListPreference {
protected final boolean mForWork;
protected final int mUserId;
private boolean mSavesState = true;
private Drawable[] mEntryDrawables;
private boolean mShowItemNone = false;
private CharSequence[] mSummaries;
@@ -130,6 +132,10 @@ public class AppListPreference extends CustomListPreference {
: UserHandle.myUserId();
}
public void setSavesState(boolean savesState) {
mSavesState = savesState;
}
public void setShowItemNone(boolean showItemNone) {
mShowItemNone = showItemNone;
}
@@ -261,12 +267,16 @@ public class AppListPreference extends CustomListPreference {
@Override
protected Parcelable onSaveInstanceState() {
Parcelable superState = super.onSaveInstanceState();
return new SavedState(getEntryValues(), getValue(), mSummaries, mShowItemNone, superState);
if (mSavesState) {
return new SavedState(getEntryValues(), getValue(), mSummaries, mShowItemNone, superState);
} else {
return superState;
}
}
@Override
protected void onRestoreInstanceState(Parcelable state) {
if (state instanceof SavedState) {
if (mSavesState || state instanceof SavedState) {
SavedState savedState = (SavedState) state;
mShowItemNone = savedState.showItemNone;
setPackageNames(savedState.entryValues, savedState.value);