diff --git a/lawnchair/src/app/lawnchair/search/LawnchairSearchAdapterProvider.kt b/lawnchair/src/app/lawnchair/search/LawnchairSearchAdapterProvider.kt index dcaa719a88..b9c96afa6d 100644 --- a/lawnchair/src/app/lawnchair/search/LawnchairSearchAdapterProvider.kt +++ b/lawnchair/src/app/lawnchair/search/LawnchairSearchAdapterProvider.kt @@ -124,14 +124,5 @@ class LawnchairSearchAdapterProvider( LayoutType.WIDGET_LIVE to SEARCH_RESULT_RECENT_TILE, LayoutType.CALCULATOR to SEARCH_RESULT_CALCULATOR, ) - - fun setFirstItemQuickLaunch(items: List) { - val hasQuickLaunch = items.any { it.searchTarget.extras.getBoolean(EXTRA_QUICK_LAUNCH, false) } - if (!hasQuickLaunch) { - items.firstOrNull()?.searchTarget?.extras?.apply { - putBoolean(EXTRA_QUICK_LAUNCH, true) - } - } - } } } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairASISearchAlgorithm.kt b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairASISearchAlgorithm.kt index ed3898f746..f4e4b4e5a6 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairASISearchAlgorithm.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairASISearchAlgorithm.kt @@ -12,7 +12,6 @@ import androidx.core.os.bundleOf import app.lawnchair.compat.LawnchairQuickstepCompat import app.lawnchair.preferences.PreferenceChangeListener import app.lawnchair.preferences.PreferenceManager -import app.lawnchair.search.LawnchairSearchAdapterProvider import app.lawnchair.search.adapter.SearchTargetCompat import app.lawnchair.util.requireSystemService import com.android.launcher3.LauncherAppState @@ -110,8 +109,8 @@ class LawnchairASISearchAlgorithm(context: Context) : override fun accept(platformTargets: List) { if (!canceled) { val targets = platformTargets.map { SearchTargetCompat.wrap(it) } + setFirstItemQuickLaunch(targets) val adapterItems = transformSearchResults(targets) - LawnchairSearchAdapterProvider.setFirstItemQuickLaunch(adapterItems) callback.onSearchResult( query, ArrayList(adapterItems), diff --git a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairAppSearchAlgorithm.kt b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairAppSearchAlgorithm.kt index cf1ec03eff..e43a0f5be0 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairAppSearchAlgorithm.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairAppSearchAlgorithm.kt @@ -3,7 +3,6 @@ package app.lawnchair.search.algorithms import android.content.Context import android.os.Handler import app.lawnchair.preferences2.PreferenceManager2 -import app.lawnchair.search.LawnchairSearchAdapterProvider import app.lawnchair.search.adapter.GenerateSearchTarget import app.lawnchair.search.adapter.SPACE import app.lawnchair.search.adapter.SearchTargetCompat @@ -85,18 +84,18 @@ class LawnchairAppSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm(c val searchTargets = mutableListOf() if (appResults.isNotEmpty()) { - appResults.mapTo(searchTargets, ::createSearchTarget) - } - - if (appResults.size == 1 && context.isDefaultLauncher()) { - val singleAppResult = appResults.firstOrNull() - val shortcuts = singleAppResult?.let { searchUtils.getShortcuts(it, context) } - if (shortcuts != null) { - if (shortcuts.isNotEmpty()) { - searchTargets.add(generateSearchTarget.getHeaderTarget(SPACE)) - searchTargets.add(createSearchTarget(singleAppResult, true)) - searchTargets.addAll(shortcuts.map(::createSearchTarget)) + if (appResults.size == 1 && context.isDefaultLauncher()) { + val singleAppResult = appResults.firstOrNull() + val shortcuts = singleAppResult?.let { searchUtils.getShortcuts(it, context) } + if (shortcuts != null) { + if (shortcuts.isNotEmpty()) { + searchTargets.add(generateSearchTarget.getHeaderTarget(SPACE)) + searchTargets.add(createSearchTarget(singleAppResult, true)) + searchTargets.addAll(shortcuts.map(::createSearchTarget)) + } } + } else { + appResults.mapTo(searchTargets, ::createSearchTarget) } } @@ -104,8 +103,8 @@ class LawnchairAppSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm(c generateSearchTarget.getMarketSearchItem(query)?.let { searchTargets.add(it) } + setFirstItemQuickLaunch(searchTargets) val adapterItems = transformSearchResults(searchTargets) - LawnchairSearchAdapterProvider.setFirstItemQuickLaunch(adapterItems) return ArrayList(adapterItems) } } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairLocalSearchAlgorithm.kt b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairLocalSearchAlgorithm.kt index be2d2f29e0..5bd89ba816 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairLocalSearchAlgorithm.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairLocalSearchAlgorithm.kt @@ -148,19 +148,19 @@ class LawnchairLocalSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm val searchTargets = mutableListOf() - if (appResults.isNotEmpty() && searchApps) { - appResults.mapTo(searchTargets, ::createSearchTarget) - } - - if (appResults.size == 1 && searchApps && context.isDefaultLauncher()) { - val singleAppResult = appResults.firstOrNull() - val shortcuts = singleAppResult?.let { searchUtils.getShortcuts(it, context) } - if (shortcuts != null) { - if (shortcuts.isNotEmpty()) { - searchTargets.add(generateSearchTarget.getHeaderTarget(SPACE)) - searchTargets.add(createSearchTarget(singleAppResult, true)) - searchTargets.addAll(shortcuts.map(::createSearchTarget)) + if (appResults.isNotEmpty()) { + if (appResults.size == 1 && context.isDefaultLauncher()) { + val singleAppResult = appResults.firstOrNull() + val shortcuts = singleAppResult?.let { searchUtils.getShortcuts(it, context) } + if (shortcuts != null) { + if (shortcuts.isNotEmpty()) { + searchTargets.add(generateSearchTarget.getHeaderTarget(SPACE)) + searchTargets.add(createSearchTarget(singleAppResult, true)) + searchTargets.addAll(shortcuts.map(::createSearchTarget)) + } } + } else { + appResults.mapTo(searchTargets, ::createSearchTarget) } } @@ -217,8 +217,8 @@ class LawnchairLocalSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm if (useWebSuggestions) searchTargets.add(generateSearchTarget.getStartPageSearchItem(query)) generateSearchTarget.getMarketSearchItem(query)?.let { searchTargets.add(it) } + setFirstItemQuickLaunch(searchTargets) val adapterItems = transformSearchResults(searchTargets) - LawnchairSearchAdapterProvider.setFirstItemQuickLaunch(adapterItems) return ArrayList(adapterItems) } diff --git a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt index 9e9f73900a..4a797f9718 100644 --- a/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt +++ b/lawnchair/src/app/lawnchair/search/algorithms/LawnchairSearchAlgorithm.kt @@ -86,23 +86,32 @@ sealed class LawnchairSearchAlgorithm( if (target.extras.getBoolean(EXTRA_QUICK_LAUNCH, false)) { SearchAdapterItem.createAdapterItem(target, normalBackground) + } else { + val background = getBackground( + target.layoutType, + index, + isFirst, + isLast, + smallIconIndices, + iconRowIndices, + peopleTileIndices, + suggestionIndices, + fileIndices, + settingIndices, + recentIndices, + calculator, + ) + SearchAdapterItem.createAdapterItem(target, background) } + } + } - val background = getBackground( - target.layoutType, - index, - isFirst, - isLast, - smallIconIndices, - iconRowIndices, - peopleTileIndices, - suggestionIndices, - fileIndices, - settingIndices, - recentIndices, - calculator, - ) - SearchAdapterItem.createAdapterItem(target, background) + protected fun setFirstItemQuickLaunch(searchTargets: List) { + val hasQuickLaunch = searchTargets.any {it.extras.getBoolean(EXTRA_QUICK_LAUNCH, false) } + if (!hasQuickLaunch) { + searchTargets.firstOrNull()?.extras?.apply { + putBoolean(EXTRA_QUICK_LAUNCH, true) + } } }