diff options
author | Max Bechtold <max.bechtold@andrena.de> | 2019-06-29 11:55:59 +0200 |
---|---|---|
committer | Max Bechtold <max.bechtold@andrena.de> | 2019-08-18 11:52:28 +0200 |
commit | c628fdfcfde1960d21cbbd5f3f6eb604827e0d47 (patch) | |
tree | 6084aa09fdf6606b56b94dc5b7109bd20f2c5a91 /app/src/main/java/de | |
parent | 0bd3b7265203aec5678400341e1b3ede55ba6024 (diff) | |
download | AntennaPod-c628fdfcfde1960d21cbbd5f3f6eb604827e0d47.zip |
Draft volume reduction settings per feed
Diffstat (limited to 'app/src/main/java/de')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 2 | ||||
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java | 42 |
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"); |