From a989db586a853852549c638d43c425a3463f901d Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Wed, 25 Mar 2020 16:09:39 +0100 Subject: Implemented missing PlaybackController state handling --- .../core/service/playback/PlaybackService.java | 5 ----- .../core/util/playback/PlaybackController.java | 16 ++-------------- .../service/playback/PlaybackServiceFlavorHelper.java | 4 +++- 3 files changed, 5 insertions(+), 20 deletions(-) (limited to 'core/src') diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java index 9b5931770..63b6ee7e1 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java @@ -181,11 +181,6 @@ public class PlaybackService extends MediaBrowserServiceCompat { */ public static final int NOTIFICATION_TYPE_SET_SPEED_ABILITY_CHANGED = 9; - /** - * Send a message to the user (with provided String resource id) - */ - public static final int NOTIFICATION_TYPE_SHOW_TOAST = 10; - /** * Returned by getPositionSafe() or getDurationSafe() if the playbackService * is in an invalid state. diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java index 7d47ef6ac..7723b4a8f 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java @@ -21,6 +21,7 @@ import android.widget.ImageButton; import android.widget.SeekBar; import android.widget.TextView; +import de.danoeh.antennapod.core.event.MessageEvent; import de.danoeh.antennapod.core.util.ThemeUtils; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -333,8 +334,6 @@ public class PlaybackController { case PlaybackService.NOTIFICATION_TYPE_SET_SPEED_ABILITY_CHANGED: onSetSpeedAbilityChanged(); break; - case PlaybackService.NOTIFICATION_TYPE_SHOW_TOAST: - postStatusMsg(code, true); } } @@ -411,11 +410,10 @@ public class PlaybackController { Log.d(TAG, "status: " + status.toString()); switch (status) { case ERROR: - postStatusMsg(R.string.player_error_msg, false); + EventBus.getDefault().post(new MessageEvent(activity.getString(R.string.player_error_msg))); handleError(MediaPlayer.MEDIA_ERROR_UNKNOWN); break; case PAUSED: - clearStatusMsg(); checkMediaInfoLoaded(); onPositionObserverUpdate(); updatePlayButtonAppearance(playResource, playText); @@ -425,7 +423,6 @@ public class PlaybackController { } break; case PLAYING: - clearStatusMsg(); checkMediaInfoLoaded(); if (!PlaybackService.isCasting() && PlaybackService.getCurrentMediaType() == MediaType.VIDEO) { @@ -435,7 +432,6 @@ public class PlaybackController { updatePlayButtonAppearance(pauseResource, pauseText); break; case PREPARING: - postStatusMsg(R.string.player_preparing_msg, false); checkMediaInfoLoaded(); if (playbackService != null) { if (playbackService.isStartWhenPrepared()) { @@ -446,21 +442,17 @@ public class PlaybackController { } break; case STOPPED: - postStatusMsg(R.string.player_stopped_msg, false); break; case PREPARED: checkMediaInfoLoaded(); - postStatusMsg(R.string.player_ready_msg, false); updatePlayButtonAppearance(playResource, playText); onPositionObserverUpdate(); break; case SEEKING: onPositionObserverUpdate(); - postStatusMsg(R.string.player_seeking_msg, false); break; case INITIALIZED: checkMediaInfoLoaded(); - clearStatusMsg(); updatePlayButtonAppearance(playResource, playText); break; } @@ -482,10 +474,6 @@ public class PlaybackController { return null; } - public void postStatusMsg(int msg, boolean showToast) {} - - public void clearStatusMsg() {} - public boolean loadMediaInfo() { return false; } diff --git a/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java b/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java index c32ba2385..31e955017 100644 --- a/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java +++ b/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java @@ -26,9 +26,11 @@ import java.util.concurrent.TimeoutException; import de.danoeh.antennapod.core.cast.CastConsumer; import de.danoeh.antennapod.core.cast.CastManager; import de.danoeh.antennapod.core.cast.DefaultCastConsumer; +import de.danoeh.antennapod.core.event.MessageEvent; import de.danoeh.antennapod.core.feed.MediaType; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.util.NetworkUtils; +import org.greenrobot.eventbus.EventBus; /** * Class intended to work along PlaybackService and provide support for different flavors. @@ -106,7 +108,7 @@ public class PlaybackServiceFlavorHelper { } switch (code) { case RemotePSMP.CAST_ERROR: - callback.sendNotificationBroadcast(PlaybackService.NOTIFICATION_TYPE_SHOW_TOAST, resourceId); + EventBus.getDefault().post(new MessageEvent(context.getString(resourceId))); return true; case RemotePSMP.CAST_ERROR_PRIORITY_HIGH: Toast.makeText(context, resourceId, Toast.LENGTH_SHORT).show(); -- cgit v1.2.3