summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
authorMax Bechtold <max.bechtold@andrena.de>2019-06-29 11:55:59 +0200
committerMax Bechtold <max.bechtold@andrena.de>2019-08-18 11:52:28 +0200
commitc628fdfcfde1960d21cbbd5f3f6eb604827e0d47 (patch)
tree6084aa09fdf6606b56b94dc5b7109bd20f2c5a91 /app/src/main/java/de/danoeh/antennapod
parent0bd3b7265203aec5678400341e1b3ede55ba6024 (diff)
downloadAntennaPod-c628fdfcfde1960d21cbbd5f3f6eb604827e0d47.zip
Draft volume reduction settings per feed
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java42
2 files changed, 43 insertions, 1 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index ea7687bc9..2ea06d08e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -270,7 +270,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
url = URLChecker.prepareURL(url);
feed = new Feed(url, null);
if (username != null && password != null) {
- feed.setPreferences(new FeedPreferences(0, false, FeedPreferences.AutoDeleteAction.GLOBAL, username, password));
+ feed.setPreferences(new FeedPreferences(0, false, FeedPreferences.AutoDeleteAction.GLOBAL, FeedPreferences.VolumeReductionSetting.OFF, username, password));
}
String fileUrl = new File(getExternalCacheDir(),
FileNameGenerator.generateFileName(feed.getDownload_url())).toString();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
index 4fb3d90f5..e08020d9c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
@@ -38,10 +38,12 @@ public class FeedSettingsFragment extends PreferenceFragmentCompat {
setupAutoDownloadPreference();
setupKeepUpdatedPreference();
setupAutoDeletePreference();
+ setupVolumeReductionPreferences();
setupAuthentificationPreference();
setupEpisodeFilterPreference();
updateAutoDeleteSummary();
+ updateVolumeReductionSummary();
updateAutoDownloadEnabled();
}).dispose();
}
@@ -114,6 +116,46 @@ public class FeedSettingsFragment extends PreferenceFragmentCompat {
}
}
+ private void setupVolumeReductionPreferences() {
+ ListPreference volumeReductionPreference = (ListPreference) findPreference("volumeReduction");
+ volumeReductionPreference.setOnPreferenceChangeListener((preference, newValue) -> {
+ switch ((String) newValue) {
+ case "off":
+ feedPreferences.setVolumeReductionSetting(FeedPreferences.VolumeReductionSetting.OFF);
+ break;
+ case "light":
+ feedPreferences.setVolumeReductionSetting(FeedPreferences.VolumeReductionSetting.LIGHT);
+ break;
+ case "heavy":
+ feedPreferences.setVolumeReductionSetting(FeedPreferences.VolumeReductionSetting.HEAVY);
+ break;
+ }
+ feed.savePreferences();
+ updateVolumeReductionSummary();
+ // TODO maxbechtold Check if we can call setVolume for the PlaybackService, if running
+ return false;
+ });
+ }
+
+ private void updateVolumeReductionSummary() {
+ ListPreference volumeReductionPreference = (ListPreference) findPreference("volumeReduction");
+
+ switch (feedPreferences.getVolumeReductionSetting()) {
+ case OFF:
+ volumeReductionPreference.setSummary(R.string.feed_volume_reduction_off);
+ volumeReductionPreference.setValue("off");
+ break;
+ case LIGHT:
+ volumeReductionPreference.setSummary(R.string.feed_volume_reduction_light);
+ volumeReductionPreference.setValue("light");
+ break;
+ case HEAVY:
+ volumeReductionPreference.setSummary(R.string.feed_volume_reduction_heavy);
+ volumeReductionPreference.setValue("heavy");
+ break;
+ }
+ }
+
private void setupKeepUpdatedPreference() {
SwitchPreference pref = (SwitchPreference) findPreference("keepUpdated");