Hiding controls when orientation changes to landscape
This commit is contained in:
parent
a5312c1341
commit
5ada0ae2c7
|
@ -2105,7 +2105,6 @@ public class VideoDetailFragment
|
||||||
// Let's give a user time to look at video information page if video is not playing
|
// Let's give a user time to look at video information page if video is not playing
|
||||||
if (orientationLocked && !player.isPlaying()) {
|
if (orientationLocked && !player.isPlaying()) {
|
||||||
player.onPlay();
|
player.onPlay();
|
||||||
player.showControlsThenHide();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -753,8 +753,16 @@ public class VideoPlayerImpl extends VideoPlayer
|
||||||
}
|
}
|
||||||
|
|
||||||
isFullscreen = !isFullscreen;
|
isFullscreen = !isFullscreen;
|
||||||
// Prevent applying windows insets twice (open vertical video to reproduce)
|
if (!isFullscreen) {
|
||||||
getRootView().findViewById(R.id.playbackControlRoot).setPadding(0, 0, 0, 0);
|
// Apply window insets because Android will not do it when orientation changes
|
||||||
|
// from landscape to portrait (open vertical video to reproduce)
|
||||||
|
getControlsRoot().setPadding(0, 0, 0, 0);
|
||||||
|
} else {
|
||||||
|
// Android needs tens milliseconds to send new insets but a user is able to see
|
||||||
|
// how controls changes it's position from `0` to `nav bar height` padding.
|
||||||
|
// So just hide the controls to hide this visual inconsistency
|
||||||
|
hideControls(0, 0);
|
||||||
|
}
|
||||||
fragmentListener.onFullscreenStateChanged(isFullscreen());
|
fragmentListener.onFullscreenStateChanged(isFullscreen());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1926,8 +1934,11 @@ public class VideoPlayerImpl extends VideoPlayer
|
||||||
public void setFragmentListener(final PlayerServiceEventListener listener) {
|
public void setFragmentListener(final PlayerServiceEventListener listener) {
|
||||||
fragmentListener = listener;
|
fragmentListener = listener;
|
||||||
fragmentIsVisible = true;
|
fragmentIsVisible = true;
|
||||||
// Prevent applying windows insets twice
|
// Apply window insets because Android will not do it when orientation changes
|
||||||
getRootView().findViewById(R.id.playbackControlRoot).setPadding(0, 0, 0, 0);
|
// from landscape to portrait
|
||||||
|
if (!isFullscreen) {
|
||||||
|
getControlsRoot().setPadding(0, 0, 0, 0);
|
||||||
|
}
|
||||||
queueLayout.setPadding(0, 0, 0, 0);
|
queueLayout.setPadding(0, 0, 0, 0);
|
||||||
updateMetadata();
|
updateMetadata();
|
||||||
updatePlayback();
|
updatePlayback();
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="5"
|
android:layout_weight="5"
|
||||||
android:fitsSystemWindows="true"
|
|
||||||
android:isScrollContainer="true">
|
android:isScrollContainer="true">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
|
Loading…
Reference in New Issue