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

View File

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

View File

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