Correct exit from fullscreen in case of error or close from notification,

This commit is contained in:
Avently 2020-09-17 19:01:20 +03:00
parent c9be812330
commit 92e13dafe5
3 changed files with 9 additions and 2 deletions

View File

@ -1902,10 +1902,11 @@ public class VideoDetailFragment
public void onPlayerError(final ExoPlaybackException error) {
if (error.type == ExoPlaybackException.TYPE_SOURCE
|| error.type == ExoPlaybackException.TYPE_UNEXPECTED) {
hideMainPlayer();
// Properly exit from fullscreen
if (playerService != null && player.isFullscreen()) {
player.toggleFullscreen();
}
hideMainPlayer();
}
}
@ -2307,6 +2308,7 @@ public class VideoDetailFragment
&& player.videoPlayerSelected()) {
player.toggleFullscreen();
}
setOverlayLook(appBarLayout, behavior, 1);
break;
case BottomSheetBehavior.STATE_COLLAPSED:
moveFocusToMainFragment(true);
@ -2316,6 +2318,7 @@ public class VideoDetailFragment
if (player != null) {
player.onQueueClosed();
}
setOverlayLook(appBarLayout, behavior, 0);
break;
case BottomSheetBehavior.STATE_DRAGGING:
case BottomSheetBehavior.STATE_SETTLING:

View File

@ -220,6 +220,10 @@ public final class MainPlayer extends Service {
}
if (playerImpl != null) {
// Exit from fullscreen when user closes the player via notification
if (playerImpl.isFullscreen()) {
playerImpl.toggleFullscreen();
}
removeViewFromParent();
playerImpl.setRecovery();

View File

@ -39,7 +39,7 @@ public class CustomBottomSheetBehavior extends BottomSheetBehavior<FrameLayout>
}
// Found that user still swiping, continue following
if (skippingInterception) {
if (skippingInterception || getState() == BottomSheetBehavior.STATE_SETTLING) {
return false;
}