feat(search): migrate files to algorithms directory

This commit is contained in:
SuperDragonXD
2025-07-24 18:55:48 +08:00
parent 78f3e40689
commit 90900142f8
18 changed files with 50 additions and 49 deletions

View File

@@ -39,7 +39,8 @@ import app.lawnchair.icons.shape.IconShapeManager
import app.lawnchair.preferences.PreferenceManager as LawnchairPreferenceManager
import app.lawnchair.qsb.providers.QsbSearchProvider
import app.lawnchair.search.algorithms.LawnchairSearchAlgorithm
import app.lawnchair.search.engine.provider.web.WebSearchProvider.WebSearchProviderCompanion
import app.lawnchair.search.algorithms.engine.provider.web.WebSearchProvider
import app.lawnchair.search.algorithms.engine.provider.web.WebSearchProvider.WebSearchProviderCompanion
import app.lawnchair.smartspace.model.SmartspaceCalendar
import app.lawnchair.smartspace.model.SmartspaceMode
import app.lawnchair.smartspace.model.SmartspaceTimeFormat
@@ -494,11 +495,11 @@ class PreferenceManager2 private constructor(private val context: Context) :
val webSuggestionProvider = preference(
key = stringPreferencesKey(name = "web_suggestion_provider"),
defaultValue = app.lawnchair.search.engine.provider.web.WebSearchProvider.fromString(
defaultValue = WebSearchProvider.fromString(
getRemoteDefault("web_suggestion_provider")
?: context.resources.getString(R.string.config_default_web_suggestion_provider),
),
parse = { app.lawnchair.search.engine.provider.web.WebSearchProvider.fromString(it) },
parse = { WebSearchProvider.fromString(it) },
save = { it.toString() },
onSet = { reloadHelper.recreate() },
)

View File

@@ -24,7 +24,7 @@ import app.lawnchair.search.algorithms.data.FolderInfo
import app.lawnchair.search.algorithms.data.IFileInfo
import app.lawnchair.search.algorithms.data.RecentKeyword
import app.lawnchair.search.algorithms.data.SettingInfo
import app.lawnchair.search.engine.provider.web.WebSearchProvider
import app.lawnchair.search.algorithms.engine.provider.web.WebSearchProvider
import app.lawnchair.theme.color.tokens.ColorTokens
import app.lawnchair.util.createTextBitmap
import app.lawnchair.util.file2Uri

View File

@@ -1,11 +1,11 @@
package app.lawnchair.search.engine
package app.lawnchair.search.algorithms
import app.lawnchair.search.engine.provider.AppSearchProvider
import app.lawnchair.search.engine.provider.ContactsSearchProvider
import app.lawnchair.search.engine.provider.FileSearchProvider
import app.lawnchair.search.engine.provider.HistorySearchProvider
import app.lawnchair.search.engine.provider.SettingsSearchProvider
import app.lawnchair.search.engine.provider.web.WebSuggestionProvider
import app.lawnchair.search.algorithms.engine.provider.AppSearchProvider
import app.lawnchair.search.algorithms.engine.provider.ContactsSearchProvider
import app.lawnchair.search.algorithms.engine.provider.FileSearchProvider
import app.lawnchair.search.algorithms.engine.provider.HistorySearchProvider
import app.lawnchair.search.algorithms.engine.provider.SettingsSearchProvider
import app.lawnchair.search.algorithms.engine.provider.web.WebSuggestionProvider
import android.content.Context
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.preferences2.PreferenceManager2
@@ -13,11 +13,12 @@ import app.lawnchair.search.adapter.SPACE
import app.lawnchair.search.adapter.SearchLinksTarget
import app.lawnchair.search.adapter.SearchTargetCompat
import app.lawnchair.search.adapter.SearchTargetFactory
import app.lawnchair.search.algorithms.LawnchairSearchAlgorithm
import app.lawnchair.search.algorithms.data.Calculation
import app.lawnchair.search.engine.provider.CalculatorSearchProvider
import app.lawnchair.search.engine.provider.ShortcutSearchProvider
import app.lawnchair.search.engine.provider.web.CustomWebSearchProvider
import app.lawnchair.search.algorithms.engine.SearchProvider
import app.lawnchair.search.algorithms.engine.SearchResult
import app.lawnchair.search.algorithms.engine.provider.CalculatorSearchProvider
import app.lawnchair.search.algorithms.engine.provider.ShortcutSearchProvider
import app.lawnchair.search.algorithms.engine.provider.web.CustomWebSearchProvider
import com.android.launcher3.LauncherAppState
import com.android.launcher3.R
import com.android.launcher3.allapps.BaseAllAppsAdapter
@@ -27,7 +28,7 @@ import kotlinx.coroutines.*
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.firstOrNull
class NewSearchAlgorithmAdapter(context: Context) : LawnchairSearchAlgorithm(context) {
class LawnchairNewLocalSearchAlgorithm(context: Context) : LawnchairSearchAlgorithm(context) {
private val appState = LauncherAppState.getInstance(context)

View File

@@ -10,7 +10,6 @@ import app.lawnchair.search.adapter.SearchAdapterItem
import app.lawnchair.search.adapter.SearchTargetCompat
import app.lawnchair.search.adapter.SearchTargetCompat.Companion.RESULT_TYPE_APPLICATION
import app.lawnchair.search.adapter.SearchTargetCompat.Companion.RESULT_TYPE_SHORTCUT
import app.lawnchair.search.engine.NewSearchAlgorithmAdapter
import com.android.app.search.LayoutType.CALCULATOR
import com.android.app.search.LayoutType.EMPTY_DIVIDER
import com.android.app.search.LayoutType.HORIZONTAL_MEDIUM_TEXT
@@ -29,7 +28,7 @@ import com.android.launcher3.search.SearchAlgorithm
import com.android.launcher3.search.SearchCallback
import com.patrykmichalik.opto.core.firstBlocking
abstract class LawnchairSearchAlgorithm(
sealed class LawnchairSearchAlgorithm(
protected val context: Context,
) : SearchAlgorithm<BaseAllAppsAdapter.AdapterItem> {
@@ -216,7 +215,7 @@ abstract class LawnchairSearchAlgorithm(
context,
)
searchAlgorithm == LOCAL_SEARCH -> NewSearchAlgorithmAdapter(context)
searchAlgorithm == LOCAL_SEARCH -> LawnchairNewLocalSearchAlgorithm(context)
else -> LawnchairAppSearchAlgorithm(context)
}
}

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine
package app.lawnchair.search.algorithms.engine
import android.content.Context
import kotlinx.coroutines.flow.Flow

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine
package app.lawnchair.search.algorithms.engine
import android.annotation.DrawableRes
import android.content.pm.ShortcutInfo

View File

@@ -1,11 +1,11 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.Context
import android.content.pm.ShortcutInfo
import app.lawnchair.launcher
import app.lawnchair.preferences2.PreferenceManager2
import app.lawnchair.search.algorithms.filterHiddenApps
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchResult
import com.android.launcher3.model.AllAppsList
import com.android.launcher3.model.data.AppInfo
import com.android.launcher3.popup.PopupPopulator

View File

@@ -1,11 +1,11 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.Context
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.search.algorithms.data.Calculation
import app.lawnchair.search.algorithms.data.calculator.Expressions
import app.lawnchair.search.engine.SearchProvider
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchProvider
import app.lawnchair.search.algorithms.engine.SearchResult
import java.math.BigDecimal
import java.math.MathContext
import kotlinx.coroutines.flow.Flow

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.Context
import android.provider.ContactsContract
@@ -6,8 +6,8 @@ import android.util.Log
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.preferences2.PreferenceManager2
import app.lawnchair.search.algorithms.data.ContactInfo
import app.lawnchair.search.engine.SearchProvider
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchProvider
import app.lawnchair.search.algorithms.engine.SearchResult
import com.patrykmichalik.opto.core.firstBlocking
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.Dispatchers

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.Context
import android.database.Cursor
@@ -9,8 +9,8 @@ import app.lawnchair.preferences2.PreferenceManager2
import app.lawnchair.search.algorithms.data.FileInfo
import app.lawnchair.search.algorithms.data.FolderInfo
import app.lawnchair.search.algorithms.data.IFileInfo
import app.lawnchair.search.engine.SearchProvider
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchProvider
import app.lawnchair.search.algorithms.engine.SearchResult
import app.lawnchair.util.exists
import app.lawnchair.util.isDirectory
import app.lawnchair.util.isHidden

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.ContentResolver
import android.content.Context
@@ -8,7 +8,7 @@ import android.util.Log
import androidx.core.net.toUri
import app.lawnchair.search.LawnchairRecentSuggestionProvider
import app.lawnchair.search.algorithms.data.RecentKeyword
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchResult
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.Context
import android.provider.Settings
@@ -6,8 +6,8 @@ import android.util.Log
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.preferences2.PreferenceManager2
import app.lawnchair.search.algorithms.data.SettingInfo
import app.lawnchair.search.engine.SearchProvider
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchProvider
import app.lawnchair.search.algorithms.engine.SearchResult
import com.patrykmichalik.opto.core.firstBlocking
import java.lang.reflect.Modifier
import kotlinx.coroutines.CoroutineExceptionHandler

View File

@@ -1,9 +1,9 @@
package app.lawnchair.search.engine.provider
package app.lawnchair.search.algorithms.engine.provider
import android.content.Context
import android.content.pm.ShortcutInfo
import app.lawnchair.launcher
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchResult
import app.lawnchair.util.isDefaultLauncher
import com.android.launcher3.model.data.AppInfo
import com.android.launcher3.popup.PopupPopulator

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider.web
package app.lawnchair.search.algorithms.engine.provider.web
import android.net.Uri
import android.util.Log

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider.web
package app.lawnchair.search.algorithms.engine.provider.web
import android.content.Context
import android.net.Uri
@@ -48,9 +48,9 @@ object CustomWebSearchProvider : WebSearchProvider {
override fun configure(context: Context): WebSearchProvider {
val prefs = PreferenceManager2.getInstance(context)
this.searchUrlTemplate = prefs.webSuggestionProviderUrl.firstBlocking()
this.suggestionsUrlTemplate = prefs.webSuggestionProviderSuggestionsUrl.firstBlocking()
this.displayName = prefs.webSuggestionProviderName.firstBlocking()
searchUrlTemplate = prefs.webSuggestionProviderUrl.firstBlocking()
suggestionsUrlTemplate = prefs.webSuggestionProviderSuggestionsUrl.firstBlocking()
displayName = prefs.webSuggestionProviderName.firstBlocking()
return this
}

View File

@@ -1,4 +1,4 @@
package app.lawnchair.search.engine.provider.web
package app.lawnchair.search.algorithms.engine.provider.web
import android.content.Context
import androidx.annotation.DrawableRes

View File

@@ -1,10 +1,10 @@
package app.lawnchair.search.engine.provider.web
package app.lawnchair.search.algorithms.engine.provider.web
import android.content.Context
import app.lawnchair.preferences.PreferenceManager
import app.lawnchair.preferences2.PreferenceManager2
import app.lawnchair.search.engine.SearchProvider
import app.lawnchair.search.engine.SearchResult
import app.lawnchair.search.algorithms.engine.SearchProvider
import app.lawnchair.search.algorithms.engine.SearchResult
import com.patrykmichalik.opto.core.firstBlocking
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emptyFlow

View File

@@ -26,7 +26,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.unit.dp
import app.lawnchair.preferences.PreferenceAdapter
import app.lawnchair.search.engine.provider.web.WebSearchProvider
import app.lawnchair.search.algorithms.engine.provider.web.WebSearchProvider
import app.lawnchair.ui.preferences.components.controls.ListPreferenceEntry
import app.lawnchair.ui.preferences.components.layout.Chip
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate