diff options
author | ByteHamster <info@bytehamster.com> | 2021-05-14 20:26:57 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2021-05-14 20:26:57 +0200 |
commit | 390fb1a15ba21c47dd1a9f941900ac2dcd425bca (patch) | |
tree | 81cbc03d691b4159d1e54d864764cf008ef18d05 /core/src/main | |
parent | fb6bd0cbaa909b6067fedef1e8a108130841f3fe (diff) | |
download | AntennaPod-390fb1a15ba21c47dd1a9f941900ac2dcd425bca.zip |
Use EventBus instead of broadcast for service shutdown
Diffstat (limited to 'core/src/main')
3 files changed, 3 insertions, 25 deletions
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. */ |