Search: reorder results by launchCount (#267)
* add app search result ordering by launchCount * add reordering for other domains * add preference in settings * bruh moment - database optimizaiton - fixing obvious fallacy while reordering * no reordering on empty queries && reordering early return * avoiding deserialization * listpreference * search settings screen icons & categories * regrouping * early-return tweak * Change ranking algorithm * Pepega * Prioritize launchCount over pinned for relevance sorting --------- Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
This commit is contained in:
@@ -63,12 +63,9 @@ interface SearchDao {
|
||||
@Query("SELECT `key` FROM Searchable WHERE hidden = 1 AND type = 'calendar'")
|
||||
fun getHiddenCalendarEventKeys(): Flow<List<String>>
|
||||
|
||||
|
||||
|
||||
@Query("DELETE FROM Searchable WHERE `key` IN (:keys)")
|
||||
fun deleteAll(keys: List<String>)
|
||||
|
||||
|
||||
@Query("UPDATE Searchable SET pinned = 1, hidden = 0 WHERE `key` = :key")
|
||||
fun pinExistingItem(key: String)
|
||||
|
||||
@@ -145,4 +142,7 @@ interface SearchDao {
|
||||
|
||||
@Query("UPDATE Searchable Set `pinned` = 0, `launchCount` = 0 WHERE `key` = :key")
|
||||
suspend fun resetPinStatusAndLaunchCounter(key: String)
|
||||
|
||||
@Query("SELECT `key` FROM Searchable WHERE `key` IN (:keys) AND launchCount > 0 ORDER BY launchCount DESC, pinned DESC")
|
||||
fun sortByRelevance(keys: List<String>): Flow<List<String>>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user