From 6cb7a1de67af90d1d13cd04ab64afee4d1e99b70 Mon Sep 17 00:00:00 2001 From: Thomas Knepper Date: Sun, 26 Jul 2015 20:00:48 +0200 Subject: option, to keep 1, 2 or 3 played songs --- .../github/daneren2005/dsub/fragments/SettingsFragment.java | 3 +++ .../github/daneren2005/dsub/service/DownloadService.java | 4 +++- .../main/java/github/daneren2005/dsub/util/Constants.java | 1 + app/src/main/res/values-de/strings.xml | 5 +++++ app/src/main/res/values/arrays.xml | 13 +++++++++++++ app/src/main/res/values/strings.xml | 5 +++++ app/src/main/res/xml/settings.xml | 7 +++++++ 7 files changed, 37 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java index 3be21a67..52748e7b 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java @@ -71,6 +71,7 @@ public class SettingsFragment extends PreferenceCompatFragment implements Shared private EditTextPreference cacheLocation; private ListPreference preloadCountWifi; private ListPreference preloadCountMobile; + private ListPreference keepPlayedCount; private ListPreference tempLoss; private ListPreference pauseDisconnect; private Preference addServerPreference; @@ -177,6 +178,7 @@ public class SettingsFragment extends PreferenceCompatFragment implements Shared cacheLocation = (EditTextPreference) this.findPreference(Constants.PREFERENCES_KEY_CACHE_LOCATION); preloadCountWifi = (ListPreference) this.findPreference(Constants.PREFERENCES_KEY_PRELOAD_COUNT_WIFI); preloadCountMobile = (ListPreference) this.findPreference(Constants.PREFERENCES_KEY_PRELOAD_COUNT_MOBILE); + keepPlayedCount = (ListPreference) this.findPreference(Constants.PREFERENCES_KEY_KEEP_PLAYED_CNT); tempLoss = (ListPreference) this.findPreference(Constants.PREFERENCES_KEY_TEMP_LOSS); pauseDisconnect = (ListPreference) this.findPreference(Constants.PREFERENCES_KEY_PAUSE_DISCONNECT); serversCategory = (PreferenceCategory) this.findPreference(Constants.PREFERENCES_KEY_SERVER_KEY); @@ -316,6 +318,7 @@ public class SettingsFragment extends PreferenceCompatFragment implements Shared cacheLocation.setSummary(cacheLocation.getText()); preloadCountWifi.setSummary(preloadCountWifi.getEntry()); preloadCountMobile.setSummary(preloadCountMobile.getEntry()); + keepPlayedCount.setSummary(keepPlayedCount.getEntry()); tempLoss.setSummary(tempLoss.getEntry()); pauseDisconnect.setSummary(pauseDisconnect.getEntry()); videoPlayer.setSummary(videoPlayer.getEntry()); diff --git a/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java b/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java index 9e57f5b0..ae2eb073 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java @@ -1972,7 +1972,9 @@ public class DownloadService extends Service { } private synchronized void checkRemovePlayed() { - while(currentPlayingIndex > 0) { + SharedPreferences prefs = Util.getPreferences(this); + int keepCount = Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_KEEP_PLAYED_CNT, "0")); + while(currentPlayingIndex > keepCount) { downloadList.remove(0); currentPlayingIndex = downloadList.indexOf(currentPlaying); revision++; diff --git a/app/src/main/java/github/daneren2005/dsub/util/Constants.java b/app/src/main/java/github/daneren2005/dsub/util/Constants.java index 05481bf0..b3dd173b 100644 --- a/app/src/main/java/github/daneren2005/dsub/util/Constants.java +++ b/app/src/main/java/github/daneren2005/dsub/util/Constants.java @@ -113,6 +113,7 @@ public final class Constants { public static final String PREFERENCES_KEY_PERSISTENT_NOTIFICATION = "persistentNotification"; public static final String PREFERENCES_KEY_GAPLESS_PLAYBACK = "gaplessPlayback"; public static final String PREFERENCES_KEY_REMOVE_PLAYED = "removePlayed"; + public static final String PREFERENCES_KEY_KEEP_PLAYED_CNT = "keepPlayedCount"; public static final String PREFERENCES_KEY_SHUFFLE_MODE = "shuffleMode2"; public static final String PREFERENCES_KEY_SHUFFLE_MODE_EXTRA = "shuffleModeExtra"; public static final String PREFERENCES_KEY_CHAT_REFRESH = "chatRefreshRate"; diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 97ab596b..25f1b57c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -577,5 +577,10 @@ Noch ein Tag bis zum Ablauf des Testzeitraums. %d Tage bis zum Ablauf des Testzeitraums. + Alle abgespielten Lieder entfernen + Das letzte abgespielte Lied behalten + 3 abgespielte Lieder behalten + 2 abgespielte Lieder behalten + Abgespielte Lieder behalten diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 37b15d12..c103fb15 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -202,6 +202,19 @@ @string/settings.temp_loss_nothing + + 0 + 1 + 2 + 3 + + + @string/settings.keep_played_count_none + @string/settings.keep_played_count_one + @string/settings.keep_played_count_two + @string/settings.keep_played_count_three + + 0 3 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8544c6e3..3d67ec37 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -379,6 +379,11 @@ Pause, lower volume when requested Always lower volume Do Nothing + Keep played songs + Remove all played songs + Keep last played songs + Keep 2 played songs + Keep 3 played songs Pause on Disconnect Pause Do Nothing diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index b1cbdd8c..b23825bf 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -334,6 +334,13 @@ android:dialogLayout="@layout/seekbar_preference" myns:max="100"/> + +