[Android] Video player: Fix service connection fail
Geoffrey Métais
git at videolan.org
Fri Apr 5 17:14:52 CEST 2019
vlc-android | branch: 3.1.x | Geoffrey Métais <geoffrey.metais at gmail.com> | Fri Apr 5 17:13:08 2019 +0200| [f302db5e140e662a1e77cead49ce5ea8c165db79] | committer: Geoffrey Métais
Video player: Fix service connection fail
On video playback resume back from mulittaskiing, connection to
playbackservice could fail and mess video playback
(cherry picked from commit 426806588c66a9fca4de21d177ca759ef1d1392d)
> https://code.videolan.org/videolan/vlc-android/commit/f302db5e140e662a1e77cead49ce5ea8c165db79
---
.../src/org/videolan/vlc/gui/video/VideoPlayerActivity.java | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
index d9029e2fe..fd123cbe7 100644
--- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
@@ -610,9 +610,13 @@ public class VideoPlayerActivity extends AppCompatActivity implements IPlaybackS
saveBrightness();
- if (mService != null) mService.removeCallback(this);
+ if (mService != null) {
+ mService.removeCallback(this);
+ mService = null;
+ }
// Clear Intent to restore playlist on activity restart
setIntent(new Intent());
+ mHandler.removeCallbacksAndMessages(null);
}
private void saveBrightness() {
@@ -1532,7 +1536,7 @@ public class VideoPlayerActivity extends AppCompatActivity implements IPlaybackS
mLockBackButton = true;
break;
case CHECK_VIDEO_TRACKS:
- if (mService.getVideoTracksCount() < 1 && mService.getAudioTracksCount() > 0) {
+ if (mService != null && mService.getVideoTracksCount() < 1 && mService.getAudioTracksCount() > 0) {
Log.i(TAG, "No video track, open in audio mode");
switchToAudioMode(true);
}
@@ -2492,7 +2496,6 @@ public class VideoPlayerActivity extends AppCompatActivity implements IPlaybackS
mWasPaused = true;
if (mWasPaused && BuildConfig.DEBUG)
Log.d(TAG, "Video was previously paused, resuming in paused mode");
-
if (intent.getData() != null) mUri = intent.getData();
if (extras != null) {
if (intent.hasExtra(Constants.PLAY_EXTRA_ITEM_LOCATION))
@@ -2937,8 +2940,8 @@ public class VideoPlayerActivity extends AppCompatActivity implements IPlaybackS
}
});
mService.addCallback(this);
- } else {
- if (mService != null) mService.removeCallback(this);
+ } else if (mService != null) {
+ mService.removeCallback(this);
mService = null;
mHandler.sendEmptyMessage(AUDIO_SERVICE_CONNECTION_FAILED);
}
More information about the Android
mailing list