summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2021-05-14 20:26:57 +0200
committerByteHamster <info@bytehamster.com>2021-05-14 20:26:57 +0200
commit390fb1a15ba21c47dd1a9f941900ac2dcd425bca (patch)
tree81cbc03d691b4159d1e54d864764cf008ef18d05 /core/src/main
parentfb6bd0cbaa909b6067fedef1e8a108130841f3fe (diff)
downloadAntennaPod-390fb1a15ba21c47dd1a9f941900ac2dcd425bca.zip
Use EventBus instead of broadcast for service shutdown
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java3
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java1
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java24
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.
*/