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>>
|
||||
}
|
||||
|
||||
@@ -574,4 +574,7 @@
|
||||
<string name="preference_layout_fixed_rotation">Feste Bildschirmausrichtung</string>
|
||||
<string name="preference_layout_fixed_rotation_summary">Porträtmodus erzwingen</string>
|
||||
<string name="icon_pack_dynamic_colors">Dynamische Farben</string>
|
||||
<string name="preference_search_bar_ordering">Anordnung der Suchergebnisse</string>
|
||||
<string name="preference_search_bar_ordering_alphabetic">Alphabetisch</string>
|
||||
<string name="preference_search_bar_ordering_relevance">Relevanz</string>
|
||||
</resources>
|
||||
@@ -761,4 +761,7 @@
|
||||
<string name="gesture_failed_message">You have performed a \"%1$s\" gesture. This gesture is currently set to trigger a \"%2$s\" action. However, the action could not be performed for the following reason:</string>
|
||||
<string name="missing_permission_accessibility_gesture_failed">The launcher\'s accessibility service needs to be enabled to perform this action.</string>
|
||||
<string name="missing_permission_accessibility_gesture_settings">This action requires the launcher\'s accessibility service to be enabled.</string>
|
||||
<string name="preference_search_bar_ordering">Search-result order</string>
|
||||
<string name="preference_search_bar_ordering_alphabetic">Alphabetic</string>
|
||||
<string name="preference_search_bar_ordering_relevance">Relevance</string>
|
||||
</resources>
|
||||
@@ -223,6 +223,11 @@ message Settings {
|
||||
}
|
||||
SearchBarColors color = 3;
|
||||
bool launch_on_enter = 4;
|
||||
enum SearchResultOrdering {
|
||||
Alphabetic = 0;
|
||||
Relevance = 1;
|
||||
}
|
||||
SearchResultOrdering search_result_ordering = 5;
|
||||
}
|
||||
SearchBarSettings search_bar = 20;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user