Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion app/src/main/java/fr/neamar/kiss/result/Result.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.Typeface;
Expand Down Expand Up @@ -389,7 +390,9 @@ public final void launch(Context context, View v, @Nullable QueryInterface query

protected final void recordLaunch(Context context, @Nullable QueryInterface queryInterface) {
// Save in history
if (canAddToHistory()) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean demoteDisabled = prefs.getBoolean("demote-disabled-apps", true);
if (canAddToHistory() || (!demoteDisabled && pojo.isDisabled())) {
KissApplication.getApplication(context).getDataHandler().addToHistory(pojo.getHistoryId());
}
// Record the launch after some period,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,11 @@ public boolean addResults(List<? extends Pojo> pojos) {
return false;
}

boolean demoteDisabled = prefs.getBoolean("demote-disabled-apps", true);
DataHandler dataHandler = KissApplication.getApplication(activity).getDataHandler();
if (dataHandler.getHistoryMode() != HistoryMode.ALPHABETICALLY) {
for (Pojo pojo : pojos) {
if (pojo.isDisabled()) {
if (pojo.isDisabled() && demoteDisabled) {
// Give penalty for disabled items, these should not be preferred
pojo.relevance -= 200;
}
Expand Down
7 changes: 5 additions & 2 deletions app/src/main/java/fr/neamar/kiss/searcher/QuerySearcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,13 @@ protected int getMaxResultCount() {

@Override
public boolean addResults(List<? extends Pojo> pojos) {
boolean demoteDisabled = prefs.getBoolean("demote-disabled-apps", true);
for (Pojo pojo : pojos) {
if (pojo.isDisabled()) {
// Give penalty for disabled items, these should not be preferred
pojo.relevance -= 200;
if (demoteDisabled) {
// Give penalty for disabled items, these should not be preferred
pojo.relevance -= 200;
}
} else {
// Give a boost if item was previously selected for this query
Integer value = knownIds.get(pojo.id);
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
<string name="contacts_name">Contacts</string>
<string name="contacts_call_on_click">Click to call contacts</string>
<string name="search_results_options">Search results</string>
<string name="demote_disabled_apps">Demote suspended/disabled apps</string>
<string name="demote_disabled_apps_summary">Lower priority of apps in focus mode/frozen in search results</string>
<string name="search_name">Web search providers</string>
<string name="search_provider_toggle">Links to web search providers</string>
<string name="settings_name">Device settings</string>
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/xml/preferences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,11 @@
app:key="pref-result-highlighting"
app:summary="@string/pref_result_highlighting_summary"
app:title="@string/pref_result_highlighting" />
<SwitchPreference
app:defaultValue="true"
app:key="demote-disabled-apps"
app:summary="@string/demote_disabled_apps_summary"
app:title="@string/demote_disabled_apps" />
</PreferenceCategory>
<PreferenceCategory
app:key="colors-section"
Expand Down