@@ -364,20 +364,21 @@ class TouchHandler(private val frameView: FrameView, private val dispatcher: Dis
364364 * - +------------------+
365365 * - +->| [innerDetector1] |
366366 * - | +------------------+
367- * - | (quick- tap, long-press)
367+ * - | ( tap, long-press)
368368 * - +----------------+ event |
369369 * - | [onTouchEvent] |---------+
370370 * - +----------------+ |
371371 * - |
372372 * - | +------------------+ double-tap event +------------------+
373373 * - +->| [innerDetector2] |-------------------->| [innerDetector3] |
374374 * - +------------------+ +------------------+
375- * - (confirmed-tap, double-tap) (double-tap-swipe)
375+ * - ( double-tap) (double-tap-swipe)
376376 *
377377 */
378- private val innerDetector1 = GestureDetector (context, InnerListener1 ()). apply { setOnDoubleTapListener( null ) }
378+ private val innerDetector1 = GestureDetector (context, InnerListener1 ())
379379 private val innerDetector2 = GestureDetector (context, InnerListener2 ()).apply { setIsLongpressEnabled(false ) }
380380 private val innerDetector3 = GestureDetector (context, InnerListener3 ()).apply { setIsLongpressEnabled(false ) }
381+ private val innerDetector4 = GestureDetector (context, InnerListener4 ()).apply { setOnDoubleTapListener(null ) }
381382
382383 private val quickTap1Enabled = prefs.input.gesture.quickTap1Enabled
383384 private val longPressEnabled = prefs.input.gesture.longPressDetectionEnabled
@@ -392,8 +393,8 @@ class TouchHandler(private val frameView: FrameView, private val dispatcher: Dis
392393
393394
394395 private inner class InnerListener1 : SimpleOnGestureListener () {
395- override fun onSingleTapUp (e : MotionEvent ): Boolean {
396- if (quickTap1Enabled)
396+ override fun onSingleTapConfirmed (e : MotionEvent ): Boolean {
397+ if (! quickTap1Enabled)
397398 listener.onSingleTapConfirmed(e)
398399 return true
399400 }
@@ -416,12 +417,6 @@ class TouchHandler(private val frameView: FrameView, private val dispatcher: Dis
416417 }
417418
418419 private inner class InnerListener2 : SimpleOnGestureListener () {
419- override fun onSingleTapConfirmed (e : MotionEvent ): Boolean {
420- if (! quickTap1Enabled)
421- listener.onSingleTapConfirmed(e)
422- return true
423- }
424-
425420 override fun onDoubleTap (e : MotionEvent ): Boolean {
426421 doubleTapDetected = true
427422 return true
@@ -436,6 +431,14 @@ class TouchHandler(private val frameView: FrameView, private val dispatcher: Dis
436431 override fun onScroll (e1 : MotionEvent ? , e2 : MotionEvent , dx : Float , dy : Float ) = handleScroll(e1, e2, dx, dy)
437432 }
438433
434+ private inner class InnerListener4 : SimpleOnGestureListener () {
435+ override fun onSingleTapUp (e : MotionEvent ): Boolean {
436+ if (quickTap1Enabled)
437+ listener.onSingleTapConfirmed(e)
438+ return true
439+ }
440+ }
441+
439442 private fun handleScroll (e1 : MotionEvent ? , e2 : MotionEvent , dx : Float , dy : Float ): Boolean {
440443 e1 ? : return false
441444 if (! scrolling) {
@@ -467,6 +470,8 @@ class TouchHandler(private val frameView: FrameView, private val dispatcher: Dis
467470 fun onTouchEvent (e : MotionEvent ): Boolean {
468471 innerDetector1.onTouchEvent(e)
469472 innerDetector2.onTouchEvent(e)
473+ if (quickTap1Enabled)
474+ innerDetector4.onTouchEvent(e)
470475
471476 when (e.actionMasked) {
472477 MotionEvent .ACTION_DOWN -> {
0 commit comments