Prevent refreshing app search results with empty query.
- Any change to the TextView text will cause mQuery to be set,
which will cause a new search next time refreshSearchResult
is called. We should also be checking there if it is a valid
search query before starting a new search.
Bug: 30606307
Change-Id: I08640c56199211f2aeea2386fcf699810853ab58
diff --git a/src/com/android/launcher3/allapps/AllAppsSearchBarController.java b/src/com/android/launcher3/allapps/AllAppsSearchBarController.java
index b965d74..9a48367 100644
--- a/src/com/android/launcher3/allapps/AllAppsSearchBarController.java
+++ b/src/com/android/launcher3/allapps/AllAppsSearchBarController.java
@@ -20,6 +20,7 @@
import android.graphics.Rect;
import android.net.Uri;
import android.text.Editable;
+import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.View;
@@ -102,7 +103,7 @@
}
protected void refreshSearchResult() {
- if (mQuery == null) {
+ if (TextUtils.isEmpty(mQuery)) {
return;
}
// If play store continues auto updating an app, we want to show partial result.
@@ -143,7 +144,6 @@
unfocusSearchField();
mCb.clearSearchResult();
mInput.setText("");
- // We need to reset this after we clear the input text
mQuery = null;
hideKeyboard();
}