Refresh the all apps container search result when apps are installed

b/30102209

> After user comes back from the play store after installing
the app that didn't exist when searched, the app will now be
shown in the filtered search result list.

Change-Id: Ia5fe501596127a7401928e5db2d6f425ad753701
This commit is contained in:
Hyunyoung Song
2016-07-25 14:24:08 -07:00
parent 68f98ac102
commit f66b680239
2 changed files with 17 additions and 3 deletions

View File

@@ -46,6 +46,7 @@ public abstract class AllAppsSearchBarController
protected AlphabeticalAppsList mApps;
protected Callbacks mCb;
protected ExtendedEditText mInput;
private String mQuery;
protected DefaultAppSearchAlgorithm mSearchAlgorithm;
protected InputMethodManager mInputMethodManager;
@@ -94,16 +95,25 @@ public abstract class AllAppsSearchBarController
@Override
public void afterTextChanged(final Editable s) {
String query = s.toString();
if (query.isEmpty()) {
mQuery = s.toString();
if (mQuery.isEmpty()) {
mSearchAlgorithm.cancel(true);
mCb.clearSearchResult();
} else {
mSearchAlgorithm.cancel(false);
mSearchAlgorithm.doSearch(query, mCb);
mSearchAlgorithm.doSearch(mQuery, mCb);
}
}
protected void refreshSearchResult() {
if (mQuery == null) {
return;
}
// If play store continues auto updating an app, we want to show partial result.
mSearchAlgorithm.cancel(false);
mSearchAlgorithm.doSearch(mQuery, mCb);
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// Skip if it's not the right action
@@ -155,6 +165,7 @@ public abstract class AllAppsSearchBarController
* Resets the search bar state.
*/
public void reset() {
mQuery = null;
unfocusSearchField();
mCb.clearSearchResult();
mInput.setText("");