From 390fb1a15ba21c47dd1a9f941900ac2dcd425bca Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Fri, 14 May 2021 20:26:57 +0200 Subject: Use EventBus instead of broadcast for service shutdown --- .../danoeh/antennapod/core/event/ServiceEvent.java | 3 ++- .../core/service/playback/PlaybackService.java | 1 + .../core/util/playback/PlaybackController.java | 24 ---------------------- 3 files changed, 3 insertions(+), 25 deletions(-) (limited to 'core/src/main') diff --git a/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java b/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java index b3241a8b6..2230ee84f 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java +++ b/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java @@ -2,7 +2,8 @@ package de.danoeh.antennapod.core.event; public class ServiceEvent { public enum Action { - SERVICE_STARTED + SERVICE_STARTED, + SERVICE_SHUT_DOWN } public final Action action; 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 77c40f32a..e3f0fb88d 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 @@ -1604,6 +1604,7 @@ public class PlaybackService extends MediaBrowserServiceCompat { @Override public void onReceive(Context context, Intent intent) { if (TextUtils.equals(intent.getAction(), ACTION_SHUTDOWN_PLAYBACK_SERVICE)) { + EventBus.getDefault().post(new ServiceEvent(ServiceEvent.Action.SERVICE_SHUT_DOWN)); stateManager.stopService(); } } 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 c6166264b..425ccb018 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 @@ -10,7 +10,6 @@ import android.content.ServiceConnection; import android.media.MediaPlayer; import android.os.Build; import android.os.IBinder; -import android.text.TextUtils; import android.util.Log; import android.util.Pair; import android.view.SurfaceHolder; @@ -91,9 +90,6 @@ public abstract class PlaybackController { activity.registerReceiver(notificationReceiver, new IntentFilter( PlaybackService.ACTION_PLAYER_NOTIFICATION)); - activity.registerReceiver(shutdownReceiver, new IntentFilter( - PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE)); - if (!released) { bindToService(); } else { @@ -121,12 +117,6 @@ public abstract class PlaybackController { // ignore } unbind(); - - try { - activity.unregisterReceiver(shutdownReceiver); - } catch (IllegalArgumentException e) { - // ignore - } media = null; released = true; @@ -260,18 +250,6 @@ public abstract class PlaybackController { }; - private final BroadcastReceiver shutdownReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - if (playbackService != null) { - if (TextUtils.equals(intent.getAction(), PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE)) { - unbind(); - onShutdownNotification(); - } - } - } - }; - public void onPositionObserverUpdate() {} @@ -279,8 +257,6 @@ public abstract class PlaybackController { public void onSetSpeedAbilityChanged() {} - public void onShutdownNotification() {} - /** * Called when the currently displayed information should be refreshed. */ -- cgit v1.2.3