diff options
author | quails4Eva <dpetchey@gmail.com> | 2024-03-03 19:17:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-03 20:17:22 +0100 |
commit | 60f3d77eb2d41d49ad6fd999c39f5792f804a17e (patch) | |
tree | 63482639471c4a6c3592663477519af9fdcd6ec0 /app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java | |
parent | 3c77d43e76535465ef5c9976835d42439797fd8f (diff) | |
download | AntennaPod-60f3d77eb2d41d49ad6fd999c39f5792f804a17e.zip |
Skip silence setting per feed (#6910)
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java | 27 |
1 files changed, 22 insertions, 5 deletions
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 c42134165..4626c061f 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java @@ -241,14 +241,21 @@ public class FeedSettingsFragment extends Fragment { PlaybackSpeedFeedSettingDialogBinding.inflate(getLayoutInflater()); viewBinding.seekBar.setProgressChangedListener(speed -> viewBinding.currentSpeedLabel.setText(String.format(Locale.getDefault(), "%.2fx", speed))); - float speed = feedPreferences.getFeedPlaybackSpeed(); viewBinding.useGlobalCheckbox.setOnCheckedChangeListener((buttonView, isChecked) -> { viewBinding.seekBar.setEnabled(!isChecked); viewBinding.seekBar.setAlpha(isChecked ? 0.4f : 1f); viewBinding.currentSpeedLabel.setAlpha(isChecked ? 0.4f : 1f); + + viewBinding.skipSilenceFeed.setEnabled(!isChecked); + viewBinding.skipSilenceFeed.setAlpha(isChecked ? 0.4f : 1f); }); - viewBinding.useGlobalCheckbox.setChecked(speed == FeedPreferences.SPEED_USE_GLOBAL); - viewBinding.seekBar.updateSpeed(speed == FeedPreferences.SPEED_USE_GLOBAL ? 1 : speed); + float speed = feedPreferences.getFeedPlaybackSpeed(); + FeedPreferences.SkipSilence skipSilence = feedPreferences.getFeedSkipSilence(); + boolean isGlobal = speed == FeedPreferences.SPEED_USE_GLOBAL; + viewBinding.useGlobalCheckbox.setChecked(isGlobal); + viewBinding.seekBar.updateSpeed(isGlobal ? 1 : speed); + viewBinding.skipSilenceFeed.setChecked(!isGlobal + && skipSilence == FeedPreferences.SkipSilence.AGGRESSIVE); new MaterialAlertDialogBuilder(getContext()) .setTitle(R.string.playback_speed) .setView(viewBinding.getRoot()) @@ -256,9 +263,19 @@ public class FeedSettingsFragment extends Fragment { float newSpeed = viewBinding.useGlobalCheckbox.isChecked() ? FeedPreferences.SPEED_USE_GLOBAL : viewBinding.seekBar.getCurrentSpeed(); feedPreferences.setFeedPlaybackSpeed(newSpeed); + FeedPreferences.SkipSilence newSkipSilence; + if (viewBinding.useGlobalCheckbox.isChecked()) { + newSkipSilence = FeedPreferences.SkipSilence.GLOBAL; + } else if (viewBinding.skipSilenceFeed.isChecked()) { + newSkipSilence = FeedPreferences.SkipSilence.AGGRESSIVE; + } else { + newSkipSilence = FeedPreferences.SkipSilence.OFF; + } + feedPreferences.setFeedSkipSilence(newSkipSilence); DBWriter.setFeedPreferences(feedPreferences); - EventBus.getDefault().post( - new SpeedPresetChangedEvent(feedPreferences.getFeedPlaybackSpeed(), feed.getId())); + EventBus.getDefault().post(new SpeedPresetChangedEvent( + feedPreferences.getFeedPlaybackSpeed(), + feed.getId(), feedPreferences.getFeedSkipSilence())); }) .setNegativeButton(R.string.cancel_label, null) .show(); |