Only add quick launch for apps search
This commit is contained in:
@@ -26,6 +26,7 @@ import com.android.launcher3.util.PackageManagerHelper
|
||||
import me.xdrop.fuzzywuzzy.FuzzySearch
|
||||
import me.xdrop.fuzzywuzzy.algorithms.WeightedRatio
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
class LawnchairAppSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm(context) {
|
||||
|
||||
@@ -74,7 +75,8 @@ class LawnchairAppSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm(c
|
||||
if (results.isEmpty()) {
|
||||
results.add(getEmptySearchItem(query))
|
||||
}
|
||||
return transformSearchResults(results)
|
||||
val adapterItems = transformSearchResults(results)
|
||||
return ArrayList(LawnchairSearchAdapterProvider.setFirstItemQuickLaunch(adapterItems))
|
||||
}
|
||||
|
||||
private fun getShortcuts(app: AppInfo): List<ShortcutInfo> {
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.android.launcher3.LauncherAppState;
|
||||
import com.android.launcher3.allapps.AllAppsGridAdapter;
|
||||
import com.android.launcher3.search.SearchCallback;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -102,7 +103,7 @@ public class LawnchairDeviceSearchAlgorithm extends LawnchairSearchAlgorithm {
|
||||
List<SearchTargetCompat> targets = platformTargets.stream().map(SearchTargetCompat::wrap).collect(Collectors.toList());
|
||||
targets.forEach(target -> Log.d("DeviceSearchAlg", "type=" + target.getResultType() + ", layout=" + target.getLayoutType() + ", id=" + target.getId()));
|
||||
Log.d("DeviceSearchAlg", "=====");
|
||||
mCallback.onSearchResult(mQuery, transformSearchResults(targets));
|
||||
mCallback.onSearchResult(mQuery, new ArrayList<>(transformSearchResults(targets)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class LawnchairSearchAdapterProvider(
|
||||
LayoutType.EMPTY_DIVIDER to SEARCH_RESULT_DIVIDER,
|
||||
)
|
||||
|
||||
fun decorateSearchResults(items: List<SearchAdapterItem>): List<SearchAdapterItem> {
|
||||
fun setFirstItemQuickLaunch(items: List<SearchAdapterItem>): List<SearchAdapterItem> {
|
||||
items.firstOrNull()?.searchTarget?.extras?.apply {
|
||||
putBoolean(SearchResultView.EXTRA_QUICK_LAUNCH, true)
|
||||
}
|
||||
|
||||
@@ -34,12 +34,12 @@ abstract class LawnchairSearchAlgorithm(
|
||||
roundTop = false, roundBottom = true
|
||||
)
|
||||
|
||||
protected fun transformSearchResults(results: List<SearchTargetCompat>): ArrayList<AllAppsGridAdapter.AdapterItem> {
|
||||
protected fun transformSearchResults(results: List<SearchTargetCompat>): List<SearchAdapterItem> {
|
||||
val filtered = results
|
||||
.filter { it.packageName != BuildConfig.APPLICATION_ID }
|
||||
.filter { it.packageName != "com.android.settings" }
|
||||
.filter { LawnchairSearchAdapterProvider.viewTypeMap[it.layoutType] != null }
|
||||
val items = filtered
|
||||
return filtered
|
||||
.mapIndexedNotNull { index, target ->
|
||||
val isFirst = index == 0 || filtered[index - 1].isDivider
|
||||
val isLast = index == filtered.lastIndex || filtered[index + 1].isDivider
|
||||
@@ -53,7 +53,6 @@ abstract class LawnchairSearchAlgorithm(
|
||||
}
|
||||
SearchAdapterItem.createAdapterItem(index, target, background)
|
||||
}
|
||||
return ArrayList(LawnchairSearchAdapterProvider.decorateSearchResults(items))
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user