summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2021-10-28 18:25:10 +0200
committerGitHub <noreply@github.com>2021-10-28 18:25:10 +0200
commit48f6f2ea064512a8d49ca07435d53c853020a05e (patch)
treec9ec2eb092f7a1cc057f28aee71b86732f13a5f7 /app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
parenta4a9a0f4ffb11ffe80b839f32eda5b4e3488a1bb (diff)
parentb53df742a71422ef6f491b478ffd87e30cb77b91 (diff)
downloadAntennaPod-48f6f2ea064512a8d49ca07435d53c853020a05e.zip
Merge pull request #5487 from ByteHamster/controller-events
Use EventBus instead of PlaybackController
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java26
1 files changed, 12 insertions, 14 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
index 31c2d3369..f4b3b1bfa 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
@@ -12,9 +12,13 @@ import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.event.playback.SpeedChangedEvent;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
import de.danoeh.antennapod.view.PlaybackSpeedSeekBar;
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
import java.util.List;
import java.util.Locale;
@@ -44,16 +48,12 @@ public class PlaybackControlsDialog extends DialogFragment {
public void loadMediaInfo() {
setupUi();
setupAudioTracks();
- updateSpeed();
- }
-
- @Override
- public void onPlaybackSpeedChange() {
- updateSpeed();
+ updateSpeed(new SpeedChangedEvent(getCurrentPlaybackSpeedMultiplier()));
}
};
controller.init();
setupUi();
+ EventBus.getDefault().register(this);
}
@Override
@@ -61,6 +61,7 @@ public class PlaybackControlsDialog extends DialogFragment {
super.onStop();
controller.release();
controller = null;
+ EventBus.getDefault().unregister(this);
}
@NonNull
@@ -79,10 +80,9 @@ public class PlaybackControlsDialog extends DialogFragment {
speedSeekBar.setProgressChangedListener(speed -> {
if (controller != null) {
controller.setPlaybackSpeed(speed);
- updateSpeed();
}
});
- updateSpeed();
+ updateSpeed(new SpeedChangedEvent(controller.getCurrentPlaybackSpeedMultiplier()));
final CheckBox stereoToMono = dialog.findViewById(R.id.stereo_to_mono);
stereoToMono.setChecked(UserPreferences.stereoToMono());
@@ -111,12 +111,10 @@ public class PlaybackControlsDialog extends DialogFragment {
});
}
- private void updateSpeed() {
- if (controller != null) {
- txtvPlaybackSpeed.setText(String.format(
- Locale.getDefault(), "%.2fx", controller.getCurrentPlaybackSpeedMultiplier()));
- speedSeekBar.updateSpeed(controller.getCurrentPlaybackSpeedMultiplier());
- }
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void updateSpeed(SpeedChangedEvent event) {
+ txtvPlaybackSpeed.setText(String.format(Locale.getDefault(), "%.2fx", event.getNewSpeed()));
+ speedSeekBar.updateSpeed(event.getNewSpeed());
}
private void setupAudioTracks() {