From 759ce1b3574587b7045368c1ae476032b8b79942 Mon Sep 17 00:00:00 2001 From: Max Bechtold Date: Sat, 17 Aug 2019 15:46:08 +0200 Subject: #3248 Adapt volume for playing media if its volume reduction setting is changed --- .../de/danoeh/antennapod/fragment/FeedSettingsFragment.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/de') 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 a71be76d7..f651a8930 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java @@ -3,6 +3,7 @@ package de.danoeh.antennapod.fragment; import android.arch.lifecycle.ViewModelProviders; import android.content.Context; import android.content.DialogInterface; +import android.content.Intent; import android.os.Bundle; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.ListPreference; @@ -13,6 +14,7 @@ import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedFilter; import de.danoeh.antennapod.core.feed.FeedPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.dialog.AuthenticationDialog; import de.danoeh.antennapod.dialog.EpisodeFilterDialog; @@ -132,11 +134,20 @@ public class FeedSettingsFragment extends PreferenceFragmentCompat { } feed.savePreferences(); updateVolumeReductionValue(); - // TODO maxbechtold Check if we can call setVolume for the PlaybackService, if running. Else, show toast? + sendVolumeReductionChangedIntent(); + return false; }); } + private void sendVolumeReductionChangedIntent() { + Context context = getContext(); + Intent intent = new Intent(PlaybackService.ACTION_VOLUME_REDUCTION_CHANGED).setPackage(context.getPackageName()); + intent.putExtra(PlaybackService.EXTRA_VOLUME_REDUCTION_AFFECTED_FEED, feed.getIdentifyingValue()); + intent.putExtra(PlaybackService.EXTRA_VOLUME_REDUCTION_SETTING, feedPreferences.getVolumeReductionSetting()); + context.sendBroadcast(intent); + } + private void updateVolumeReductionValue() { ListPreference volumeReductionPreference = (ListPreference) findPreference("volumeReduction"); -- cgit v1.2.3