@@ -23,7 +23,7 @@ import com.swmansion.gesturehandler.react.eventbuilders.GestureHandlerEventDataB
2323import java.lang.IllegalStateException
2424import java.util.*
2525
26- open class GestureHandler < ConcreteGestureHandlerT : GestureHandler < ConcreteGestureHandlerT >> {
26+ open class GestureHandler {
2727 private val trackedPointerIDs = IntArray (MAX_POINTERS_COUNT )
2828 private var trackedPointersIDsCount = 0
2929 private val windowOffset = IntArray (2 ) { 0 }
@@ -79,37 +79,30 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
7979 protected set
8080 protected var shouldCancelWhenOutside = false
8181 protected var orchestrator: GestureHandlerOrchestrator ? = null
82- private var onTouchEventListener: OnTouchEventListener ? = null
82+ var onTouchEventListener: OnTouchEventListener ? = null
8383 private var interactionController: GestureHandlerInteractionController ? = null
8484 var pointerType: Int = POINTER_TYPE_OTHER
8585 private set
8686
8787 protected var mouseButton = 0
8888
89- @Suppress(" UNCHECKED_CAST" )
90- protected fun self (): ConcreteGestureHandlerT = this as ConcreteGestureHandlerT
91-
92- protected inline fun applySelf (block : ConcreteGestureHandlerT .() -> Unit ): ConcreteGestureHandlerT = self().apply {
93- block()
94- }
95-
9689 // properties set and accessed only by the orchestrator
9790 var activationIndex = 0
9891 var isActive = false
9992 var isAwaiting = false
10093 var shouldResetProgress = false
10194
10295 open fun dispatchStateChange (newState : Int , prevState : Int ) {
103- onTouchEventListener?.onStateChange(self() , newState, prevState)
96+ onTouchEventListener?.onStateChange(this , newState, prevState)
10497 }
10598
10699 open fun dispatchHandlerUpdate (event : MotionEvent ) {
107- onTouchEventListener?.onHandlerUpdate(self() , event)
100+ onTouchEventListener?.onHandlerUpdate(this , event)
108101 }
109102
110103 open fun dispatchTouchEvent () {
111104 if (changedTouchesPayload != null ) {
112- onTouchEventListener?.onTouchEvent(self() )
105+ onTouchEventListener?.onTouchEvent(this )
113106 }
114107 }
115108
@@ -122,7 +115,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
122115 mouseButton = DEFAULT_MOUSE_BUTTON
123116 }
124117
125- fun hasCommonPointers (other : GestureHandler < * > ): Boolean {
118+ fun hasCommonPointers (other : GestureHandler ): Boolean {
126119 for (i in trackedPointerIDs.indices) {
127120 if (trackedPointerIDs[i] != - 1 && other.trackedPointerIDs[i] != - 1 ) {
128121 return true
@@ -131,14 +124,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
131124 return false
132125 }
133126
134- fun setHitSlop (
135- leftPad : Float ,
136- topPad : Float ,
137- rightPad : Float ,
138- bottomPad : Float ,
139- width : Float ,
140- height : Float ,
141- ): ConcreteGestureHandlerT = applySelf {
127+ fun setHitSlop (leftPad : Float , topPad : Float , rightPad : Float , bottomPad : Float , width : Float , height : Float ) {
142128 if (hitSlop == null ) {
143129 hitSlop = FloatArray (6 )
144130 }
@@ -162,10 +148,9 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
162148 }
163149 }
164150
165- fun setHitSlop (padding : Float ): ConcreteGestureHandlerT =
166- setHitSlop(padding, padding, padding, padding, HIT_SLOP_NONE , HIT_SLOP_NONE )
151+ fun setHitSlop (padding : Float ) = setHitSlop(padding, padding, padding, padding, HIT_SLOP_NONE , HIT_SLOP_NONE )
167152
168- fun setInteractionController (controller : GestureHandlerInteractionController ? ): ConcreteGestureHandlerT = applySelf {
153+ fun setInteractionController (controller : GestureHandlerInteractionController ? ) {
169154 interactionController = controller
170155 }
171156
@@ -331,7 +316,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
331316 }
332317
333318 // exception to help debug https://github.com/software-mansion/react-native-gesture-handler/issues/1188
334- class AdaptEventException (handler : GestureHandler < * > , event : MotionEvent , e : IllegalArgumentException ) :
319+ class AdaptEventException (handler : GestureHandler , event : MotionEvent , e : IllegalArgumentException ) :
335320 Exception (
336321 """
337322 handler: ${handler::class .simpleName}
@@ -594,31 +579,31 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
594579 state != STATE_END &&
595580 trackedPointersIDsCount > 0
596581
597- open fun shouldRequireToWaitForFailure (handler : GestureHandler < * > ): Boolean {
582+ open fun shouldRequireToWaitForFailure (handler : GestureHandler ): Boolean {
598583 if (handler == = this ) {
599584 return false
600585 }
601586
602587 return interactionController?.shouldRequireHandlerToWaitForFailure(this , handler) ? : false
603588 }
604589
605- fun shouldWaitForHandlerFailure (handler : GestureHandler < * > ): Boolean {
590+ fun shouldWaitForHandlerFailure (handler : GestureHandler ): Boolean {
606591 if (handler == = this ) {
607592 return false
608593 }
609594
610595 return interactionController?.shouldWaitForHandlerFailure(this , handler) ? : false
611596 }
612597
613- open fun shouldRecognizeSimultaneously (handler : GestureHandler < * > ): Boolean {
598+ open fun shouldRecognizeSimultaneously (handler : GestureHandler ): Boolean {
614599 if (handler == = this ) {
615600 return true
616601 }
617602
618603 return interactionController?.shouldRecognizeSimultaneously(this , handler) ? : false
619604 }
620605
621- open fun shouldBeCancelledBy (handler : GestureHandler < * > ): Boolean {
606+ open fun shouldBeCancelledBy (handler : GestureHandler ): Boolean {
622607 if (handler == = this ) {
623608 return false
624609 }
@@ -713,7 +698,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
713698 * Returns true if the view this handler is attached to is a descendant of the view the other handler
714699 * is attached to and false otherwise.
715700 */
716- fun isDescendantOf (of : GestureHandler < * > ): Boolean {
701+ fun isDescendantOf (of : GestureHandler ): Boolean {
717702 var view = this .view?.parent as ? View
718703 while (view != null ) {
719704 if (view == of.view) {
@@ -829,11 +814,6 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
829814 }
830815 }
831816
832- fun setOnTouchEventListener (listener : OnTouchEventListener ? ): GestureHandler <* > {
833- onTouchEventListener = listener
834- return this
835- }
836-
837817 override fun toString (): String {
838818 val viewString = if (view == null ) null else view!! .javaClass.simpleName
839819 return this .javaClass.simpleName + " @[" + tag + " ]:" + viewString
@@ -849,7 +829,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
849829 val lastPositionInWindowY: Float
850830 get() = lastAbsolutePositionY + lastEventOffsetY - windowOffset[1 ]
851831
852- abstract class Factory <T : GestureHandler < T > > {
832+ abstract class Factory <T : GestureHandler > {
853833 abstract val type: Class <T >
854834 abstract val name: String
855835
@@ -897,7 +877,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
897877 private const val KEY_HIT_SLOP_WIDTH = " width"
898878 private const val KEY_HIT_SLOP_HEIGHT = " height"
899879
900- private fun handleHitSlopProperty (handler : GestureHandler < * > , config : ReadableMap ) {
880+ private fun handleHitSlopProperty (handler : GestureHandler , config : ReadableMap ) {
901881 if (config.getType(KEY_HIT_SLOP ) == ReadableType .Number ) {
902882 val hitSlop = PixelUtil .toPixelFromDIP(config.getDouble(KEY_HIT_SLOP ))
903883 handler.setHitSlop(
0 commit comments