mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-20 03:24:50 +00:00
- fix PiP issues
- fix overlay issues
This commit is contained in:
parent
45ded8d384
commit
04c0679930
5 changed files with 47 additions and 31 deletions
|
@ -255,14 +255,14 @@ class VideoDetailFragment() : MainFragment() {
|
|||
|
||||
fun minimizeVideoDetail() {
|
||||
_viewDetail?.setFullscreen(false);
|
||||
_motionLayout?.setTransition(R.id.maximize)
|
||||
_motionLayout?.transitionToStart();
|
||||
_motionLayout?.transitionToState(R.id.collapsed)
|
||||
}
|
||||
fun maximizeVideoDetail(instant: Boolean) {
|
||||
state = State.MAXIMIZED
|
||||
onMaximized.emit()
|
||||
if(instant) {
|
||||
_motionLayout?.setState(R.id.collapsed, _motionLayout!!.width,_motionLayout!!.height)
|
||||
_motionLayout?.setTransition(R.id.maximize)
|
||||
_motionLayout?.progress = 1f
|
||||
} else {
|
||||
_motionLayout?.transitionToState(R.id.expanded)
|
||||
}
|
||||
|
@ -286,8 +286,7 @@ class VideoDetailFragment() : MainFragment() {
|
|||
viewDetail.onVideoChanged.subscribe(::onVideoChanged)
|
||||
viewDetail.onMinimize.subscribe {
|
||||
isMinimizingFromFullScreen = true
|
||||
_motionLayout!!.setTransition(R.id.maximize)
|
||||
_motionLayout!!.transitionToStart()
|
||||
_motionLayout?.transitionToState(R.id.collapsed)
|
||||
};
|
||||
viewDetail.onClose.subscribe {
|
||||
Logger.i(TAG, "onClose")
|
||||
|
|
|
@ -807,7 +807,6 @@ class VideoDetailView(fragment: VideoDetailFragment, inflater: LayoutInflater) :
|
|||
if(currentId == R.id.full_screen_gesture) {
|
||||
setFullscreen(true)
|
||||
motionLayout?.transitionToState(R.id.expanded)
|
||||
motionLayout?.isInteractionEnabled = false
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -113,7 +113,6 @@ class FutoVideoPlayer : FutoVideoPlayerBase {
|
|||
private var _lastSourceFit: Float? = null;
|
||||
private var _lastWindowWidth: Int = resources.configuration.screenWidthDp
|
||||
private var _lastWindowHeight: Int = resources.configuration.screenHeightDp
|
||||
private var _originalBottomMargin: Int = 0;
|
||||
|
||||
private var _isControlsLocked: Boolean = false;
|
||||
|
||||
|
@ -710,11 +709,6 @@ class FutoVideoPlayer : FutoVideoPlayerBase {
|
|||
@OptIn(UnstableApi::class)
|
||||
fun fitHeight(videoSize: VideoSize? = null) {
|
||||
Logger.i(TAG, "Video Fit Height")
|
||||
if (_originalBottomMargin != 0) {
|
||||
val layoutParams = _videoView.layoutParams as ConstraintLayout.LayoutParams
|
||||
layoutParams.setMargins(0, 0, 0, _originalBottomMargin)
|
||||
_videoView.layoutParams = layoutParams
|
||||
}
|
||||
|
||||
var h = videoSize?.height ?: lastVideoSource?.height ?: exoPlayer?.player?.videoSize?.height
|
||||
?: 0
|
||||
|
@ -760,6 +754,7 @@ class FutoVideoPlayer : FutoVideoPlayerBase {
|
|||
_lastSourceFit!!,
|
||||
resources.displayMetrics
|
||||
)
|
||||
_videoView.setPadding(_videoView.paddingLeft, _videoView.paddingTop, _videoView.paddingRight, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 7.0f, Resources.getSystem().displayMetrics).toInt())
|
||||
val rootParams = LayoutParams(LayoutParams.MATCH_PARENT, (height).toInt())
|
||||
_root.layoutParams = rootParams
|
||||
isFitMode = true
|
||||
|
@ -768,9 +763,7 @@ class FutoVideoPlayer : FutoVideoPlayerBase {
|
|||
@OptIn(UnstableApi::class)
|
||||
fun fillHeight(isMiniPlayer: Boolean) {
|
||||
Logger.i(TAG, "Video Fill Height");
|
||||
val layoutParams = _videoView.layoutParams as ConstraintLayout.LayoutParams;
|
||||
_originalBottomMargin =
|
||||
if (layoutParams.bottomMargin > 0) layoutParams.bottomMargin else _originalBottomMargin;
|
||||
var layoutParams = _videoView.layoutParams as ConstraintLayout.LayoutParams;
|
||||
layoutParams.setMargins(0);
|
||||
_videoView.layoutParams = layoutParams;
|
||||
_videoView.invalidate();
|
||||
|
@ -781,6 +774,9 @@ class FutoVideoPlayer : FutoVideoPlayerBase {
|
|||
|
||||
if(isMiniPlayer){
|
||||
_videoView.resizeMode = AspectRatioFrameLayout.RESIZE_MODE_ZOOM
|
||||
_videoView.setPadding(_videoView.paddingLeft, _videoView.paddingTop, _videoView.paddingRight, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 7.0f, Resources.getSystem().displayMetrics).toInt())
|
||||
} else {
|
||||
_videoView.setPadding(_videoView.paddingLeft, _videoView.paddingTop, _videoView.paddingRight, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 0.0f, Resources.getSystem().displayMetrics).toInt())
|
||||
}
|
||||
|
||||
isFitMode = false;
|
||||
|
|
|
@ -380,19 +380,23 @@
|
|||
android:id="@+id/videodetail_rating"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/buttons_pins"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginStart="15dp" />
|
||||
android:layout_marginStart="15dp"
|
||||
app:layout_constraintHorizontal_chainStyle="spread_inside"/>
|
||||
|
||||
<com.futo.platformplayer.views.pills.RoundButtonGroup
|
||||
android:id="@+id/buttons_pins"
|
||||
app:layout_constraintLeft_toRightOf="@id/videodetail_rating"
|
||||
app:layout_constraintStart_toEndOf="@id/videodetail_rating"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintWidth_max="500dp"
|
||||
app:layout_constraintHorizontal_chainStyle="spread_inside"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
|
@ -591,15 +595,13 @@
|
|||
|
||||
<FrameLayout
|
||||
android:id="@+id/videodetail_quality_overview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:elevation="100dp"
|
||||
android:visibility="gone" />
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/overlay_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:elevation="100dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:visibility="gone" />
|
||||
</com.futo.platformplayer.views.containers.CustomMotionLayout>
|
|
@ -73,12 +73,18 @@
|
|||
<Constraint
|
||||
android:id="@id/videodetail_progress"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-11.7dp"
|
||||
android:layout_marginTop="-12dp"
|
||||
android:background="@color/black"
|
||||
android:elevation="2dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/minimize_controls"
|
||||
app:layout_constraintStart_toStartOf="@id/layout_player_container"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_player_container" />
|
||||
<Constraint
|
||||
android:id="@id/videodetail_quality_overview"
|
||||
app:visibilityMode="ignore"/>
|
||||
<Constraint
|
||||
android:id="@id/overlay_container"
|
||||
app:visibilityMode="ignore"/>
|
||||
</ConstraintSet>
|
||||
|
||||
<ConstraintSet android:id="@+id/expanded">
|
||||
|
@ -112,12 +118,26 @@
|
|||
<Constraint
|
||||
android:id="@id/videodetail_progress"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-11.7dp"
|
||||
android:layout_marginTop="-12dp"
|
||||
android:background="@color/transparent"
|
||||
android:elevation="1dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/minimize_controls"
|
||||
app:layout_constraintStart_toStartOf="@id/layout_player_container"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_player_container" />
|
||||
<Constraint
|
||||
android:id="@id/videodetail_quality_overview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:elevation="100dp"
|
||||
android:visibility="gone"
|
||||
app:visibilityMode="ignore"/>
|
||||
<Constraint
|
||||
android:id="@id/overlay_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:elevation="100dp"
|
||||
android:visibility="gone"
|
||||
app:visibilityMode="ignore"/>
|
||||
</ConstraintSet>
|
||||
|
||||
<ConstraintSet android:id="@+id/full_screen_gesture">
|
||||
|
@ -152,7 +172,7 @@
|
|||
<Constraint
|
||||
android:id="@id/videodetail_progress"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-11.7dp"
|
||||
android:layout_marginTop="-12dp"
|
||||
android:background="@color/transparent"
|
||||
android:elevation="1dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/minimize_controls"
|
||||
|
|
Loading…
Add table
Reference in a new issue