react-native-gesture-handler 2.7.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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