diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2015-09-27 13:55:07 +0200 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-09-27 15:12:12 +0200 |
commit | d03c54d6fb6463a513aacd265dc3614806974cf9 (patch) | |
tree | 1bc8dc770b2d16c3d8c624649566afd23ce443c5 /app/src/main/java/de/danoeh/antennapod/preferences | |
parent | e74a549b1b4a2b3f3630914bf68c6e0bf731ec24 (diff) | |
download | AntennaPod-d03c54d6fb6463a513aacd265dc3614806974cf9.zip |
Variable Speed Dialog: Install Prestissimo or enable Sonic
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/preferences')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java index 1630898ec..475e3a29b 100644 --- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java +++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java @@ -6,6 +6,7 @@ import android.app.TimePickerDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.SharedPreferences; import android.content.res.Resources; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; @@ -14,6 +15,7 @@ import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; +import android.preference.PreferenceManager; import android.preference.PreferenceScreen; import android.text.Editable; import android.text.TextWatcher; @@ -48,7 +50,8 @@ import de.danoeh.antennapod.dialog.VariableSpeedDialog; /** * Sets up a preference UI that lets the user change user preferences. */ -public class PreferenceController { +public class PreferenceController implements SharedPreferences.OnSharedPreferenceChangeListener { + private static final String TAG = "PreferenceController"; public static final String PREF_FLATTR_SETTINGS = "prefFlattrSettings"; public static final String PREF_FLATTR_AUTH = "pref_flattr_authenticate"; @@ -71,6 +74,18 @@ public class PreferenceController { public PreferenceController(PreferenceUI ui) { this.ui = ui; + PreferenceManager.getDefaultSharedPreferences(ui.getActivity().getApplicationContext()) + .registerOnSharedPreferenceChangeListener(this); + } + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + if(key.equals(UserPreferences.PREF_SONIC)) { + CheckBoxPreference prefSonic = (CheckBoxPreference) ui.findPreference(UserPreferences.PREF_SONIC); + if(prefSonic != null) { + prefSonic.setChecked(sharedPreferences.getBoolean(UserPreferences.PREF_SONIC, false)); + } + } } /** @@ -601,8 +616,7 @@ public class PreferenceController { hiddenDrawerItems.add(NAV_DRAWER_TAGS[which]); } }); - builder.setPositiveButton(R.string.confirm_label, new DialogInterface - .OnClickListener() { + builder.setPositiveButton(R.string.confirm_label, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { UserPreferences.setHiddenDrawerItems(context, hiddenDrawerItems); @@ -646,12 +660,12 @@ public class PreferenceController { minute = updateTime[1]; } TimePickerDialog timePickerDialog = new TimePickerDialog(context, - (view, selectedHourOfDay, selectedMinute) -> { - if (view.getTag() == null) { // onTimeSet() may get called twice! - view.setTag("TAGGED"); - UserPreferences.setUpdateTimeOfDay(selectedHourOfDay, selectedMinute); - } - }, hourOfDay, minute, DateFormat.is24HourFormat(context)); + (view, selectedHourOfDay, selectedMinute) -> { + if (view.getTag() == null) { // onTimeSet() may get called twice! + view.setTag("TAGGED"); + UserPreferences.setUpdateTimeOfDay(selectedHourOfDay, selectedMinute); + } + }, hourOfDay, minute, DateFormat.is24HourFormat(context)); timePickerDialog.setTitle(context.getString(R.string.pref_autoUpdateIntervallOrTime_TimeOfDay)); timePickerDialog.show(); } |