Show previous query upon configuration change

Save the query string before configuration changed and set the previous
query string upon the re-create.

Fixes: 204158119
Test: robotest
Change-Id: I48b2a4b272873665a653d2ebc4c02bb99d4b0d0d
This commit is contained in:
Yi-Ling Chuang
2022-05-04 21:05:11 +08:00
parent c53c5a906f
commit d9453bf8c6
2 changed files with 59 additions and 0 deletions

View File

@@ -173,6 +173,8 @@ public class ManageApplications extends InstrumentedFragment
private static final String EXTRA_HAS_BRIDGE = "hasBridge";
private static final String EXTRA_FILTER_TYPE = "filterType";
@VisibleForTesting
static final String EXTRA_SEARCH_QUERY = "search_query";
@VisibleForTesting
static final String EXTRA_EXPAND_SEARCH_VIEW = "expand_search_view";
// attributes used as keys when passing values to AppInfoDashboardFragment activity
@@ -253,6 +255,8 @@ public class ManageApplications extends InstrumentedFragment
// Whether or not search view is expanded.
@VisibleForTesting
boolean mExpandSearch;
@VisibleForTesting
CharSequence mPreQuery;
private View mRootView;
private Spinner mFilterSpinner;
@@ -358,6 +362,7 @@ public class ManageApplications extends InstrumentedFragment
mFilterType =
savedInstanceState.getInt(EXTRA_FILTER_TYPE, AppFilterRegistry.FILTER_APPS_ALL);
mExpandSearch = savedInstanceState.getBoolean(EXTRA_EXPAND_SEARCH_VIEW);
mPreQuery = savedInstanceState.getCharSequence(EXTRA_SEARCH_QUERY);
}
mInvalidSizeStr = activity.getText(R.string.invalid_size_value);
@@ -544,6 +549,7 @@ public class ManageApplications extends InstrumentedFragment
outState.putBoolean(EXTRA_SHOW_SYSTEM, mShowSystem);
if (mSearchView != null) {
outState.putBoolean(EXTRA_EXPAND_SEARCH_VIEW, !mSearchView.isIconified());
outState.putCharSequence(EXTRA_SEARCH_QUERY, mSearchView.getQuery());
}
if (mApplications != null) {
outState.putBoolean(EXTRA_HAS_ENTRIES, mApplications.mHasReceivedLoadEntries);
@@ -683,6 +689,9 @@ public class ManageApplications extends InstrumentedFragment
if (mExpandSearch) {
searchMenuItem.expandActionView();
}
if (!TextUtils.isEmpty(mPreQuery)) {
mSearchView.setQuery(mPreQuery, true);
}
}
updateOptionsMenu();