Fixed Gesture control distances for portrait full screen.

This commit is contained in:
Koen 2023-12-20 11:06:18 +01:00
parent c1967556ac
commit c63a63cb33
3 changed files with 17 additions and 8 deletions

View File

@ -18,12 +18,20 @@ import android.widget.TextView
import androidx.core.animation.doOnEnd import androidx.core.animation.doOnEnd
import androidx.core.animation.doOnStart import androidx.core.animation.doOnStart
import androidx.core.view.GestureDetectorCompat import androidx.core.view.GestureDetectorCompat
import com.futo.platformplayer.logging.Logger
import com.futo.platformplayer.R import com.futo.platformplayer.R
import com.futo.platformplayer.constructs.Event0 import com.futo.platformplayer.constructs.Event0
import com.futo.platformplayer.constructs.Event1 import com.futo.platformplayer.constructs.Event1
import com.futo.platformplayer.logging.Logger
import com.futo.platformplayer.views.others.CircularProgressBar import com.futo.platformplayer.views.others.CircularProgressBar
import kotlinx.coroutines.* import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.cancel
import kotlinx.coroutines.delay
import kotlinx.coroutines.ensureActive
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
class GestureControlView : LinearLayout { class GestureControlView : LinearLayout {
private val _scope = CoroutineScope(Dispatchers.Main); private val _scope = CoroutineScope(Dispatchers.Main);
@ -95,22 +103,23 @@ class GestureControlView : LinearLayout {
if(p0 == null) if(p0 == null)
return false; return false;
val minDistance = Math.min(width, height)
if (_isFullScreen && _adjustingBrightness) { if (_isFullScreen && _adjustingBrightness) {
val adjustAmount = (distanceY * 2) / height; val adjustAmount = (distanceY * 2) / minDistance;
_brightnessFactor = (_brightnessFactor + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f); _brightnessFactor = (_brightnessFactor + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f);
_progressBrightness.progress = _brightnessFactor; _progressBrightness.progress = _brightnessFactor;
onBrightnessAdjusted.emit(_brightnessFactor); onBrightnessAdjusted.emit(_brightnessFactor);
} else if (_isFullScreen && _adjustingSound) { } else if (_isFullScreen && _adjustingSound) {
val adjustAmount = (distanceY * 2) / height; val adjustAmount = (distanceY * 2) / minDistance;
_soundFactor = (_soundFactor + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f); _soundFactor = (_soundFactor + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f);
_progressSound.progress = _soundFactor; _progressSound.progress = _soundFactor;
onSoundAdjusted.emit(_soundFactor); onSoundAdjusted.emit(_soundFactor);
} else if (_adjustingFullscreenUp) { } else if (_adjustingFullscreenUp) {
val adjustAmount = (distanceY * 2) / height; val adjustAmount = (distanceY * 2) / minDistance;
_fullScreenFactorUp = (_fullScreenFactorUp + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f); _fullScreenFactorUp = (_fullScreenFactorUp + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f);
_layoutControlsFullscreen.alpha = _fullScreenFactorUp; _layoutControlsFullscreen.alpha = _fullScreenFactorUp;
} else if (_adjustingFullscreenDown) { } else if (_adjustingFullscreenDown) {
val adjustAmount = (-distanceY * 2) / height; val adjustAmount = (-distanceY * 2) / minDistance;
_fullScreenFactorDown = (_fullScreenFactorDown + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f); _fullScreenFactorDown = (_fullScreenFactorDown + adjustAmount).coerceAtLeast(0.0f).coerceAtMost(1.0f);
_layoutControlsFullscreen.alpha = _fullScreenFactorDown; _layoutControlsFullscreen.alpha = _fullScreenFactorDown;
} else { } else {

@ -1 +1 @@
Subproject commit 863d0be1322660c99e4d0cdae0b45d0a5918542d Subproject commit 01270edbb4b6b4fb004e22fc529bf787c7f5be81

@ -1 +1 @@
Subproject commit d41cc8e848891ef8e949e6d49384b754e7c305c7 Subproject commit 13551ab67fc8fb1899b5bcbfdec750855b154790