From 057900bc1b69c4fe24ac244a5c5ccb60d336a0a5 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Tue, 29 Sep 2015 17:29:26 -0400 Subject: [PATCH] getting preferences setup for different cleanup method --- .../preferences/PreferenceController.java | 23 ++++++++++++++++++- app/src/main/res/xml/preferences.xml | 9 ++++++++ .../core/preferences/UserPreferences.java | 3 +++ core/src/main/res/values/arrays.xml | 19 +++++++++++++++ core/src/main/res/values/strings.xml | 8 +++++++ 5 files changed, 61 insertions(+), 1 deletion(-) 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 475e3a29b..96822fd71 100644 --- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java +++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java @@ -366,7 +366,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc public boolean onPreferenceChange(Preference preference, Object o) { if (o instanceof String) { int newValue = Integer.valueOf((String) o) * 1024 * 1024; - if(newValue != UserPreferences.getImageCacheSize()) { + if (newValue != UserPreferences.getImageCacheSize()) { AlertDialog.Builder dialog = new AlertDialog.Builder(ui.getActivity()); dialog.setTitle(android.R.string.dialog_alert_title); dialog.setMessage(R.string.pref_restart_required); @@ -379,6 +379,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc } } ); + buildEpisodeCleanupPreference(); buildSmartMarkAsPlayedPreference(); buildAutodownloadSelectedNetworsPreference(); setSelectedNetworksEnabled(UserPreferences @@ -432,6 +433,26 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc return entries; } + private void buildEpisodeCleanupPreference() { + final Resources res = ui.getActivity().getResources(); + + ListPreference pref = (ListPreference) ui.findPreference(UserPreferences.PREF_EPISODE_CLEANUP); + String[] values = res.getStringArray( + R.array.episode_cleanup_values); + String[] entries = new String[values.length]; + for (int x = 0; x < values.length; x++) { + int v = Integer.parseInt(values[x]); + if (v == 0) { + entries[x] = res.getString(R.string.episode_cleanup_immediately); + } else if (v == -1){ + entries[x] = res.getString(R.string.episode_cleanup_never); + } else { + entries[x] = res.getQuantityString(R.plurals.time_days_quantified, v, v); + } + } + pref.setEntries(entries); + } + private void buildSmartMarkAsPlayedPreference() { final Resources res = ui.getActivity().getResources(); diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 30381162c..6f058b257 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -137,6 +137,15 @@ android:key="prefMobileUpdate" android:summary="@string/pref_mobileUpdate_sum" android:title="@string/pref_mobileUpdate_title"/> + + + 100 @string/pref_episode_cache_unlimited + 5 10 @@ -53,6 +54,24 @@ -1 + + @string/episode_cleanup_immediately + 1 + 3 + 5 + 7 + @string/episode_cleanup_never + + + + 0 + 1 + 3 + 5 + 7 + -1 + + 0.5 0.6 diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index ae1381de3..4feef0ecd 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -86,6 +86,8 @@ Always Never Send... + Never + when not in queue Feed URL @@ -266,6 +268,8 @@ Queue Services Flattr + Episode Cleanup + Episodes that aren\'t in the queue and aren\'t favorites should be eligible for removal if space is needed Pause playback when the headphones are disconnected Resume playback when the headphones are reconnected Jump to next queue item when playback completes @@ -417,6 +421,10 @@ %d hours + + 1 day + %d days + CATEGORIES TOP PODCASTS