Merge "Fix work tab is gone when leaving search mode" into ub-launcher3-master
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index af7ca51..2e544ec 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -27,7 +27,6 @@
import android.support.v7.widget.RecyclerView;
import android.text.Selection;
import android.text.SpannableStringBuilder;
-import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -149,9 +148,7 @@
*/
public void setApps(List<AppInfo> apps) {
boolean hasWorkProfileApp = hasWorkProfileApp(apps);
- if (mUsingTabs != hasWorkProfileApp) {
- rebindAdapters(hasWorkProfileApp);
- }
+ rebindAdapters(hasWorkProfileApp);
mComponentToAppMap.clear();
addOrUpdateApps(apps);
}
@@ -262,7 +259,7 @@
});
mHeader = findViewById(R.id.all_apps_header);
- rebindAdapters(mUsingTabs);
+ rebindAdapters(mUsingTabs, true /* force */);
mSearchContainer = findViewById(R.id.search_container_all_apps);
mSearchUiManager = (SearchUiManager) mSearchContainer;
@@ -396,9 +393,14 @@
}
private void rebindAdapters(boolean showTabs) {
- if (showTabs != mUsingTabs) {
- replaceRVContainer(showTabs);
+ rebindAdapters(showTabs, false /* force */);
+ }
+
+ private void rebindAdapters(boolean showTabs, boolean force) {
+ if (showTabs == mUsingTabs && !force) {
+ return;
}
+ replaceRVContainer(showTabs);
mUsingTabs = showTabs;
if (mUsingTabs) {
@@ -540,13 +542,16 @@
for (int i = 0; i < mAH.length; i++) {
mAH[i].adapter.setLastSearchQuery(query);
}
- boolean hasQuery = !TextUtils.isEmpty(query);
- if (mUsingTabs && hasQuery) {
+ if (mUsingTabs) {
mSearchModeWhileUsingTabs = true;
rebindAdapters(false); // hide tabs
- } else if (mSearchModeWhileUsingTabs && !hasQuery) {
- mSearchModeWhileUsingTabs = false;
+ }
+ }
+
+ public void onClearSearchResult() {
+ if (mSearchModeWhileUsingTabs) {
rebindAdapters(true); // show tabs
+ mSearchModeWhileUsingTabs = false;
}
}
diff --git a/src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java b/src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java
index e65a2c4..ed41f13 100644
--- a/src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java
+++ b/src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java
@@ -184,6 +184,7 @@
mSearchQueryBuilder.clear();
mSearchQueryBuilder.clearSpans();
Selection.setSelection(mSearchQueryBuilder, 0);
+ mAppsView.onClearSearchResult();
}
@Override