diff options
Diffstat (limited to 'src/com/android/launcher3')
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsContainerView.java | 27 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java | 1 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index a40f8b380..b88efddf9 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.LinearLayoutManager; 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 class AllAppsContainerView extends RelativeLayout implements DragSource, */ public void setApps(List<AppInfo> apps) { boolean hasWorkProfileApp = hasWorkProfileApp(apps); - if (mUsingTabs != hasWorkProfileApp) { - rebindAdapters(hasWorkProfileApp); - } + rebindAdapters(hasWorkProfileApp); mComponentToAppMap.clear(); addOrUpdateApps(apps); } @@ -261,7 +258,7 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, }); mHeader = findViewById(R.id.all_apps_header); - rebindAdapters(mUsingTabs); + rebindAdapters(mUsingTabs, true /* force */); mSearchContainer = findViewById(R.id.search_container_all_apps); mSearchUiManager = (SearchUiManager) mSearchContainer; @@ -385,9 +382,14 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, } 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) { @@ -529,13 +531,16 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, 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 e65a2c4ea..ed41f133a 100644 --- a/src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java +++ b/src/com/android/launcher3/allapps/search/AppsSearchContainerLayout.java @@ -184,6 +184,7 @@ public class AppsSearchContainerLayout extends FrameLayout mSearchQueryBuilder.clear(); mSearchQueryBuilder.clearSpans(); Selection.setSelection(mSearchQueryBuilder, 0); + mAppsView.onClearSearchResult(); } @Override |