more reliable motion event triggesr

This commit is contained in:
Kelvin K
2025-11-28 11:58:17 -06:00
parent da7fef1ecd
commit dccf4fcf3c
2 changed files with 26 additions and 4 deletions
@@ -423,14 +423,19 @@ class MainActivity : AppCompatActivity, IWithResultLauncher {
updateSegmentPaddings(); updateSegmentPaddings();
}; };
_fragVideoDetail.onTransitioning.subscribe { _fragVideoDetail.onTransitioning.subscribe {
if (it || _fragVideoDetail.state != VideoDetailFragment.State.MINIMIZED) if (it || _fragVideoDetail.state != VideoDetailFragment.State.MINIMIZED) {
Logger.i(TAG, "onTransition Setting elevation higher");
_fragContainerOverlay.elevation = _fragContainerOverlay.elevation =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 15f, resources.displayMetrics); TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 15f, resources.displayMetrics);
else }
else {
Logger.i(TAG, "onTransition Setting elevation lower");
_fragContainerOverlay.elevation = _fragContainerOverlay.elevation =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5f, resources.displayMetrics); TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5f, resources.displayMetrics);
} }
}
_fragVideoDetail.onCloseEvent.subscribe { _fragVideoDetail.onCloseEvent.subscribe {
_fragMainHome.setPreviewsEnabled(true); _fragMainHome.setPreviewsEnabled(true);
_fragMainVideoSearchResults.setPreviewsEnabled(true); _fragMainVideoSearchResults.setPreviewsEnabled(true);
@@ -352,10 +352,14 @@ class VideoDetailFragment() : MainFragment() {
} }
}; };
} }
var lastTransitionProgress = -1f;
_view!!.setTransitionListener(object : MotionLayout.TransitionListener { _view!!.setTransitionListener(object : MotionLayout.TransitionListener {
override fun onTransitionChange(motionLayout: MotionLayout?, startId: Int, endId: Int, progress: Float) { override fun onTransitionChange(motionLayout: MotionLayout?, startId: Int, endId: Int, progress: Float) {
_viewDetail?.stopAllGestures() _viewDetail?.stopAllGestures()
//Logger.i(TAG, "onTransitionChange: ${progress}")
lastTransitionProgress = progress;
if (state != State.MINIMIZED && progress < 0.1) { if (state != State.MINIMIZED && progress < 0.1) {
state = State.MINIMIZED; state = State.MINIMIZED;
isMinimizingFromFullScreen = false isMinimizingFromFullScreen = false
@@ -385,9 +389,22 @@ class VideoDetailFragment() : MainFragment() {
if(isInPictureInPicture) leavePictureInPictureMode(false); //Workaround to prevent getting stuck in p2p if(isInPictureInPicture) leavePictureInPictureMode(false); //Workaround to prevent getting stuck in p2p
} }
} }
override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) { } override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
val progress = motionLayout?.progress//lastTransitionProgress;
if(progress != null && progress >= 0) {
Logger.i(TAG, "onTransitionCompleted: ${progress}")
if(state != State.MINIMIZED && progress < 0.5) {
state = State.MINIMIZED;
isMinimizingFromFullScreen = false
onMinimize.emit();
}
isTransitioning = false;
onTransitioning.emit(false);
}
}
override fun onTransitionStarted(p0: MotionLayout?, p1: Int, p2: Int) { } override fun onTransitionStarted(p0: MotionLayout?, p1: Int, p2: Int) { }
override fun onTransitionTrigger(p0: MotionLayout?, p1: Int, p2: Boolean, p3: Float) { } override fun onTransitionTrigger(p0: MotionLayout?, p1: Int, p2: Boolean, p3: Float) {
}
}); });
_view?.let { _view?.let {