diff --git a/app/src/main/kotlin/com/hippo/ehviewer/dao/SearchDao.kt b/app/src/main/kotlin/com/hippo/ehviewer/dao/SearchDao.kt index bb33b6b76..149b339b9 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/dao/SearchDao.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/dao/SearchDao.kt @@ -12,11 +12,11 @@ interface SearchDao { @Query("DELETE FROM suggestions WHERE `query` = :query") suspend fun deleteQuery(query: String) - @Query("SELECT * FROM suggestions WHERE `query` LIKE :prefix || '%' ORDER BY date DESC LIMIT :limit") - suspend fun rawSuggestions(prefix: String, limit: Int): Array + @Query("SELECT DISTINCT `query` FROM suggestions WHERE `query` LIKE :prefix || '%' ORDER BY date DESC LIMIT :limit") + suspend fun rawSuggestions(prefix: String, limit: Int): List - @Query("SELECT * FROM suggestions ORDER BY date DESC LIMIT :limit") - suspend fun list(limit: Int): Array + @Query("SELECT DISTINCT `query` FROM suggestions ORDER BY date DESC LIMIT :limit") + suspend fun list(limit: Int): List @Insert suspend fun insert(search: Search) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt index db433aaef..2e51db37e 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt @@ -97,7 +97,7 @@ abstract class Suggestion { } suspend fun SearchDao.suggestions(prefix: String, limit: Int) = - (if (prefix.isBlank()) list(limit) else rawSuggestions(prefix, limit)).map { it.query } + (if (prefix.isBlank()) list(limit) else rawSuggestions(prefix, limit)) @Composable fun SearchBarScreen(