From c8fef70ded4d913c83b88a826ea45dc2bb25a4eb Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Thu, 25 Nov 2021 09:34:34 +0200 Subject: [PATCH] Avoid swipe related crash --- .../tutpro/baresip/OnSwipeTouchListener.kt | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/OnSwipeTouchListener.kt b/app/src/main/kotlin/com/tutpro/baresip/OnSwipeTouchListener.kt index 22096e46..76ab6e8c 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/OnSwipeTouchListener.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/OnSwipeTouchListener.kt @@ -33,32 +33,33 @@ open class OnSwipeTouchListener(ctx: Context) : View.OnTouchListener { override fun onFling(e1: MotionEvent?, e2: MotionEvent?, velX: Float, velY: Float): Boolean { var result = false - try { - val diffY = e2!!.y - e1!!.y - val diffX = e2.x - e1.x - if (abs(diffX) > abs(diffY)) { - if (abs(diffX) > SWIPE_THRESHOLD && abs(velX) > SWIPE_VELOCITY_THRESHOLD) { - if (diffX > 0) { - onSwipeRight() - } else { - onSwipeLeft() + if (e1 != null && e2 != null) { + try { + val diffY = e2.y - e1.y + val diffX = e2.x - e1.x + if (abs(diffX) > abs(diffY)) { + if (abs(diffX) > SWIPE_THRESHOLD && abs(velX) > SWIPE_VELOCITY_THRESHOLD) { + if (diffX > 0) { + onSwipeRight() + } else { + onSwipeLeft() + } + result = true + } + } else if (abs(diffY) > SWIPE_THRESHOLD && abs(velY) > SWIPE_VELOCITY_THRESHOLD) { + result = if (diffY > 0) { + onSwipeBottom() + false + } else { + onSwipeTop() + true } - result = true - } - } else if (abs(diffY) > SWIPE_THRESHOLD && abs(velY) > SWIPE_VELOCITY_THRESHOLD) { - result = if (diffY > 0) { - onSwipeBottom() - false - } else { - onSwipeTop() - true } + } catch (e: Exception) { + Log.e(TAG, "onFling exception $e") + e.printStackTrace() } - } catch (e: Exception) { - Log.e(TAG, "onFling exception $e") - e.printStackTrace() } - return result }