@@ -29,6 +29,7 @@ import im.vector.app.R
29
29
import im.vector.app.databinding.ViewRemoveJitsiWidgetBinding
30
30
import im.vector.app.features.home.room.detail.RoomDetailViewState
31
31
import org.matrix.android.sdk.api.session.room.model.Membership
32
+ import kotlin.math.absoluteValue
32
33
33
34
@SuppressLint(" ClickableViewAccessibility" ) class RemoveJitsiWidgetView @JvmOverloads constructor(
34
35
context : Context ,
@@ -55,7 +56,7 @@ import org.matrix.android.sdk.api.session.room.model.Membership
55
56
return @setOnTouchListener when (event.action) {
56
57
MotionEvent .ACTION_DOWN -> {
57
58
if (currentState == State .Idle ) {
58
- val initialX = views.removeJitsiSlidingContainer.x - event.rawX
59
+ val initialX = event.rawX
59
60
updateState(State .Sliding (initialX, 0f , false ))
60
61
}
61
62
true
@@ -73,8 +74,9 @@ import org.matrix.android.sdk.api.session.room.model.Membership
73
74
}
74
75
MotionEvent .ACTION_MOVE -> {
75
76
if (currentState is State .Sliding ) {
76
- val translationX = (currentState.initialX + event.rawX).coerceAtLeast(0f )
77
- val hasReachedActivationThreshold = translationX >= views.root.width / 4
77
+ val deltaX = event.rawX - currentState.initialX
78
+ val translationX = if (! isRtl) deltaX.coerceAtLeast(0f ) else deltaX.coerceAtMost(0f )
79
+ val hasReachedActivationThreshold = translationX.absoluteValue >= views.root.width / 4
78
80
updateState(State .Sliding (currentState.initialX, translationX, hasReachedActivationThreshold))
79
81
}
80
82
true
0 commit comments