summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java13
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java8
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java4
4 files changed, 17 insertions, 10 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
index be80ea112..acd0ccfdb 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
@@ -158,7 +158,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
setPlayerStatus(PlayerStatus.INITIALIZING, media);
try {
media.loadMetadata();
- callback.reloadUI();
+ callback.reloadUI(true);
if (stream) {
mediaPlayer.setDataSource(media.getStreamUrl());
} else {
@@ -337,6 +337,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
public void reinit() {
executor.submit(() -> {
playerLock.lock();
+ Log.d(TAG, "reinit()");
releaseWifiLockIfNecessary();
if (media != null) {
playMediaObject(media, true, stream, startWhenPrepared.get(), false);
@@ -629,9 +630,13 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
public void resetVideoSurface() {
executor.submit(() -> {
playerLock.lock();
- Log.d(TAG, "Resetting video surface");
- mediaPlayer.setDisplay(null);
- reinit();
+ if (mediaType == MediaType.VIDEO) {
+ Log.d(TAG, "Resetting video surface");
+ mediaPlayer.setDisplay(null);
+ reinit();
+ } else {
+ Log.e(TAG, "Resetting video surface for media of Audio type");
+ }
playerLock.unlock();
});
}
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 2e4a486e6..17473feb3 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
@@ -499,7 +499,7 @@ public class PlaybackService extends Service {
}
public void notifyVideoSurfaceAbandoned() {
- stopForeground(true);
+ stopForeground(!UserPreferences.isPersistNotify());
mediaPlayer.resetVideoSurface();
}
@@ -640,9 +640,11 @@ public class PlaybackService extends Service {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
Log.d(TAG, "reloadUI callback reached");
- sendNotificationBroadcast(NOTIFICATION_TYPE_RELOAD, 0);
+ if (!onlyMediaSession) {
+ sendNotificationBroadcast(NOTIFICATION_TYPE_RELOAD, 0);
+ }
PlaybackService.this.updateMediaSessionMetadata(getPlayable());
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java
index f3a9c1d03..132dd095b 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java
@@ -322,7 +322,7 @@ public abstract class PlaybackServiceMediaPlayer {
void onBufferingUpdate(int percent);
- void reloadUI();
+ void reloadUI(boolean onlyMediaSession);
boolean onMediaPlayerInfo(int code, @StringRes int resourceId);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java
index b9068447e..5d7c53b23 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java
@@ -244,7 +244,7 @@ public class RemotePSMP extends PlaybackServiceMediaPlayer {
setPlayerStatus(PlayerStatus.INDETERMINATE, currentMedia);
}
if (updateUI) {
- callback.reloadUI();
+ callback.reloadUI(false);
}
}
@@ -302,7 +302,7 @@ public class RemotePSMP extends PlaybackServiceMediaPlayer {
setPlayerStatus(PlayerStatus.INITIALIZING, media);
try {
media.loadMetadata();
- callback.reloadUI();
+ callback.reloadUI(false);
setPlayerStatus(PlayerStatus.INITIALIZED, media);
if (prepareImmediately) {
prepare();