diff --git a/res/values/strings.xml b/res/values/strings.xml index 24bcc16a1..357e0c409 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -128,9 +128,11 @@ Incompatible versions Show versions of apps that are incompatible with the device Root - Show apps that require root privileges + Do not grey out apps requiring root privileges + Grey out apps requiring root privileges Ignore Touchscreen - Always include apps that require touchscreen + Always include apps that require touchscreen + Filter apps normally All What\'s New @@ -153,7 +155,8 @@ Display a list of permissions an app needs You don\'t have any available app that can handle %s Compact Layout - Only show app names and summaries in list + Show icons at regular size + Show icons at a smaller size Theme Choose a theme to use diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 3c75c506c..d1ad376e2 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -24,7 +24,7 @@ android:defaultValue="false" android:summary="@string/showPermissions_long" android:key="showPermissions"/> diff --git a/src/org/fdroid/fdroid/Preferences.java b/src/org/fdroid/fdroid/Preferences.java index 4d103ef0f..d94193130 100644 --- a/src/org/fdroid/fdroid/Preferences.java +++ b/src/org/fdroid/fdroid/Preferences.java @@ -32,6 +32,7 @@ public class Preferences implements SharedPreferences.OnSharedPreferenceChangeLi public static final String PREF_INCOMP_VER = "incompatibleVersions"; public static final String PREF_THEME = "theme"; public static final String PREF_COMPACT_LAYOUT = "compactlayout"; + public static final String PREF_IGN_TOUCH = "ignoreTouchscreen"; private static final boolean DEFAULT_COMPACT_LAYOUT = false; diff --git a/src/org/fdroid/fdroid/PreferencesActivity.java b/src/org/fdroid/fdroid/PreferencesActivity.java index ad92bbfd1..c9c163765 100644 --- a/src/org/fdroid/fdroid/PreferencesActivity.java +++ b/src/org/fdroid/fdroid/PreferencesActivity.java @@ -19,9 +19,9 @@ package org.fdroid.fdroid; import android.os.Bundle; +import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.ListPreference; -import android.preference.CheckBoxPreference; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.view.MenuItem; @@ -53,8 +53,8 @@ public class PreferencesActivity extends PreferenceActivity implements getPreferenceScreen().getSharedPreferences() .registerOnSharedPreferenceChangeListener( (OnSharedPreferenceChangeListener)this); - CheckBoxPreference onlyOnWifi = (CheckBoxPreference) - findPreference(Preferences.PREF_UPD_WIFI_ONLY); + Preference onlyOnWifi = findPreference( + Preferences.PREF_UPD_WIFI_ONLY); onlyOnWifi.setEnabled(Integer.parseInt(((ListPreference) findPreference(Preferences.PREF_UPD_INTERVAL)) .getValue()) > 0); @@ -83,12 +83,27 @@ public class PreferencesActivity extends PreferenceActivity implements if (key.equals(Preferences.PREF_UPD_INTERVAL)) { int interval = Integer.parseInt( sharedPreferences.getString(key, "").toString()); - CheckBoxPreference onlyOnWifi = (CheckBoxPreference) - findPreference(Preferences.PREF_UPD_WIFI_ONLY); + Preference onlyOnWifi = findPreference( + Preferences.PREF_UPD_WIFI_ONLY); onlyOnWifi.setEnabled(interval > 0); return; } + if (key.equals(Preferences.PREF_COMPACT_LAYOUT)) { + Preference pref = findPreference(Preferences.PREF_COMPACT_LAYOUT); + if (sharedPreferences.getBoolean( + Preferences.PREF_COMPACT_LAYOUT, false)) { + pref.setSummary(R.string.compactlayout_on); + } else { + pref.setSummary(R.string.compactlayout_off); + } + return; + } + + if (key.equals(Preferences.PREF_COMPACT_LAYOUT)) { + return; + } + if (key.equals(Preferences.PREF_INCOMP_VER)) { result ^= RESULT_RELOAD; setResult(result); @@ -98,8 +113,27 @@ public class PreferencesActivity extends PreferenceActivity implements if (key.equals(Preferences.PREF_ROOTED)) { result ^= RESULT_REFILTER; setResult(result); + Preference pref = findPreference(Preferences.PREF_ROOTED); + if (sharedPreferences.getBoolean( + Preferences.PREF_ROOTED, false)) { + pref.setSummary(R.string.rooted_on); + } else { + pref.setSummary(R.string.rooted_off); + } return; } + + if (key.equals(Preferences.PREF_IGN_TOUCH)) { + Preference pref = findPreference(Preferences.PREF_IGN_TOUCH); + if (sharedPreferences.getBoolean( + Preferences.PREF_IGN_TOUCH, false)) { + pref.setSummary(R.string.ignoreTouch_on); + } else { + pref.setSummary(R.string.ignoreTouch_off); + } + return; + } + if (key.equals(Preferences.PREF_THEME)) { result |= RESULT_RESTART; setResult(result);