@@ -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,36 +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 =
93- self().apply { block() }
94-
9589 // properties set and accessed only by the orchestrator
9690 var activationIndex = 0
9791 var isActive = false
9892 var isAwaiting = false
9993 var shouldResetProgress = false
10094
10195 open fun dispatchStateChange (newState : Int , prevState : Int ) {
102- onTouchEventListener?.onStateChange(self() , newState, prevState)
96+ onTouchEventListener?.onStateChange(this , newState, prevState)
10397 }
10498
10599 open fun dispatchHandlerUpdate (event : MotionEvent ) {
106- onTouchEventListener?.onHandlerUpdate(self() , event)
100+ onTouchEventListener?.onHandlerUpdate(this , event)
107101 }
108102
109103 open fun dispatchTouchEvent () {
110104 if (changedTouchesPayload != null ) {
111- onTouchEventListener?.onTouchEvent(self() )
105+ onTouchEventListener?.onTouchEvent(this )
112106 }
113107 }
114108
@@ -121,7 +115,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
121115 mouseButton = DEFAULT_MOUSE_BUTTON
122116 }
123117
124- fun hasCommonPointers (other : GestureHandler < * > ): Boolean {
118+ fun hasCommonPointers (other : GestureHandler ): Boolean {
125119 for (i in trackedPointerIDs.indices) {
126120 if (trackedPointerIDs[i] != - 1 && other.trackedPointerIDs[i] != - 1 ) {
127121 return true
@@ -137,7 +131,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
137131 bottomPad : Float ,
138132 width : Float ,
139133 height : Float ,
140- ): ConcreteGestureHandlerT = applySelf {
134+ ) {
141135 if (hitSlop == null ) {
142136 hitSlop = FloatArray (6 )
143137 }
@@ -153,12 +147,11 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
153147 require(! (hitSlopSet(height) && ! hitSlopSet(bottomPad) && ! hitSlopSet(topPad))) { " When height is set one of top or bottom pads need to be defined" }
154148 }
155149
156- fun setHitSlop (padding : Float ): ConcreteGestureHandlerT {
150+ fun setHitSlop (padding : Float ) {
157151 return setHitSlop(padding, padding, padding, padding, HIT_SLOP_NONE , HIT_SLOP_NONE )
158152 }
159153
160- fun setInteractionController (controller : GestureHandlerInteractionController ? ): ConcreteGestureHandlerT =
161- applySelf { interactionController = controller }
154+ fun setInteractionController (controller : GestureHandlerInteractionController ? ) { interactionController = controller }
162155
163156 fun prepare (view : View ? , orchestrator : GestureHandlerOrchestrator ? ) {
164157 check(! (this .view != null || this .orchestrator != null )) { " Already prepared or hasn't been reset" }
@@ -312,7 +305,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
312305
313306 // exception to help debug https://github.com/software-mansion/react-native-gesture-handler/issues/1188
314307 class AdaptEventException (
315- handler : GestureHandler < * > ,
308+ handler : GestureHandler ,
316309 event : MotionEvent ,
317310 e : IllegalArgumentException
318311 ) : Exception(
@@ -570,31 +563,31 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
570563 trackedPointersIDsCount > 0
571564 }
572565
573- open fun shouldRequireToWaitForFailure (handler : GestureHandler < * > ): Boolean {
566+ open fun shouldRequireToWaitForFailure (handler : GestureHandler ): Boolean {
574567 if (handler == = this ) {
575568 return false
576569 }
577570
578571 return interactionController?.shouldRequireHandlerToWaitForFailure(this , handler) ? : false
579572 }
580573
581- fun shouldWaitForHandlerFailure (handler : GestureHandler < * > ): Boolean {
574+ fun shouldWaitForHandlerFailure (handler : GestureHandler ): Boolean {
582575 if (handler == = this ) {
583576 return false
584577 }
585578
586579 return interactionController?.shouldWaitForHandlerFailure(this , handler) ? : false
587580 }
588581
589- open fun shouldRecognizeSimultaneously (handler : GestureHandler < * > ): Boolean {
582+ open fun shouldRecognizeSimultaneously (handler : GestureHandler ): Boolean {
590583 if (handler == = this ) {
591584 return true
592585 }
593586
594587 return interactionController?.shouldRecognizeSimultaneously(this , handler) ? : false
595588 }
596589
597- open fun shouldBeCancelledBy (handler : GestureHandler < * > ): Boolean {
590+ open fun shouldBeCancelledBy (handler : GestureHandler ): Boolean {
598591 if (handler == = this ) {
599592 return false
600593 }
@@ -685,7 +678,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
685678 * Returns true if the view this handler is attached to is a descendant of the view the other handler
686679 * is attached to and false otherwise.
687680 */
688- fun isDescendantOf (of : GestureHandler < * > ): Boolean {
681+ fun isDescendantOf (of : GestureHandler ): Boolean {
689682 var view = this .view?.parent as ? View
690683 while (view != null ) {
691684 if (view == of.view) {
@@ -794,11 +787,6 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
794787 }
795788 }
796789
797- fun setOnTouchEventListener (listener : OnTouchEventListener ? ): GestureHandler <* > {
798- onTouchEventListener = listener
799- return this
800- }
801-
802790 override fun toString (): String {
803791 val viewString = if (view == null ) null else view!! .javaClass.simpleName
804792 return this .javaClass.simpleName + " @[" + tag + " ]:" + viewString
@@ -814,7 +802,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
814802 val lastPositionInWindowY: Float
815803 get() = lastAbsolutePositionY + lastEventOffsetY - windowOffset[1 ]
816804
817- abstract class Factory <T : GestureHandler < T > > {
805+ abstract class Factory <T : GestureHandler > {
818806 abstract val type: Class <T >
819807 abstract val name: String
820808
@@ -862,7 +850,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
862850 private const val KEY_HIT_SLOP_WIDTH = " width"
863851 private const val KEY_HIT_SLOP_HEIGHT = " height"
864852
865- private fun handleHitSlopProperty (handler : GestureHandler < * > , config : ReadableMap ) {
853+ private fun handleHitSlopProperty (handler : GestureHandler , config : ReadableMap ) {
866854 if (config.getType(KEY_HIT_SLOP ) == ReadableType .Number ) {
867855 val hitSlop = PixelUtil .toPixelFromDIP(config.getDouble(KEY_HIT_SLOP ))
868856 handler.setHitSlop(hitSlop, hitSlop, hitSlop, hitSlop, GestureHandler .HIT_SLOP_NONE , GestureHandler .HIT_SLOP_NONE )
0 commit comments