Fixed not accepting/declining when dragging over place

This commit is contained in:
Agnieszka C 2021-12-15 22:33:31 +01:00
parent ce114e6b69
commit 2cef423d08

View File

@ -177,6 +177,7 @@ class CallActivity : SimpleActivity() {
startArrowAnimation(call_right_arrow, initialRightArrowX, initialRightArrowScaleX, initialRightArrowScaleY, rightArrowTranslation) startArrowAnimation(call_right_arrow, initialRightArrowX, initialRightArrowScaleX, initialRightArrowScaleY, rightArrowTranslation)
} }
var lock = false
call_draggable.setOnTouchListener { v, event -> call_draggable.setOnTouchListener { v, event ->
when (event.action) { when (event.action) {
MotionEvent.ACTION_DOWN -> { MotionEvent.ACTION_DOWN -> {
@ -185,6 +186,7 @@ class CallActivity : SimpleActivity() {
stopAnimation = true stopAnimation = true
call_left_arrow.animate().alpha(0f) call_left_arrow.animate().alpha(0f)
call_right_arrow.animate().alpha(0f) call_right_arrow.animate().alpha(0f)
lock = false
} }
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
dragDownX = 0f dragDownX = 0f
@ -202,17 +204,25 @@ class CallActivity : SimpleActivity() {
call_draggable.x = Math.min(maxDragX, Math.max(minDragX, event.rawX - dragDownX)) call_draggable.x = Math.min(maxDragX, Math.max(minDragX, event.rawX - dragDownX))
when { when {
call_draggable.x >= maxDragX - 50f -> { call_draggable.x >= maxDragX - 50f -> {
if (!lock) {
lock = true
call_draggable.performHapticFeedback() call_draggable.performHapticFeedback()
acceptCall() acceptCall()
} }
}
call_draggable.x <= minDragX + 50f -> { call_draggable.x <= minDragX + 50f -> {
if (!lock) {
lock = true
call_draggable.performHapticFeedback() call_draggable.performHapticFeedback()
endCall() endCall()
} }
}
call_draggable.x > initialDraggableX -> { call_draggable.x > initialDraggableX -> {
lock = false
call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_green_vector)) call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_green_vector))
} }
call_draggable.x <= initialDraggableX -> { call_draggable.x <= initialDraggableX -> {
lock = false
call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_down_red_vector)) call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_down_red_vector))
} }
} }