From 78f3e40689bc8beaa0c9d8a8d43a21b0500bb1d9 Mon Sep 17 00:00:00 2001 From: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com> Date: Thu, 24 Jul 2025 18:54:38 +0800 Subject: [PATCH] feat(search): update search bar to support new zero state --- .../app/lawnchair/allapps/AllAppsSearchInput.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lawnchair/src/app/lawnchair/allapps/AllAppsSearchInput.kt b/lawnchair/src/app/lawnchair/allapps/AllAppsSearchInput.kt index a446dd0a3b..43f2461d72 100644 --- a/lawnchair/src/app/lawnchair/allapps/AllAppsSearchInput.kt +++ b/lawnchair/src/app/lawnchair/allapps/AllAppsSearchInput.kt @@ -41,6 +41,8 @@ import app.lawnchair.search.LawnchairRecentSuggestionProvider import app.lawnchair.search.algorithms.LawnchairSearchAlgorithm import app.lawnchair.theme.drawable.DrawableTokens import app.lawnchair.util.viewAttachedScope +import com.android.internal.R.attr.editable +import com.android.internal.org.bouncycastle.util.Arrays.isNullOrEmpty import com.android.launcher3.Insettable import com.android.launcher3.InvariantDeviceProfile.OnIDPChangeListener import com.android.launcher3.LauncherState @@ -86,6 +88,7 @@ class AllAppsSearchInput(context: Context, attrs: AttributeSet?) : private lateinit var apps: LawnchairAlphabeticalAppsList<*> private lateinit var appsView: ActivityAllAppsContainerView<*> + private var searchAlgorithm: LawnchairSearchAlgorithm? = null private var focusedResultTitle = "" private var canShowHint = false @@ -197,6 +200,10 @@ class AllAppsSearchInput(context: Context, attrs: AttributeSet?) : input.setHint(R.string.all_apps_search_bar_hint) } + if (input.text.toString().isEmpty()) { + searchAlgorithm?.doZeroStateSearch(this) + } + setBackgroundVisibility(false, 0f) animateHintVisibility(true) animatePadding(currentPaddingLeft / 2, currentPaddingRight / 2) @@ -225,6 +232,9 @@ class AllAppsSearchInput(context: Context, attrs: AttributeSet?) : }, afterTextChanged = { updateHint() + if (input.editableText.isNullOrEmpty()) { + searchAlgorithm?.doZeroStateSearch(this) + } if (input.text.toString() == "/lawnchairdebug") { val enableDebugMenu = prefs.enableDebugMenu enableDebugMenu.set(!enableDebugMenu.get()) @@ -337,8 +347,10 @@ class AllAppsSearchInput(context: Context, attrs: AttributeSet?) : override fun initializeSearch(appsView: ActivityAllAppsContainerView<*>) { apps = appsView.searchResultList as LawnchairAlphabeticalAppsList<*> this.appsView = appsView + val algorithm = LawnchairSearchAlgorithm.create(context) + this.searchAlgorithm = algorithm searchBarController.initialize( - LawnchairSearchAlgorithm.create(context), + algorithm, input, launcher, this,