Icon picker: add icon pack filter

This commit is contained in:
MM20
2023-02-27 14:39:18 +01:00
parent 81c542d777
commit 6adbee224e
6 changed files with 128 additions and 33 deletions
@@ -427,13 +427,14 @@ class IconPackManager(
return null
}
suspend fun searchIconPackIcon(query: String): List<IconPackIcon> {
suspend fun searchIconPackIcon(query: String, iconPack: IconPack?): List<IconPackIcon> {
val iconDao = appDatabase.iconDao()
val drawableQuery = query.replace(" ", "_").lowercase()
return iconDao.searchIconPackIcons(
drawableQuery = "%$drawableQuery%",
componentQuery = "%$query%",
nameQuery = "%$query%",
iconPack = iconPack?.packageName,
).map {
IconPackIcon(it)
}
@@ -356,9 +356,9 @@ class IconRepository(
)
}
suspend fun searchCustomIcons(query: String): List<CustomIconWithPreview> {
suspend fun searchCustomIcons(query: String, iconPack: IconPack?): List<CustomIconWithPreview> {
val transformations = this.transformations.first()
val iconPackIcons = iconPackManager.searchIconPackIcon(query).mapNotNull {
val iconPackIcons = iconPackManager.searchIconPackIcon(query, iconPack).mapNotNull {
val componentName = it.componentName ?: return@mapNotNull null
CustomIconWithPreview(