react-native-gesture-handler 2.7.1 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. package/RNGestureHandler.podspec +1 -1
  2. package/android/build.gradle +53 -46
  3. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +3 -3
  4. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +7 -7
  5. package/android/src/fabric/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +2 -2
  6. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +3 -3
  7. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/FlingGestureHandler.kt +12 -9
  8. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandler.kt +39 -31
  9. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerInteractionController.kt +1 -1
  10. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerOrchestrator.kt +28 -19
  11. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerRegistry.kt +1 -1
  12. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureUtils.kt +1 -1
  13. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/LongPressGestureHandler.kt +1 -1
  14. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ManualGestureHandler.kt +1 -1
  15. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/NativeViewGestureHandler.kt +5 -5
  16. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/OnTouchEventListener.kt +1 -1
  17. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PanGestureHandler.kt +7 -5
  18. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PinchGestureHandler.kt +11 -4
  19. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PointerEventsConfig.kt +1 -1
  20. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureDetector.kt +1 -1
  21. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureHandler.kt +7 -2
  22. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ScaleGestureDetector.java +1 -1
  23. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/TapGestureHandler.kt +3 -3
  24. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ViewConfigurationHelper.kt +1 -1
  25. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/react}/Extensions.kt +3 -3
  26. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +8 -6
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +1 -5
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +20 -8
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +1 -1
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +3 -3
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +40 -15
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +2 -2
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +8 -6
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -2
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +4 -2
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +7 -7
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +5 -5
  38. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +2 -2
  39. package/android/src/main/jni/CMakeLists.txt +10 -44
  40. package/android/src/main/jni/cpp-adapter.cpp +16 -13
  41. package/android/src/paper/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +5 -5
  42. package/ios/Handlers/RNFlingHandler.m +39 -37
  43. package/ios/Handlers/RNForceTouchHandler.m +19 -17
  44. package/ios/Handlers/RNLongPressHandler.m +20 -22
  45. package/ios/Handlers/RNManualHandler.m +23 -8
  46. package/ios/Handlers/RNNativeViewHandler.mm +92 -88
  47. package/ios/Handlers/RNPanHandler.m +28 -32
  48. package/ios/Handlers/RNPinchHandler.m +9 -10
  49. package/ios/Handlers/RNRotationHandler.m +11 -14
  50. package/ios/Handlers/RNTapHandler.m +26 -26
  51. package/ios/RNGestureHandler.h +31 -24
  52. package/ios/RNGestureHandler.m +278 -273
  53. package/ios/RNGestureHandlerActionType.h +6 -4
  54. package/ios/RNGestureHandlerButton.m +11 -12
  55. package/ios/RNGestureHandlerButtonComponentView.mm +7 -8
  56. package/ios/RNGestureHandlerButtonManager.m +6 -5
  57. package/ios/RNGestureHandlerDirection.h +4 -4
  58. package/ios/RNGestureHandlerEvents.h +3 -4
  59. package/ios/RNGestureHandlerEvents.m +114 -119
  60. package/ios/RNGestureHandlerManager.h +1 -2
  61. package/ios/RNGestureHandlerManager.mm +176 -178
  62. package/ios/RNGestureHandlerModule.h +1 -2
  63. package/ios/RNGestureHandlerModule.mm +126 -122
  64. package/ios/RNGestureHandlerPointerTracker.h +1 -1
  65. package/ios/RNGestureHandlerPointerTracker.m +40 -37
  66. package/ios/RNGestureHandlerRegistry.h +3 -1
  67. package/ios/RNGestureHandlerRegistry.m +24 -22
  68. package/ios/RNGestureHandlerState.h +6 -6
  69. package/ios/RNGestureHandlerStateManager.h +1 -1
  70. package/ios/RNManualActivationRecognizer.m +9 -9
  71. package/ios/RNRootViewGestureRecognizer.m +36 -39
  72. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -1
  73. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  74. package/lib/commonjs/RNGestureHandlerModule.windows.js +156 -0
  75. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
  76. package/lib/commonjs/components/DrawerLayout.js +1 -0
  77. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  78. package/lib/commonjs/components/Swipeable.js.map +1 -1
  79. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  80. package/lib/commonjs/gestureHandlerRootHOC.js +2 -1
  81. package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
  82. package/lib/commonjs/getShadowNodeFromRef.js +2 -2
  83. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  84. package/lib/commonjs/handlers/LongPressGestureHandler.js +3 -1
  85. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  86. package/lib/commonjs/handlers/TapGestureHandler.js +3 -1
  87. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  88. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  89. package/lib/commonjs/handlers/gestureHandlerCommon.js +5 -2
  90. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  91. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +4 -0
  92. package/lib/commonjs/handlers/gestures/GestureDetector.js +87 -38
  93. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  94. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  95. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  96. package/lib/commonjs/handlers/gestures/longPressGesture.js +1 -0
  97. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  98. package/lib/commonjs/handlers/gestures/tapGesture.js +1 -0
  99. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  100. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  101. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  102. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -1
  103. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  104. package/lib/commonjs/web/handlers/GestureHandler.js +28 -3
  105. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  106. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -2
  107. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  108. package/lib/commonjs/web/handlers/ManualGestureHandler.js +15 -0
  109. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  110. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -2
  111. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  112. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -5
  113. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  114. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -1
  115. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  116. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -1
  117. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  118. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -2
  119. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  120. package/lib/commonjs/web/interfaces.js.map +1 -1
  121. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  122. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  123. package/lib/commonjs/web_hammer/NodeManager.js +4 -1
  124. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  125. package/lib/commonjs/web_hammer/PanGestureHandler.js +25 -6
  126. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  127. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -1
  128. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  129. package/lib/module/RNGestureHandlerModule.windows.js +117 -0
  130. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
  131. package/lib/module/components/DrawerLayout.js +1 -0
  132. package/lib/module/components/DrawerLayout.js.map +1 -1
  133. package/lib/module/components/Swipeable.js.map +1 -1
  134. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  135. package/lib/module/gestureHandlerRootHOC.js +2 -1
  136. package/lib/module/gestureHandlerRootHOC.js.map +1 -1
  137. package/lib/module/getShadowNodeFromRef.js +2 -2
  138. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  139. package/lib/module/handlers/LongPressGestureHandler.js +3 -1
  140. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  141. package/lib/module/handlers/TapGestureHandler.js +3 -1
  142. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  143. package/lib/module/handlers/createHandler.js.map +1 -1
  144. package/lib/module/handlers/gestureHandlerCommon.js +5 -2
  145. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  146. package/lib/module/handlers/gestureHandlerTypesCompat.js +1 -1
  147. package/lib/module/handlers/gestures/GestureDetector.js +89 -39
  148. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  149. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  150. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  151. package/lib/module/handlers/gestures/longPressGesture.js +1 -0
  152. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  153. package/lib/module/handlers/gestures/tapGesture.js +1 -0
  154. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  155. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  156. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  157. package/lib/module/web/handlers/FlingGestureHandler.js +0 -1
  158. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  159. package/lib/module/web/handlers/GestureHandler.js +28 -3
  160. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  161. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -2
  162. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  163. package/lib/module/web/handlers/ManualGestureHandler.js +15 -0
  164. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  165. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -2
  166. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  167. package/lib/module/web/handlers/PanGestureHandler.js +0 -5
  168. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  169. package/lib/module/web/handlers/PinchGestureHandler.js +0 -1
  170. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  171. package/lib/module/web/handlers/RotationGestureHandler.js +0 -1
  172. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  173. package/lib/module/web/handlers/TapGestureHandler.js +0 -2
  174. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  175. package/lib/module/web/interfaces.js.map +1 -1
  176. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  177. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  178. package/lib/module/web_hammer/NodeManager.js +4 -1
  179. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  180. package/lib/module/web_hammer/PanGestureHandler.js +25 -6
  181. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  182. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +1 -1
  183. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  184. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
  185. package/lib/typescript/components/DrawerLayout.d.ts +10 -1
  186. package/lib/typescript/components/Swipeable.d.ts +3 -2
  187. package/lib/typescript/fabric/RNGestureHandlerButtonNativeComponent.d.ts +1 -1
  188. package/lib/typescript/fabric/RNGestureHandlerRootViewNativeComponent.d.ts +1 -1
  189. package/lib/typescript/gestureHandlerRootHOC.d.ts +1 -1
  190. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
  191. package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -1
  192. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +3 -1
  193. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +3 -1
  194. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +3 -1
  195. package/lib/typescript/web/interfaces.d.ts +3 -1
  196. package/lib/typescript/web/tools/NodeManager.d.ts +2 -2
  197. package/package.json +17 -14
  198. package/src/RNGestureHandlerModule.macos.ts +2 -2
  199. package/src/RNGestureHandlerModule.web.ts +2 -2
  200. package/src/RNGestureHandlerModule.windows.ts +140 -0
  201. package/src/components/DrawerLayout.tsx +22 -12
  202. package/src/components/Swipeable.tsx +16 -13
  203. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  204. package/src/gestureHandlerRootHOC.tsx +4 -1
  205. package/src/getShadowNodeFromRef.ts +3 -3
  206. package/src/handlers/LongPressGestureHandler.ts +3 -1
  207. package/src/handlers/TapGestureHandler.ts +3 -1
  208. package/src/handlers/createHandler.tsx +13 -15
  209. package/src/handlers/gestureHandlerCommon.ts +9 -4
  210. package/src/handlers/gestureHandlerTypesCompat.ts +34 -17
  211. package/src/handlers/gestures/GestureDetector.tsx +117 -44
  212. package/src/handlers/gestures/eventReceiver.ts +2 -1
  213. package/src/handlers/gestures/gesture.ts +8 -12
  214. package/src/handlers/gestures/longPressGesture.ts +1 -0
  215. package/src/handlers/gestures/tapGesture.ts +1 -0
  216. package/src/jestUtils/jestUtils.ts +3 -4
  217. package/src/web/detectors/RotationGestureDetector.ts +2 -1
  218. package/src/web/handlers/FlingGestureHandler.ts +2 -3
  219. package/src/web/handlers/GestureHandler.ts +30 -11
  220. package/src/web/handlers/LongPressGestureHandler.ts +0 -3
  221. package/src/web/handlers/ManualGestureHandler.ts +10 -1
  222. package/src/web/handlers/NativeViewGestureHandler.ts +0 -2
  223. package/src/web/handlers/PanGestureHandler.ts +0 -6
  224. package/src/web/handlers/PinchGestureHandler.ts +0 -2
  225. package/src/web/handlers/RotationGestureHandler.ts +2 -5
  226. package/src/web/handlers/TapGestureHandler.ts +0 -3
  227. package/src/web/interfaces.ts +3 -0
  228. package/src/web/tools/InteractionManager.ts +2 -3
  229. package/src/web_hammer/GestureHandler.ts +6 -8
  230. package/src/web_hammer/NodeManager.ts +3 -1
  231. package/src/web_hammer/PanGestureHandler.ts +12 -6
  232. package/android/lib/build.gradle +0 -28
@@ -2,7 +2,7 @@ require "json"
2
2
 
3
3
  fabric_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1'
4
4
 
5
- isUserApp = File.exists?(File.join(__dir__, "..", "..", "node_modules", "react-native", "package.json"))
5
+ isUserApp = File.exist?(File.join(__dir__, "..", "..", "node_modules", "react-native", "package.json"))
6
6
  if isUserApp
7
7
  libInstances = %x[find ../../ -name "package.json" | grep "/react-native-gesture-handler/package.json" | grep -v "/.yarn/"]
8
8
  libInstancesArray = libInstances.split("\n")
@@ -5,11 +5,17 @@ buildscript {
5
5
  def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['RNGH_kotlinVersion']
6
6
 
7
7
  repositories {
8
+ maven {
9
+ url "https://plugins.gradle.org/m2/"
10
+ }
8
11
  mavenCentral()
12
+ google()
9
13
  }
10
14
 
11
15
  dependencies {
12
16
  classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
17
+ classpath("com.android.tools.build:gradle:7.2.1")
18
+ classpath("com.diffplug.spotless:spotless-plugin-gradle:6.7.2")
13
19
  }
14
20
  }
15
21
 
@@ -21,25 +27,33 @@ def isNewArchitectureEnabled() {
21
27
  return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
22
28
  }
23
29
 
24
- static def findNodeModulePath(baseDir, packageName) {
25
- def basePath = baseDir.toPath().normalize()
26
- // Node's module resolution algorithm searches up to the root directory,
27
- // after which the base path will be null
28
- while (basePath) {
29
- def candidatePath = Paths.get(basePath.toString(), "node_modules", packageName)
30
- if (candidatePath.toFile().exists()) {
31
- return candidatePath.toString()
32
- }
33
- basePath = basePath.getParent()
34
- }
35
- return null
30
+ def safeExtGet(prop, fallback) {
31
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
36
32
  }
37
33
 
38
- def findNodeModulePath(packageName) {
39
- // Don't start in the project dir, as its path ends with node_modules/react-native-gesture-handler/android
40
- // we want to go two levels up, so we end up in the first_node modules and eventually
41
- // search upwards if the package is not found there
42
- return findNodeModulePath(projectDir.toPath().parent.parent.toFile(), packageName)
34
+ def resolveReactNativeDirectory() {
35
+ def reactNativeLocation = safeExtGet("REACT_NATIVE_NODE_MODULES_DIR", null)
36
+ if (reactNativeLocation != null) {
37
+ return file(reactNativeLocation)
38
+ }
39
+
40
+ // monorepo workaround
41
+ // react-native can be hoisted or in project's own node_modules
42
+ def reactNativeFromProjectNodeModules = file("${rootProject.projectDir}/../node_modules/react-native")
43
+ if (reactNativeFromProjectNodeModules.exists()) {
44
+ return reactNativeFromProjectNodeModules
45
+ }
46
+
47
+ def reactNativeFromNodeModulesWithReanimated = file("${projectDir}/../../react-native")
48
+ if (reactNativeFromNodeModulesWithReanimated.exists()) {
49
+ return reactNativeFromNodeModulesWithReanimated
50
+ }
51
+
52
+ throw new Exception(
53
+ "[react-native-gesture-handler] Unable to resolve react-native location in " +
54
+ "node_modules. You should add project extension property (in app/build.gradle) " +
55
+ "`REACT_NATIVE_NODE_MODULES_DIR` with path to react-native."
56
+ )
43
57
  }
44
58
 
45
59
  if (isNewArchitectureEnabled()) {
@@ -48,8 +62,8 @@ if (isNewArchitectureEnabled()) {
48
62
  apply plugin: 'com.android.library'
49
63
  apply plugin: 'kotlin-android'
50
64
 
51
- def safeExtGet(prop, fallback) {
52
- rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
65
+ if (project == rootProject) {
66
+ apply from: "spotless.gradle"
53
67
  }
54
68
 
55
69
  // Check whether Reanimated 2.3 or higher is installed alongside Gesture Handler
@@ -83,6 +97,7 @@ def noMultipleInstancesAssertion() {
83
97
  Set<File> files = fileTree(rootDir.parent) {
84
98
  include "node_modules/**/react-native-gesture-handler/package.json"
85
99
  exclude "**/.yarn/**"
100
+ exclude "**/.pnpm/**"
86
101
  }.files
87
102
 
88
103
  if (files.size() > 1) {
@@ -92,7 +107,13 @@ def noMultipleInstancesAssertion() {
92
107
  }
93
108
  }
94
109
 
95
- def REACT_NATIVE_DIR = findNodeModulePath("react-native")
110
+ def REACT_NATIVE_DIR = resolveReactNativeDirectory()
111
+
112
+ def reactProperties = new Properties()
113
+ file("$REACT_NATIVE_DIR/ReactAndroid/gradle.properties").withInputStream { reactProperties.load(it) }
114
+
115
+ def REACT_NATIVE_VERSION = reactProperties.getProperty("VERSION_NAME")
116
+ def REACT_NATIVE_MINOR_VERSION = REACT_NATIVE_VERSION.startsWith("0.0.0-") ? 1000 : REACT_NATIVE_VERSION.split("\\.")[1].toInteger()
96
117
 
97
118
  def assertionTask = task assertNoMultipleInstances {
98
119
  onlyIf { shouldAssertNoMultipleInstances() }
@@ -121,17 +142,25 @@ android {
121
142
  ndkVersion rootProject.ext.ndkVersion
122
143
  }
123
144
 
145
+ if (REACT_NATIVE_MINOR_VERSION >= 71) {
146
+ buildFeatures {
147
+ prefab true
148
+ }
149
+ }
150
+
124
151
  defaultConfig {
125
152
  minSdkVersion safeExtGet('minSdkVersion', 16)
126
153
  targetSdkVersion safeExtGet('targetSdkVersion', 28)
127
154
  versionCode 1
128
155
  versionName "1.0"
129
156
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
157
+ buildConfigField "int", "REACT_NATIVE_MINOR_VERSION", REACT_NATIVE_MINOR_VERSION.toString()
158
+
130
159
  if (isNewArchitectureEnabled()) {
131
160
  var appProject = rootProject.allprojects.find {it.plugins.hasPlugin('com.android.application')}
132
161
  externalNativeBuild {
133
162
  cmake {
134
- cppFlags "-O2 -frtti -fexceptions -Wall -Wno-unused-variable -fstack-protector-all"
163
+ cppFlags "-O2", "-frtti", "-fexceptions", "-Wall", "-Werror", "-std=c++17"
135
164
  arguments "-DAPP_BUILD_DIR=${appProject.buildDir}",
136
165
  "-DREACT_NATIVE_DIR=${REACT_NATIVE_DIR}",
137
166
  "-DANDROID_STL=c++_shared"
@@ -162,13 +191,8 @@ android {
162
191
  exclude "**/libreact_render*.so"
163
192
  }
164
193
 
165
- // Include "lib/" as sources, unfortunately react-native link can't handle
166
- // setting up alternative gradle modules. We still have "lib" defined as a
167
- // standalone gradle module just to be used in AndroidNativeExample
168
194
  sourceSets.main {
169
195
  java {
170
- srcDirs += 'lib/src/main/java'
171
-
172
196
  // Include "common/" only when it's not provided by Reanimated to mitigate
173
197
  // multiple definitions of the same class preventing build
174
198
  if (shouldUseCommonInterfaceFromReanimated()) {
@@ -193,10 +217,10 @@ def kotlin_version = safeExtGet('kotlinVersion', project.properties['RNGH_kotlin
193
217
 
194
218
  dependencies {
195
219
  //noinspection GradleDynamicVersion
196
- if (isNewArchitectureEnabled()) {
197
- implementation project(':ReactAndroid')
220
+ if (REACT_NATIVE_MINOR_VERSION >= 71) {
221
+ implementation "com.facebook.react:react-android" // version substituted by RNGP
198
222
  } else {
199
- implementation 'com.facebook.react:react-native:+'
223
+ implementation 'com.facebook.react:react-native:+' // from node_modules
200
224
  }
201
225
 
202
226
  if (shouldUseCommonInterfaceFromReanimated()) {
@@ -210,20 +234,3 @@ dependencies {
210
234
  implementation "androidx.core:core-ktx:1.6.0"
211
235
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
212
236
  }
213
-
214
- if (isNewArchitectureEnabled()) {
215
- // Resolves "LOCAL_SRC_FILES points to a missing file, Check that libfb.so exists or that its path is correct".
216
- tasks.whenTaskAdded { task ->
217
- if (task.name.contains("configureCMakeDebug")) {
218
- rootProject.getTasksByName("packageReactNdkDebugLibs", true).forEach {
219
- task.dependsOn(it)
220
- }
221
- }
222
- // We want to add a dependency for both configureCMakeRelease and configureCMakeRelWithDebInfo
223
- if (task.name.contains("configureCMakeRel")) {
224
- rootProject.getTasksByName("packageReactNdkReleaseLibs", true).forEach {
225
- task.dependsOn(it)
226
- }
227
- }
228
- }
229
- }
@@ -4,7 +4,7 @@ import com.facebook.react.bridge.ReactContext
4
4
  import com.facebook.react.uimanager.events.Event
5
5
 
6
6
  class ReanimatedEventDispatcher {
7
- fun <T : Event<T>>sendEvent(event: T, reactApplicationContext: ReactContext) {
8
- // no-op
9
- }
7
+ fun <T : Event<T>>sendEvent(event: T, reactApplicationContext: ReactContext) {
8
+ // no-op
9
+ }
10
10
  }
@@ -5,13 +5,13 @@ import com.facebook.react.uimanager.events.Event
5
5
  import com.swmansion.reanimated.ReanimatedModule
6
6
 
7
7
  class ReanimatedEventDispatcher {
8
- private var reanimatedModule: ReanimatedModule? = null
8
+ private var reanimatedModule: ReanimatedModule? = null
9
9
 
10
- fun <T : Event<T>>sendEvent(event: T, reactApplicationContext: ReactContext) {
11
- if (reanimatedModule == null) {
12
- reanimatedModule = reactApplicationContext.getNativeModule(ReanimatedModule::class.java)
13
- }
14
-
15
- reanimatedModule?.nodesManager?.onEventDispatch(event)
10
+ fun <T : Event<T>>sendEvent(event: T, reactApplicationContext: ReactContext) {
11
+ if (reanimatedModule == null) {
12
+ reanimatedModule = reactApplicationContext.getNativeModule(ReanimatedModule::class.java)
16
13
  }
14
+
15
+ reanimatedModule?.nodesManager?.onEventDispatch(event)
16
+ }
17
17
  }
@@ -7,6 +7,6 @@ import com.facebook.react.uimanager.common.UIManagerType
7
7
  import com.facebook.react.uimanager.events.Event
8
8
 
9
9
  fun ReactContext.dispatchEvent(event: Event<*>) {
10
- val fabricUIManager = UIManagerHelper.getUIManager(this, UIManagerType.FABRIC) as FabricUIManager
11
- fabricUIManager.eventDispatcher.dispatchEvent(event)
10
+ val fabricUIManager = UIManagerHelper.getUIManager(this, UIManagerType.FABRIC) as FabricUIManager
11
+ fabricUIManager.eventDispatcher.dispatchEvent(event)
12
12
  }
@@ -4,10 +4,9 @@ import com.facebook.react.ReactPackage
4
4
  import com.facebook.react.bridge.NativeModule
5
5
  import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.uimanager.ViewManager
7
- import com.swmansion.gesturehandler.BuildConfig
7
+ import com.swmansion.gesturehandler.react.RNGestureHandlerButtonViewManager
8
8
  import com.swmansion.gesturehandler.react.RNGestureHandlerModule
9
9
  import com.swmansion.gesturehandler.react.RNGestureHandlerRootViewManager
10
- import com.swmansion.gesturehandler.react.RNGestureHandlerButtonViewManager
11
10
 
12
11
  class RNGestureHandlerPackage : ReactPackage {
13
12
  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
@@ -17,5 +16,6 @@ class RNGestureHandlerPackage : ReactPackage {
17
16
  override fun createViewManagers(reactContext: ReactApplicationContext) =
18
17
  listOf<ViewManager<*, *>>(
19
18
  RNGestureHandlerRootViewManager(),
20
- RNGestureHandlerButtonViewManager())
19
+ RNGestureHandlerButtonViewManager()
20
+ )
21
21
  }
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.os.Handler
4
4
  import android.os.Looper
@@ -37,14 +37,17 @@ class FlingGestureHandler : GestureHandler<FlingGestureHandler>() {
37
37
 
38
38
  private fun tryEndFling(event: MotionEvent) = if (
39
39
  maxNumberOfPointersSimultaneously == numberOfPointersRequired &&
40
- (direction and DIRECTION_RIGHT != 0 &&
41
- event.rawX - startX > minAcceptableDelta ||
42
- direction and DIRECTION_LEFT != 0 &&
43
- startX - event.rawX > minAcceptableDelta ||
44
- direction and DIRECTION_UP != 0 &&
45
- startY - event.rawY > minAcceptableDelta ||
46
- direction and DIRECTION_DOWN != 0 &&
47
- event.rawY - startY > minAcceptableDelta)) {
40
+ (
41
+ direction and DIRECTION_RIGHT != 0 &&
42
+ event.rawX - startX > minAcceptableDelta ||
43
+ direction and DIRECTION_LEFT != 0 &&
44
+ startX - event.rawX > minAcceptableDelta ||
45
+ direction and DIRECTION_UP != 0 &&
46
+ startY - event.rawY > minAcceptableDelta ||
47
+ direction and DIRECTION_DOWN != 0 &&
48
+ event.rawY - startY > minAcceptableDelta
49
+ )
50
+ ) {
48
51
  handler!!.removeCallbacksAndMessages(null)
49
52
  activate()
50
53
  true
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.app.Activity
4
4
  import android.content.Context
@@ -14,6 +14,7 @@ import com.facebook.react.bridge.Arguments
14
14
  import com.facebook.react.bridge.UiThreadUtil
15
15
  import com.facebook.react.bridge.WritableArray
16
16
  import com.facebook.react.uimanager.PixelUtil
17
+ import com.swmansion.gesturehandler.BuildConfig
17
18
  import com.swmansion.gesturehandler.react.RNGestureHandlerTouchEvent
18
19
  import java.lang.IllegalStateException
19
20
  import java.util.*
@@ -48,7 +49,6 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
48
49
  private val trackedPointers: Array<PointerData?> = Array(MAX_POINTERS_COUNT) { null }
49
50
  var needsPointerData = false
50
51
 
51
-
52
52
  private var hitSlop: FloatArray? = null
53
53
  var eventCoalescingKey: Short = 0
54
54
  private set
@@ -127,11 +127,15 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
127
127
  }
128
128
 
129
129
  fun setManualActivation(manualActivation: Boolean): ConcreteGestureHandlerT =
130
- applySelf { this.manualActivation = manualActivation }
130
+ applySelf { this.manualActivation = manualActivation }
131
131
 
132
132
  fun setHitSlop(
133
- leftPad: Float, topPad: Float, rightPad: Float, bottomPad: Float,
134
- width: Float, height: Float,
133
+ leftPad: Float,
134
+ topPad: Float,
135
+ rightPad: Float,
136
+ bottomPad: Float,
137
+ width: Float,
138
+ height: Float,
135
139
  ): ConcreteGestureHandlerT = applySelf {
136
140
  if (hitSlop == null) {
137
141
  hitSlop = FloatArray(6)
@@ -278,7 +282,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
278
282
  }
279
283
 
280
284
  // introduced in 1.11.0, remove if crashes are not reported
281
- if(pointerProps.isEmpty()|| pointerCoords.isEmpty()){
285
+ if (pointerProps.isEmpty() || pointerCoords.isEmpty()) {
282
286
  throw IllegalStateException("pointerCoords.size=${pointerCoords.size}, pointerProps.size=${pointerProps.size}")
283
287
  }
284
288
 
@@ -289,8 +293,8 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
289
293
  event.eventTime,
290
294
  action,
291
295
  count,
292
- pointerProps, /* props are copied and hence it is safe to use static array here */
293
- pointerCoords, /* same applies to coords */
296
+ pointerProps, /* props are copied and hence it is safe to use static array here */
297
+ pointerCoords, /* same applies to coords */
294
298
  event.metaState,
295
299
  event.buttonState,
296
300
  event.xPrecision,
@@ -313,7 +317,8 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
313
317
  handler: GestureHandler<*>,
314
318
  event: MotionEvent,
315
319
  e: IllegalArgumentException
316
- ) : Exception("""
320
+ ) : Exception(
321
+ """
317
322
  handler: ${handler::class.simpleName}
318
323
  state: ${handler.state}
319
324
  view: ${handler.view}
@@ -324,14 +329,17 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
324
329
  trackedPointersCount: ${handler.trackedPointersIDsCount}
325
330
  trackedPointers: ${handler.trackedPointerIDs.joinToString(separator = ", ")}
326
331
  while handling event: $event
327
- """.trimIndent(), e) {}
332
+ """.trimIndent(),
333
+ e
334
+ )
328
335
 
329
336
  fun handle(transformedEvent: MotionEvent, sourceEvent: MotionEvent) {
330
- if (!isEnabled
331
- || state == STATE_CANCELLED
332
- || state == STATE_FAILED
333
- || state == STATE_END
334
- || trackedPointersIDsCount < 1) {
337
+ if (!isEnabled ||
338
+ state == STATE_CANCELLED ||
339
+ state == STATE_FAILED ||
340
+ state == STATE_END ||
341
+ trackedPointersIDsCount < 1
342
+ ) {
335
343
  return
336
344
  }
337
345
 
@@ -380,11 +388,11 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
380
388
  val offsetY = event.rawY - event.y
381
389
 
382
390
  trackedPointers[pointerId] = PointerData(
383
- pointerId,
384
- event.getX(event.actionIndex),
385
- event.getY(event.actionIndex),
386
- event.getX(event.actionIndex) + offsetX - windowOffset[0],
387
- event.getY(event.actionIndex) + offsetY - windowOffset[1],
391
+ pointerId,
392
+ event.getX(event.actionIndex),
393
+ event.getY(event.actionIndex),
394
+ event.getX(event.actionIndex) + offsetX - windowOffset[0],
395
+ event.getY(event.actionIndex) + offsetY - windowOffset[1],
388
396
  )
389
397
  trackedPointersCount++
390
398
  addChangedPointer(trackedPointers[pointerId]!!)
@@ -402,11 +410,11 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
402
410
  val offsetY = event.rawY - event.y
403
411
 
404
412
  trackedPointers[pointerId] = PointerData(
405
- pointerId,
406
- event.getX(event.actionIndex),
407
- event.getY(event.actionIndex),
408
- event.getX(event.actionIndex) + offsetX - windowOffset[0],
409
- event.getY(event.actionIndex) + offsetY - windowOffset[1],
413
+ pointerId,
414
+ event.getX(event.actionIndex),
415
+ event.getY(event.actionIndex),
416
+ event.getX(event.actionIndex) + offsetX - windowOffset[0],
417
+ event.getY(event.actionIndex) + offsetY - windowOffset[1],
410
418
  )
411
419
  addChangedPointer(trackedPointers[pointerId]!!)
412
420
  trackedPointers[pointerId] = null
@@ -545,11 +553,11 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
545
553
  }
546
554
 
547
555
  fun wantEvents(): Boolean {
548
- return isEnabled
549
- && state != STATE_FAILED
550
- && state != STATE_CANCELLED
551
- && state != STATE_END
552
- && trackedPointersIDsCount > 0
556
+ return isEnabled &&
557
+ state != STATE_FAILED &&
558
+ state != STATE_CANCELLED &&
559
+ state != STATE_END &&
560
+ trackedPointersIDsCount > 0
553
561
  }
554
562
 
555
563
  open fun shouldRequireToWaitForFailure(handler: GestureHandler<*>): Boolean {
@@ -745,7 +753,7 @@ open class GestureHandler<ConcreteGestureHandlerT : GestureHandler<ConcreteGestu
745
753
  private lateinit var pointerCoords: Array<PointerCoords?>
746
754
  private fun initPointerProps(size: Int) {
747
755
  var size = size
748
- if (!::pointerProps.isInitialized) {
756
+ if (!Companion::pointerProps.isInitialized) {
749
757
  pointerProps = arrayOfNulls(MAX_POINTERS_COUNT)
750
758
  pointerCoords = arrayOfNulls(MAX_POINTERS_COUNT)
751
759
  }
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  interface GestureHandlerInteractionController {
4
4
  fun shouldWaitForHandlerFailure(handler: GestureHandler<*>, otherHandler: GestureHandler<*>): Boolean
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.graphics.Matrix
4
4
  import android.graphics.PointF
@@ -134,7 +134,10 @@ class GestureHandlerOrchestrator(
134
134
  // their state is set to END and when the gesture they are waiting for activates they
135
135
  // should be cancelled, however `cancel` was never sent as gestures were already in the END state.
136
136
  // Send synthetic BEGAN -> CANCELLED to properly handle JS logic
137
- otherHandler.dispatchStateChange(GestureHandler.STATE_CANCELLED, GestureHandler.STATE_BEGAN)
137
+ otherHandler.dispatchStateChange(
138
+ GestureHandler.STATE_CANCELLED,
139
+ GestureHandler.STATE_BEGAN
140
+ )
138
141
  }
139
142
  otherHandler.isAwaiting = false
140
143
  } else {
@@ -253,10 +256,10 @@ class GestureHandlerOrchestrator(
253
256
 
254
257
  val action = sourceEvent.actionMasked
255
258
  val event = transformEventToViewCoords(handler.view, MotionEvent.obtain(sourceEvent))
256
-
259
+
257
260
  // Touch events are sent before the handler itself has a chance to process them,
258
261
  // mainly because `onTouchesUp` shoul be send befor gesture finishes. This means that
259
- // the first `onTouchesDown` event is sent before a gesture begins, activation in
262
+ // the first `onTouchesDown` event is sent before a gesture begins, activation in
260
263
  // callback for this event causes problems because the handler doesn't have a chance
261
264
  // to initialize itself with starting values of pointer (in pan this causes translation
262
265
  // to be equal to the coordinates of the pointer). The simplest solution is to send
@@ -475,9 +478,10 @@ class GestureHandlerOrchestrator(
475
478
 
476
479
  // if the pointer is inside the view but it overflows its parent, handlers attached to the parent
477
480
  // might not have been extracted (pointer might be in a child, but may be outside parent)
478
- if (coords[0] in 0f..view.width.toFloat() && coords[1] in 0f..view.height.toFloat()
479
- && isViewOverflowingParent(view) && extractAncestorHandlers(view, coords, pointerId)) {
480
- found = true
481
+ if (coords[0] in 0f..view.width.toFloat() && coords[1] in 0f..view.height.toFloat() &&
482
+ isViewOverflowingParent(view) && extractAncestorHandlers(view, coords, pointerId)
483
+ ) {
484
+ found = true
481
485
  }
482
486
 
483
487
  return found
@@ -527,8 +531,10 @@ class GestureHandlerOrchestrator(
527
531
  }
528
532
  PointerEventsConfig.BOX_ONLY -> {
529
533
  // This view is the target, its children don't matter
530
- (recordViewHandlersForPointer(view, coords, pointerId)
531
- || shouldHandlerlessViewBecomeTouchTarget(view, coords))
534
+ (
535
+ recordViewHandlersForPointer(view, coords, pointerId) ||
536
+ shouldHandlerlessViewBecomeTouchTarget(view, coords)
537
+ )
532
538
  }
533
539
  PointerEventsConfig.BOX_NONE -> {
534
540
  // This view can't be the target, but its children might
@@ -557,8 +563,10 @@ class GestureHandlerOrchestrator(
557
563
  extractGestureHandlers(view, coords, pointerId)
558
564
  } else false
559
565
 
560
- (recordViewHandlersForPointer(view, coords, pointerId)
561
- || found || shouldHandlerlessViewBecomeTouchTarget(view, coords))
566
+ (
567
+ recordViewHandlersForPointer(view, coords, pointerId) ||
568
+ found || shouldHandlerlessViewBecomeTouchTarget(view, coords)
569
+ )
562
570
  }
563
571
  }
564
572
 
@@ -570,7 +578,6 @@ class GestureHandlerOrchestrator(
570
578
  private fun isClipping(view: View) =
571
579
  view !is ViewGroup || viewConfigHelper.isViewClippingChildren(view)
572
580
 
573
-
574
581
  companion object {
575
582
  // The limit doesn't necessarily need to exists, it was just simpler to implement it that way
576
583
  // it is also more allocation-wise efficient to have a fixed limit
@@ -637,14 +644,15 @@ class GestureHandlerOrchestrator(
637
644
  x in 0f..child.width.toFloat() && y in 0f..child.height.toFloat()
638
645
 
639
646
  private fun shouldHandlerWaitForOther(handler: GestureHandler<*>, other: GestureHandler<*>): Boolean {
640
- return handler !== other && (handler.shouldWaitForHandlerFailure(other)
641
- || other.shouldRequireToWaitForFailure(handler))
647
+ return handler !== other && (
648
+ handler.shouldWaitForHandlerFailure(other) ||
649
+ other.shouldRequireToWaitForFailure(handler)
650
+ )
642
651
  }
643
652
 
644
653
  private fun canRunSimultaneously(a: GestureHandler<*>, b: GestureHandler<*>) =
645
654
  a === b || a.shouldRecognizeSimultaneously(b) || b.shouldRecognizeSimultaneously(a)
646
655
 
647
-
648
656
  private fun shouldHandlerBeCancelledBy(handler: GestureHandler<*>, other: GestureHandler<*>): Boolean {
649
657
  if (!handler.hasCommonPointers(other)) {
650
658
  // if two handlers share no common pointer one can never trigger cancel for the other
@@ -656,7 +664,8 @@ class GestureHandlerOrchestrator(
656
664
  return false
657
665
  }
658
666
  return if (handler !== other &&
659
- (handler.isAwaiting || handler.state == GestureHandler.STATE_ACTIVE)) {
667
+ (handler.isAwaiting || handler.state == GestureHandler.STATE_ACTIVE)
668
+ ) {
660
669
  // in every other case as long as the handler is about to be activated or already in active
661
670
  // state, we delegate the decision to the implementation of GestureHandler#shouldBeCancelledBy
662
671
  handler.shouldBeCancelledBy(other)
@@ -664,8 +673,8 @@ class GestureHandlerOrchestrator(
664
673
  }
665
674
 
666
675
  private fun isFinished(state: Int) =
667
- state == GestureHandler.STATE_CANCELLED
668
- || state == GestureHandler.STATE_FAILED
669
- || state == GestureHandler.STATE_END
676
+ state == GestureHandler.STATE_CANCELLED ||
677
+ state == GestureHandler.STATE_FAILED ||
678
+ state == GestureHandler.STATE_END
670
679
  }
671
680
  }
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.view.View
4
4
  import java.util.*
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.view.MotionEvent
4
4
 
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.content.Context
4
4
  import android.os.Handler
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.view.MotionEvent
4
4
 
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.os.SystemClock
4
4
  import android.view.MotionEvent
@@ -114,7 +114,7 @@ class NativeViewGestureHandler : GestureHandler<NativeViewGestureHandler>() {
114
114
  override fun onCancel() {
115
115
  val time = SystemClock.uptimeMillis()
116
116
  val event = MotionEvent.obtain(time, time, MotionEvent.ACTION_CANCEL, 0f, 0f, 0).apply {
117
- action = MotionEvent.ACTION_CANCEL
117
+ action = MotionEvent.ACTION_CANCEL
118
118
  }
119
119
  view!!.onTouchEvent(event)
120
120
  }
@@ -172,8 +172,8 @@ class NativeViewGestureHandler : GestureHandler<NativeViewGestureHandler>() {
172
172
  }
173
173
 
174
174
  private class EditTextHook(
175
- private val handler: NativeViewGestureHandler,
176
- private val editText: ReactEditText
175
+ private val handler: NativeViewGestureHandler,
176
+ private val editText: ReactEditText
177
177
  ) : NativeViewGestureHandlerHook {
178
178
  private var startX = 0f
179
179
  private var startY = 0f
@@ -194,7 +194,7 @@ class NativeViewGestureHandler : GestureHandler<NativeViewGestureHandler>() {
194
194
  // of RNGestureHandlerRootHelper so no explicit type checks, but its tag is always negative
195
195
  // also if other handler is NativeViewGestureHandler then don't override the default implementation
196
196
  override fun shouldRecognizeSimultaneously(handler: GestureHandler<*>) =
197
- handler.tag > 0 && handler !is NativeViewGestureHandler
197
+ handler.tag > 0 && handler !is NativeViewGestureHandler
198
198
 
199
199
  override fun wantsToHandleEventBeforeActivation() = true
200
200
 
@@ -1,4 +1,4 @@
1
- package com.swmansion.gesturehandler
1
+ package com.swmansion.gesturehandler.core
2
2
 
3
3
  import android.view.MotionEvent
4
4