summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDomingos Lopes <domingos86lopes+github@gmail.com>2016-04-30 21:01:14 -0400
committerDomingos Lopes <domingos86lopes+github@gmail.com>2016-05-01 02:17:47 -0400
commit0f32e2953ce2aed89e676d815fa9cb2494a31e1a (patch)
tree7ed9f15302e5a2fbb8a1c69194b5877d78c83141 /app
parent8bf33732a9b5a1b9c4a6eaf34c4670828a796eea (diff)
downloadAntennaPod-0f32e2953ce2aed89e676d815fa9cb2494a31e1a.zip
avoid stopping playback after skipping (and changing media type)
Diffstat (limited to 'app')
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java26
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java14
3 files changed, 25 insertions, 19 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
index 195dccdda..04be78f46 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
@@ -176,7 +176,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -255,7 +255,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -337,7 +337,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -420,7 +420,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -497,7 +497,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -575,7 +575,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -655,7 +655,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -738,7 +738,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -796,7 +796,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -874,7 +874,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -989,7 +989,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -1081,7 +1081,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
@@ -1185,7 +1185,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase {
}
@Override
- public void reloadUI() {
+ public void reloadUI(boolean onlyMediaSession) {
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 8ee91c7a3..71d288725 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -211,11 +211,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
@Override
protected void onPause() {
- super.onPause();
if(controller != null) {
controller.reinitServiceIfPaused();
controller.pause();
}
+ super.onPause();
}
/**
@@ -257,12 +257,12 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
@Override
protected void onStop() {
- super.onStop();
Log.d(TAG, "onStop()");
if (controller != null) {
controller.release();
controller = null; // prevent leak
}
+ super.onStop();
}
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index a52382dea..a4ffebae2 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -41,6 +41,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
*/
private boolean videoControlsShowing = true;
private boolean videoSurfaceCreated = false;
+ private boolean destroyingDueToReload = false;
private VideoControlsHider videoControlsHider = new VideoControlsHider(this);
@@ -86,6 +87,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
} else if (PlaybackService.isCasting()) {
Intent intent = PlaybackService.getPlayerActivityIntent(this);
if (!intent.getComponent().getClassName().equals(VideoplayerActivity.class.getName())) {
+ destroyingDueToReload = true;
finish();
startActivity(intent);
}
@@ -94,18 +96,18 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onPause() {
- super.onPause();
videoControlsHider.stop();
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
controller.pause();
}
+ super.onPause();
}
@Override
protected void onDestroy() {
- super.onDestroy();
videoControlsHider.stop();
videoControlsHider = null;
+ super.onDestroy();
}
@Override
@@ -242,7 +244,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
if (controller.serviceAvailable()) {
controller.setVideoSurface(holder);
} else {
- Log.e(TAG, "Could'nt attach surface to mediaplayer - reference to service was null");
+ Log.e(TAG, "Couldn't attach surface to mediaplayer - reference to service was null");
}
}
@@ -252,7 +254,9 @@ public class VideoplayerActivity extends MediaplayerActivity {
public void surfaceDestroyed(SurfaceHolder holder) {
Log.d(TAG, "Videosurface was destroyed");
videoSurfaceCreated = false;
- controller.notifyVideoSurfaceAbandoned();
+ if (!destroyingDueToReload) {
+ controller.notifyVideoSurfaceAbandoned();
+ }
}
};
@@ -261,10 +265,12 @@ public class VideoplayerActivity extends MediaplayerActivity {
protected void onReloadNotification(int notificationCode) {
if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO) {
Log.d(TAG, "ReloadNotification received, switching to Audioplayer now");
+ destroyingDueToReload = true;
finish();
startActivity(new Intent(this, AudioplayerActivity.class));
} else if (notificationCode == PlaybackService.EXTRA_CODE_CAST) {
Log.d(TAG, "ReloadNotification received, switching to Castplayer now");
+ destroyingDueToReload = true;
finish();
startActivity(new Intent(this, CastplayerActivity.class));
}