react-native-background-geolocation 4.19.2 → 5.0.0-beta.2

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 (195) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/README.md +4 -4
  3. package/RNBackgroundGeolocation.podspec +25 -8
  4. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  5. package/android/build.gradle +22 -56
  6. package/android/proguard-rules.pro +66 -38
  7. package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTask.java +44 -44
  8. package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocation.java +8 -8
  9. package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocationModule.java +318 -281
  10. package/babel.config.js +5 -0
  11. package/expo/plugin/build/androidPlugin.js.map +1 -1
  12. package/expo/plugin/tsconfig.tsbuildinfo +1 -0
  13. package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.h +6 -0
  14. package/ios/RNBackgroundGeolocation/{RNBackgroundGeolocation.m → RNBackgroundGeolocation.mm} +216 -164
  15. package/jest.config.js +14 -0
  16. package/mocks/react-native.js +52 -0
  17. package/package.json +28 -13
  18. package/src/DeviceSettings.js +7 -24
  19. package/src/Logger.js +18 -46
  20. package/src/NativeModule.js +110 -268
  21. package/src/{TransistorAuthorizationToken.js → TransistorAuthorizationService.js} +17 -19
  22. package/src/index.d.ts +13 -1
  23. package/src/index.js +271 -467
  24. package/src/native/specs/NativeBackgroundGeolocation.ts +49 -0
  25. package/src/specs/NativeRNBackgroundGeolocation.js +104 -0
  26. package/tests/enums-bridge-test.js +16 -0
  27. package/tests/enums.test.js +23 -0
  28. package/tests/ready-compound.test.js +28 -0
  29. package/tests/ready.test.js +6 -0
  30. package/tests-types/config-surface.ts +38 -0
  31. package/tests-types/enums-smoke-test.ts +35 -0
  32. package/tests-types/events-typing.ts +23 -0
  33. package/tests-types/flat-config.ts +0 -0
  34. package/tests-types/ok.ts +20 -0
  35. package/tests-types/tsconfig.json +14 -0
  36. package/typedoc.json +49 -0
  37. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar +0 -0
  38. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.md5 +0 -1
  39. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.sha1 +0 -1
  40. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.sha256 +0 -1
  41. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.sha512 +0 -1
  42. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom +0 -9
  43. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.md5 +0 -1
  44. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.sha1 +0 -1
  45. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.sha256 +0 -1
  46. package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.sha512 +0 -1
  47. package/android/libs/com/transistorsoft/tslocationmanager/maven-metadata.xml +0 -13
  48. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar +0 -0
  49. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.md5 +0 -1
  50. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.sha1 +0 -1
  51. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.sha256 +0 -1
  52. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.sha512 +0 -1
  53. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom +0 -9
  54. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.md5 +0 -1
  55. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.sha1 +0 -1
  56. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.sha256 +0 -1
  57. package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.sha512 +0 -1
  58. package/android/libs/com/transistorsoft/tslocationmanager-v21/maven-metadata.xml +0 -13
  59. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/Info.plist +0 -61
  60. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeDirectory +0 -0
  61. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeRequirements +0 -0
  62. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  63. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeResources +0 -2033
  64. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeSignature +0 -0
  65. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/AtomicBoolean.h +0 -18
  66. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/ConfigModule.h +0 -21
  67. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/HttpRequest.h +0 -21
  68. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/HttpResponse.h +0 -29
  69. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/LocationManager.h +0 -55
  70. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/LogQuery.h +0 -13
  71. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/SOMotionDetector.h +0 -141
  72. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/SQLQuery.h +0 -34
  73. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +0 -16
  74. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSAuthorization.h +0 -38
  75. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +0 -18
  76. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSCallback.h +0 -18
  77. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSConfig.h +0 -310
  78. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +0 -17
  79. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +0 -43
  80. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSDeviceInfo.h +0 -24
  81. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +0 -15
  82. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofence.h +0 -54
  83. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofenceEvent.h +0 -64
  84. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofenceManager.h +0 -54
  85. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +0 -17
  86. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +0 -18
  87. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSHttpEvent.h +0 -19
  88. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSHttpService.h +0 -58
  89. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSLocation.h +0 -105
  90. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSLocationManager.h +0 -315
  91. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +0 -14
  92. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +0 -20
  93. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSReachability.h +0 -106
  94. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSSchedule.h +0 -40
  95. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSScheduleEvent.h +0 -18
  96. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +0 -41
  97. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +0 -31
  98. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Info.plist +0 -0
  99. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Miniball/Miniball.hpp +0 -525
  100. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Modules/module.modulemap +0 -6
  101. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/PrivacyInfo.xcprivacy +0 -36
  102. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/TSLocationManager +0 -0
  103. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
  104. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
  105. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
  106. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeResources +0 -642
  107. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeSignature +0 -0
  108. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/AtomicBoolean.h +0 -18
  109. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/ConfigModule.h +0 -21
  110. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpRequest.h +0 -21
  111. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpResponse.h +0 -29
  112. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LocationManager.h +0 -55
  113. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LogQuery.h +0 -13
  114. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SOMotionDetector.h +0 -141
  115. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SQLQuery.h +0 -34
  116. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +0 -16
  117. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorization.h +0 -38
  118. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +0 -18
  119. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCallback.h +0 -18
  120. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConfig.h +0 -310
  121. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +0 -17
  122. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +0 -43
  123. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSDeviceInfo.h +0 -24
  124. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +0 -15
  125. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofence.h +0 -54
  126. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceEvent.h +0 -64
  127. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceManager.h +0 -54
  128. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +0 -17
  129. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +0 -18
  130. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpEvent.h +0 -19
  131. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpService.h +0 -58
  132. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocation.h +0 -105
  133. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocationManager.h +0 -315
  134. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +0 -14
  135. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +0 -20
  136. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSReachability.h +0 -106
  137. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSSchedule.h +0 -40
  138. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSScheduleEvent.h +0 -18
  139. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +0 -41
  140. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +0 -31
  141. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Modules/module.modulemap +0 -6
  142. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/Info.plist +0 -50
  143. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/Miniball/Miniball.hpp +0 -525
  144. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/PrivacyInfo.xcprivacy +0 -36
  145. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/TSLocationManager +0 -0
  146. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
  147. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
  148. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
  149. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeResources +0 -536
  150. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeSignature +0 -0
  151. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/AtomicBoolean.h +0 -18
  152. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/ConfigModule.h +0 -21
  153. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/HttpRequest.h +0 -21
  154. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/HttpResponse.h +0 -29
  155. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/LocationManager.h +0 -55
  156. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/LogQuery.h +0 -13
  157. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/SOMotionDetector.h +0 -141
  158. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/SQLQuery.h +0 -34
  159. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +0 -16
  160. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorization.h +0 -38
  161. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +0 -18
  162. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSCallback.h +0 -18
  163. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSConfig.h +0 -310
  164. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +0 -17
  165. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +0 -43
  166. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSDeviceInfo.h +0 -24
  167. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +0 -15
  168. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofence.h +0 -54
  169. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceEvent.h +0 -64
  170. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceManager.h +0 -54
  171. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +0 -17
  172. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +0 -18
  173. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpEvent.h +0 -19
  174. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpService.h +0 -58
  175. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSLocation.h +0 -105
  176. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSLocationManager.h +0 -315
  177. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +0 -14
  178. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +0 -20
  179. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSReachability.h +0 -106
  180. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSSchedule.h +0 -40
  181. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSScheduleEvent.h +0 -18
  182. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +0 -41
  183. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +0 -31
  184. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Info.plist +0 -0
  185. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Miniball/Miniball.hpp +0 -525
  186. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Modules/module.modulemap +0 -6
  187. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/PrivacyInfo.xcprivacy +0 -36
  188. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/TSLocationManager +0 -0
  189. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
  190. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
  191. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
  192. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeResources +0 -642
  193. package/src/Events.js +0 -17
  194. package/src/declarations/BackgroundGeolocation.d.ts +0 -1683
  195. /package/{ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeSignature → tests-types/api-surface.ts} +0 -0
@@ -6,10 +6,22 @@
6
6
  // Copyright (c) 2015 Transistor Software. All rights reserved.
7
7
  //
8
8
  #import "RNBackgroundGeolocation.h"
9
+
10
+ #ifdef RCT_NEW_ARCH_ENABLED
11
+ #import <ReactCodegen/RNBackgroundGeolocation/RNBackgroundGeolocation.h>
12
+
13
+ #import <React/RCTBridge+Private.h>
14
+ #import <React/RCTUtils.h>
15
+
16
+ using namespace facebook;
17
+ using namespace facebook::react;
18
+ #endif
19
+
20
+
9
21
  #import <Foundation/Foundation.h>
10
22
  #import <CoreLocation/CoreLocation.h>
11
23
  #import <UIKit/UIKit.h>
12
-
24
+ #import <TSLocationManager/TSLocationManager.h>
13
25
 
14
26
  static NSString *const TS_LOCATION_MANAGER_TAG = @"TSLocationManager";
15
27
 
@@ -64,24 +76,25 @@ RCT_EXPORT_MODULE();
64
76
 
65
77
  -(void) registerEventListeners {
66
78
  __typeof(self) __weak me = self;
67
- [locationManager onLocation:^(TSLocation *location) {
68
- [me sendEvent:EVENT_LOCATION body:[location toDictionary]];
79
+
80
+ [locationManager onLocation:^(TSLocationEvent *event) {
81
+ [me sendEvent:EVENT_LOCATION body:[event toDictionary]];
69
82
  } failure:^(NSError *error) {
70
83
  [me sendEvent:EVENT_LOCATION body: @{@"error":@(error.code)}];
71
84
  }];
72
- [locationManager onMotionChange:^(TSLocation *location) {
73
- [me sendEvent:EVENT_MOTIONCHANGE body:@{@"isMoving":@(location.isMoving), @"location":[location toDictionary]}];
85
+ [locationManager onMotionChange:^(TSLocationEvent *event) {
86
+ [me sendEvent:EVENT_MOTIONCHANGE body:@{@"isMoving":@(event.isMoving), @"location":[event toDictionary]}];
74
87
  }];
75
88
  [locationManager onActivityChange:^(TSActivityChangeEvent *event) {
76
89
  NSDictionary *params = @{@"activity": event.activity, @"confidence": @(event.confidence)};
77
90
  [me sendEvent:EVENT_ACTIVITYCHANGE body:params];
78
91
  }];
79
92
  [locationManager onHeartbeat:^(TSHeartbeatEvent *event) {
80
- [me sendEvent:EVENT_HEARTBEAT body:@{@"location":[event.location toDictionary]}];
93
+ [me sendEvent:EVENT_HEARTBEAT body:[event toDictionary]];
81
94
  }];
82
95
  [locationManager onGeofence:^(TSGeofenceEvent *event) {
83
96
  NSMutableDictionary *params = [[event toDictionary] mutableCopy];
84
- [params setObject:[event.location toDictionary] forKey:@"location"];
97
+ //[params setObject:[event.location toDictionary] forKey:@"location"];
85
98
  [me sendEvent:EVENT_GEOFENCE body:params];
86
99
  }];
87
100
  [locationManager onGeofencesChange:^(TSGeofencesChangeEvent *event) {
@@ -138,84 +151,89 @@ RCT_EXPORT_METHOD(registerPlugin:(NSString*)pluginName)
138
151
  [config registerPlugin:pluginName];
139
152
  }
140
153
 
141
- RCT_EXPORT_METHOD(reset:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
154
+ RCT_EXPORT_METHOD(reset:(NSDictionary*)params
155
+ resolve:(RCTPromiseResolveBlock)resolve
156
+ reject:(RCTPromiseRejectBlock)reject)
142
157
  {
143
158
  TSConfig *config = [TSConfig sharedInstance];
144
- if ([[params allKeys] count] > 0) {
145
- [config reset:YES];
146
- [config updateWithDictionary:params];
147
- } else {
148
- [config reset];
159
+ @try {
160
+ if ([[params allKeys] count] > 0) {
161
+ [config resetConfig:YES];
162
+ [config updateWithDictionary:params];
163
+ } else {
164
+ [config reset];
165
+ }
166
+ resolve([config toDictionary]);
167
+ }
168
+ @catch (NSException *exception) {
169
+ // Mirror old behaviour: there was no explicit failure path before, so reject with a generic error.
170
+ reject(@"reset_error", exception.reason, nil);
149
171
  }
150
- success(@[[config toDictionary]]);
151
172
  }
152
173
 
153
174
  /**
154
175
  * configure plugin
155
176
  */
156
- RCT_EXPORT_METHOD(ready:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
177
+ RCT_EXPORT_METHOD(ready:(NSDictionary*)params
178
+ resolve:(RCTPromiseResolveBlock)resolve
179
+ reject:(RCTPromiseRejectBlock)reject)
157
180
  {
158
- BOOL reset = (params[@"reset"]) ? [params[@"reset"] boolValue] : YES;
181
+ BOOL resetFlag = (params[@"reset"]) ? [params[@"reset"] boolValue] : YES;
182
+
183
+ // If already ready, behave like before but resolve the promise.
159
184
  if (ready) {
160
185
  TSConfig *config = [TSConfig sharedInstance];
161
- if (reset) {
186
+ if (resetFlag) {
162
187
  [locationManager log:@"warn" message:@"#ready already called. Redirecting to #setConfig"];
163
188
  [config updateWithDictionary:params];
164
189
  } else {
165
190
  [locationManager log:@"warn" message:@"#ready already called. Ignored Config since reset: false"];
166
191
  }
167
- success(@[[config toDictionary]]);
192
+ resolve([config toDictionary]);
168
193
  return;
169
194
  }
195
+
170
196
  ready = YES;
171
197
  [self registerEventListeners];
172
198
 
173
199
  dispatch_async(dispatch_get_main_queue(), ^{
174
200
  TSConfig *config = [TSConfig sharedInstance];
175
- if (config.isFirstBoot) {
176
- [config updateWithDictionary:params];
177
- } else {
178
- if (reset) {
179
- [config reset:YES];
201
+ @try {
202
+ if (config.isFirstBoot) {
180
203
  [config updateWithDictionary:params];
181
- } else if ([params objectForKey:@"authorization"]) {
182
- [config updateWithBlock:^(TSConfigBuilder *builder) {
183
- builder.authorization = [TSAuthorization createWithDictionary:[params objectForKey:@"authorization"]];
184
- }];
204
+ } else {
205
+ if (resetFlag) {
206
+ [config resetConfig:YES];
207
+ [config updateWithDictionary:params];
208
+ } else if ([params objectForKey:@"authorization"]) {
209
+ [config batchUpdate:^(TSConfig * _Nonnull cfg) {
210
+ [cfg.authorization updateWithDictionary:[params objectForKey:@"authorization"]];
211
+ }];
212
+ }
185
213
  }
214
+ [self.locationManager ready];
215
+ resolve([config toDictionary]);
216
+ }
217
+ @catch (NSException *exception) {
218
+ reject(@"ready_error", exception.reason, nil);
186
219
  }
187
- [self.locationManager ready];
188
- success(@[[config toDictionary]]);
189
- });
190
- }
191
-
192
- /**
193
- * configure plugin
194
- * @deprecated in favour of #ready
195
- */
196
- RCT_EXPORT_METHOD(configure:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
197
- {
198
- dispatch_async(dispatch_get_main_queue(), ^{
199
- TSConfig *config = [TSConfig sharedInstance];
200
- [self.locationManager configure:params];
201
- success(@[[config toDictionary]]);
202
220
  });
203
221
  }
204
222
 
205
223
 
206
224
 
207
- RCT_EXPORT_METHOD(removeAllListeners:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
225
+ RCT_EXPORT_METHOD(removeAllListeners:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
208
226
  {
209
227
  [locationManager removeListeners];
210
- success(@[]);
228
+ resolve(@(YES));
211
229
  }
212
230
 
213
231
 
214
- RCT_EXPORT_METHOD(setConfig:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
232
+ RCT_EXPORT_METHOD(setConfig:(NSDictionary*)params resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
215
233
  {
216
234
  TSConfig *config = [TSConfig sharedInstance];
217
235
  [config updateWithDictionary:params];
218
- success(@[[config toDictionary]]);
236
+ resolve([config toDictionary]);
219
237
  }
220
238
 
221
239
  -(NSDictionary*)getState
@@ -223,62 +241,62 @@ RCT_EXPORT_METHOD(setConfig:(NSDictionary*)params success:(RCTResponseSenderBloc
223
241
  return [locationManager getState];
224
242
  }
225
243
 
226
- RCT_EXPORT_METHOD(getState:(RCTResponseSenderBlock)callback failure:(RCTResponseSenderBlock)failure)
244
+ RCT_EXPORT_METHOD(getState:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
227
245
  {
228
246
  NSDictionary *state = [locationManager getState];
229
- callback(@[state]);
247
+ resolve(state);
230
248
  }
231
249
 
232
250
  /**
233
251
  * Turn on background geolocation
234
252
  */
235
- RCT_EXPORT_METHOD(start:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
253
+ RCT_EXPORT_METHOD(start:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
236
254
  {
237
255
  dispatch_async(dispatch_get_main_queue(), ^{
238
256
  [self.locationManager start];
239
- success(@[[self.locationManager getState]]);
257
+ resolve([self.locationManager getState]);
240
258
  });
241
259
  }
242
260
  /**
243
261
  * Turn it off
244
262
  */
245
- RCT_EXPORT_METHOD(stop:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
263
+ RCT_EXPORT_METHOD(stop:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
246
264
  {
247
265
  [locationManager stop];
248
- success(@[[locationManager getState]]);
266
+ resolve([locationManager getState]);
249
267
  }
250
268
 
251
269
  /**
252
270
  * Start schedule
253
271
  */
254
- RCT_EXPORT_METHOD(startSchedule:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
272
+ RCT_EXPORT_METHOD(startSchedule:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
255
273
  {
256
274
  dispatch_async(dispatch_get_main_queue(), ^{
257
275
  [self.locationManager startSchedule];
258
- success(@[[self.locationManager getState]]);
276
+ resolve([self.locationManager getState]);
259
277
  });
260
278
  }
261
279
 
262
280
  /**
263
281
  * Stop schedule
264
282
  */
265
- RCT_EXPORT_METHOD(stopSchedule:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
283
+ RCT_EXPORT_METHOD(stopSchedule:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
266
284
  {
267
285
  dispatch_async(dispatch_get_main_queue(), ^{
268
286
  [self.locationManager stopSchedule];
269
- success(@[[self.locationManager getState]]);
287
+ resolve([self.locationManager getState]);
270
288
  });
271
289
  }
272
290
 
273
291
  /**
274
292
  * Start schedule
275
293
  */
276
- RCT_EXPORT_METHOD(startGeofences:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
294
+ RCT_EXPORT_METHOD(startGeofences:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
277
295
  {
278
296
  dispatch_async(dispatch_get_main_queue(), ^{
279
297
  TSConfig *config = [TSConfig sharedInstance];
280
298
  [self.locationManager startGeofences];
281
- success(@[[config toDictionary]]);
299
+ resolve([config toDictionary]);
282
300
  });
283
301
  }
284
302
 
@@ -286,31 +304,39 @@ RCT_EXPORT_METHOD(startGeofences:(RCTResponseSenderBlock)success failure:(RCTRes
286
304
  * Change pace to moving/stopped
287
305
  * @param {Boolean} isMoving
288
306
  */
289
- RCT_EXPORT_METHOD(changePace:(BOOL)moving success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
307
+ RCT_EXPORT_METHOD(changePace:(BOOL)moving resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
290
308
  {
291
309
  [locationManager changePace:moving];
292
- success(@[]);
310
+ resolve(@(YES));
293
311
  }
294
312
 
295
- RCT_EXPORT_METHOD(beginBackgroundTask:(RCTResponseSenderBlock)callback failure:(RCTResponseSenderBlock)failure)
313
+ RCT_EXPORT_METHOD(beginBackgroundTask:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
296
314
  {
297
- callback(@[@([locationManager createBackgroundTask])]);
315
+ resolve(@([locationManager createBackgroundTask]));
298
316
  }
299
317
  /**
300
318
  * Called by js to signify the end of a background-geolocation event
301
319
  */
302
- RCT_EXPORT_METHOD(finish:(int)taskId success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
320
+ RCT_EXPORT_METHOD(finish:(NSInteger)taskId resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
303
321
  {
304
322
  [locationManager stopBackgroundTask:taskId];
305
- success(@[@(taskId)]);
323
+ resolve(@(taskId));
306
324
  }
307
325
 
308
- RCT_EXPORT_METHOD(getCurrentPosition:(NSDictionary*)options success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
326
+ RCT_EXPORT_METHOD(finishHeadlessTask:(double)taskId
327
+ resolve:(RCTPromiseResolveBlock)resolve
328
+ reject:(RCTPromiseRejectBlock)reject)
309
329
  {
310
- TSCurrentPositionRequest *request = [[TSCurrentPositionRequest alloc] initWithSuccess:^(TSLocation *location) {
311
- success(@[[location toDictionary]]);
330
+ // iOS doesn't use RN Headless JS.
331
+ resolve(@(YES));
332
+ }
333
+
334
+ RCT_EXPORT_METHOD(getCurrentPosition:(NSDictionary*)options resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
335
+ {
336
+ TSCurrentPositionRequest *request = [TSCurrentPositionRequest requestWithSuccess:^(TSLocationEvent *event) {
337
+ resolve([event toDictionary]);
312
338
  } failure:^(NSError *error) {
313
- failure(@[@(error.code)]);
339
+ reject(@"get_current_position_error", error.localizedDescription, error);
314
340
  }];
315
341
 
316
342
  if (options[@"timeout"]) {
@@ -334,12 +360,12 @@ RCT_EXPORT_METHOD(getCurrentPosition:(NSDictionary*)options success:(RCTResponse
334
360
  [locationManager getCurrentPosition:request];
335
361
  }
336
362
 
337
- RCT_EXPORT_METHOD(watchPosition:(NSDictionary*)options success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
363
+ RCT_EXPORT_METHOD(watchPosition:(NSDictionary*)options resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
338
364
  {
339
- TSWatchPositionRequest *request = [[TSWatchPositionRequest alloc] initWithSuccess:^(TSLocation *location) {
340
- [self sendEvent:EVENT_WATCHPOSITION body:[location toDictionary]];
365
+ TSWatchPositionRequest *request = [TSWatchPositionRequest requestWithSuccess:^(TSLocationStreamEvent *event) {
366
+ [self sendEvent:EVENT_WATCHPOSITION body:[event toDictionary]];
341
367
  } failure:^(NSError *error) {
342
-
368
+ // No reject; stream API
343
369
  }];
344
370
 
345
371
  if (options[@"interval"]) { request.interval = [options[@"interval"] doubleValue]; }
@@ -348,77 +374,77 @@ RCT_EXPORT_METHOD(watchPosition:(NSDictionary*)options success:(RCTResponseSende
348
374
  if (options[@"extras"]) { request.extras = options[@"extras"]; }
349
375
  if (options[@"timeout"]) { request.timeout = [options[@"timeout"] doubleValue]; }
350
376
 
351
- [locationManager watchPosition:request];
352
- success(@[]);
377
+ NSInteger watchId = [locationManager watchPosition:request];
378
+ resolve(@(watchId));
353
379
  }
354
380
 
355
- RCT_EXPORT_METHOD(stopWatchPosition:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
381
+ RCT_EXPORT_METHOD(stopWatchPosition:(NSInteger)watchId resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
356
382
  {
357
- [locationManager stopWatchPosition];
358
- success(@[]);
383
+ [locationManager stopWatchPosition:watchId];
384
+ resolve(@(YES));
359
385
  }
360
386
 
361
- RCT_EXPORT_METHOD(getLocations:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
387
+ RCT_EXPORT_METHOD(getLocations:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
362
388
  {
363
389
  [locationManager getLocations:^(NSArray* records) {
364
- success(@[records]);
390
+ resolve(records);
365
391
  } failure:^(NSString* error) {
366
- failure(@[error]);
392
+ reject(@"get_locations_error", error, nil);
367
393
  }];
368
394
  }
369
395
 
370
- RCT_EXPORT_METHOD(sync:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
396
+ RCT_EXPORT_METHOD(sync:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
371
397
  {
372
398
  [locationManager sync:^(NSArray* records) {
373
- success(@[records]);
399
+ resolve(records);
374
400
  } failure:^(NSError* error) {
375
- failure(@[@(error.code)]);
401
+ reject(@"sync_error", error.localizedDescription, error);
376
402
  }];
377
403
  }
378
404
 
379
- RCT_EXPORT_METHOD(getGeofences:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
405
+ RCT_EXPORT_METHOD(getGeofences:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
380
406
  {
381
407
  [locationManager getGeofences:^(NSArray* geofences) {
382
408
  NSMutableArray *result = [NSMutableArray new];
383
409
  for (TSGeofence *geofence in geofences) { [result addObject:[geofence toDictionary]]; }
384
- success(@[result]);
410
+ resolve(result);
385
411
  } failure:^(NSString* error) {
386
- failure(@[error]);
412
+ reject(@"get_geofences_error", error, nil);
387
413
  }];
388
414
  }
389
415
 
390
- RCT_EXPORT_METHOD(getGeofence:(NSString*)identifier success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
416
+ RCT_EXPORT_METHOD(getGeofence:(NSString*)identifier resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
391
417
  {
392
418
  [locationManager getGeofence:identifier success:^(TSGeofence* geofence) {
393
- success(@[[geofence toDictionary]]);
419
+ resolve([geofence toDictionary]);
394
420
  } failure:^(NSString* error) {
395
- failure(@[error]);
421
+ reject(@"get_geofence_error", error, nil);
396
422
  }];
397
423
  }
398
424
 
399
- RCT_EXPORT_METHOD(geofenceExists:(NSString*)identifier callback:(RCTResponseSenderBlock)callback)
425
+ RCT_EXPORT_METHOD(geofenceExists:(NSString*)identifier resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
400
426
  {
401
427
  [locationManager geofenceExists:identifier callback:^(BOOL exists) {
402
- callback(@[@(exists)]);
428
+ resolve(@(exists));
403
429
  }];
404
430
  }
405
431
 
406
- RCT_EXPORT_METHOD(addGeofence:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
432
+ RCT_EXPORT_METHOD(addGeofence:(NSDictionary*)params resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
407
433
  {
408
434
  TSGeofence *geofence = [self buildGeofence:params];
409
435
  if (!geofence) {
410
436
  NSString *error = [NSString stringWithFormat:@"Invalid geofence data: %@", params];
411
- failure(@[error]);
437
+ reject(@"add_geofence_error", error, nil);
412
438
  return;
413
439
  }
414
440
  [locationManager addGeofence:geofence success:^{
415
- success(@[]);
441
+ resolve(@(YES));
416
442
  } failure:^(NSString *error) {
417
- failure(@[error]);
443
+ reject(@"add_geofence_error", error, nil);
418
444
  }];
419
445
  }
420
446
 
421
- RCT_EXPORT_METHOD(addGeofences:(NSArray*) data success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
447
+ RCT_EXPORT_METHOD(addGeofences:(NSArray*) data resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
422
448
  {
423
449
  NSMutableArray *geofences = [NSMutableArray new];
424
450
  for (NSDictionary *params in data) {
@@ -427,14 +453,14 @@ RCT_EXPORT_METHOD(addGeofences:(NSArray*) data success:(RCTResponseSenderBlock)s
427
453
  [geofences addObject:geofence];
428
454
  } else {
429
455
  NSString *error = [NSString stringWithFormat:@"Invalid geofence data: %@", params];
430
- failure(@[error]);
456
+ reject(@"add_geofences_error", error, nil);
431
457
  return;
432
458
  }
433
459
  }
434
460
  [locationManager addGeofences:geofences success:^{
435
- success(@[]);
461
+ resolve(@(YES));
436
462
  } failure:^(NSString *error) {
437
- failure(@[error]);
463
+ reject(@"add_geofences_error", error, nil);
438
464
  }];
439
465
  }
440
466
 
@@ -456,126 +482,132 @@ RCT_EXPORT_METHOD(addGeofences:(NSArray*) data success:(RCTResponseSenderBlock)s
456
482
  vertices: params[@"vertices"]];
457
483
  }
458
484
 
459
- RCT_EXPORT_METHOD(removeGeofence:(NSString*)identifier success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
485
+ RCT_EXPORT_METHOD(removeGeofence:(NSString*)identifier resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
460
486
  {
461
487
  [locationManager removeGeofence:identifier success:^{
462
- success(@[]);
488
+ resolve(@(YES));
463
489
  } failure:^(NSString* error) {
464
- failure(@[error]);
490
+ reject(@"remove_geofence_error", error, nil);
465
491
  }];
466
492
  }
467
493
 
468
- RCT_EXPORT_METHOD(removeGeofences:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
494
+ RCT_EXPORT_METHOD(removeGeofences:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
469
495
  {
470
496
  NSArray *geofences = @[];
471
497
  [locationManager removeGeofences:geofences success:^{
472
- success(@[]);
498
+ resolve(@(YES));
473
499
  } failure:^(NSString* error) {
474
- failure(@[error]);
500
+ reject(@"remove_geofences_error", error, nil);
475
501
  }];
476
502
  }
477
503
 
478
- RCT_EXPORT_METHOD(getOdometer:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
504
+ RCT_EXPORT_METHOD(getOdometer:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
479
505
  {
480
506
  NSNumber *distance = @([locationManager getOdometer]);
481
- success(@[distance]);
507
+ resolve(distance);
482
508
  }
483
509
 
484
- RCT_EXPORT_METHOD(setOdometer:(double)value success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
510
+ RCT_EXPORT_METHOD(setOdometer:(double)value resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
485
511
  {
486
- TSCurrentPositionRequest *request = [[TSCurrentPositionRequest alloc] initWithSuccess:^(TSLocation *location) {
487
- success(@[[location toDictionary]]);
512
+ TSCurrentPositionRequest *request = [TSCurrentPositionRequest requestWithSuccess:^(TSLocationEvent *event) {
513
+ resolve([event toDictionary]);
488
514
  } failure:^(NSError *error) {
489
- failure(@[@(error.code)]);
515
+ reject(@"set_odometer_error", error.localizedDescription, error);
490
516
  }];
491
517
  [locationManager setOdometer:value request:request];
492
518
  }
493
519
 
494
- RCT_EXPORT_METHOD(destroyLocations:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
520
+ RCT_EXPORT_METHOD(destroyLocations:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
495
521
  {
496
522
  BOOL result = [locationManager destroyLocations];
497
523
  if (result) {
498
- success(@[]);
524
+ resolve(@(YES));
499
525
  } else {
500
- failure(@[]);
526
+ reject(@"destroy_locations_error", @"Failed to destroy locations", nil);
501
527
  }
502
528
  }
503
529
 
504
- RCT_EXPORT_METHOD(destroyLocation:(NSString*)uuid success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
530
+ RCT_EXPORT_METHOD(destroyLocation:(NSString*)uuid resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
505
531
  {
506
532
  [locationManager destroyLocation:uuid success:^{
507
- success(@[]);
533
+ resolve(@(YES));
508
534
  } failure:^(NSString* error) {
509
- failure(@[error]);
535
+ reject(@"destroy_location_error", error, nil);
510
536
  }];
511
537
  }
512
538
 
513
- RCT_EXPORT_METHOD(getCount:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
539
+ RCT_EXPORT_METHOD(getCount:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
514
540
  {
515
541
  int count = [locationManager getCount];
516
542
  if (count >= 0) {
517
- success(@[@(count)]);
543
+ resolve(@(count));
518
544
  } else {
519
- failure(@[]);
545
+ reject(@"get_count_error", @"Unknown count error", nil);
520
546
  }
521
547
  }
522
548
 
523
- RCT_EXPORT_METHOD(insertLocation:(NSDictionary*)params success:(RCTResponseSenderBlock)successCallback failure:(RCTResponseSenderBlock)failureCallback)
549
+ RCT_EXPORT_METHOD(insertLocation:(NSDictionary*)params resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
524
550
  {
525
551
  [locationManager insertLocation: params success:^(NSString* uuid) {
526
- successCallback(@[uuid]);
552
+ resolve(uuid);
527
553
  } failure:^(NSString* error) {
528
- failureCallback(@[error]);
554
+ reject(@"insert_location_error", error, nil);
529
555
  }];
530
556
  }
531
557
 
532
- RCT_EXPORT_METHOD(getLog:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
558
+ RCT_EXPORT_METHOD(getLog:(NSDictionary*)params resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
533
559
  {
534
560
  LogQuery *query = [[LogQuery alloc] initWithDictionary:params];
535
561
  [locationManager getLog:query success:^(NSString* log) {
536
- success(@[log]);
562
+ resolve(log);
537
563
  } failure:^(NSString* error) {
538
- failure(@[error]);
564
+ reject(@"get_log_error", error, nil);
539
565
  }];
540
566
  }
541
567
 
542
- RCT_EXPORT_METHOD(destroyLog:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
568
+ RCT_EXPORT_METHOD(destroyLog:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
543
569
  {
544
570
  BOOL result = [locationManager destroyLog];
545
571
  if (result) {
546
- success(@[@(result)]);
572
+ resolve(@(result));
547
573
  } else {
548
- failure(@[@(result)]);
574
+ reject(@"destroy_log_error", @"Failed to destroy log", nil);
549
575
  }
550
576
  }
551
577
 
552
- RCT_EXPORT_METHOD(emailLog:(NSString*)email query:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
578
+ RCT_EXPORT_METHOD(emailLog:(NSString*)email query:(NSDictionary*)params resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
553
579
  {
554
580
  LogQuery *query = [[LogQuery alloc] initWithDictionary:params];
555
581
  [locationManager emailLog:email query:query success:^{
556
- success(@[@(YES)]);
582
+ resolve(@(YES));
557
583
  } failure:^(NSString* error) {
558
- failure(@[error]);
584
+ reject(@"email_log_error", error, nil);
559
585
  }];
560
586
  }
561
587
 
562
- RCT_EXPORT_METHOD(uploadLog:(NSString*)url query:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
588
+ RCT_EXPORT_METHOD(uploadLog:(NSString*)url query:(NSDictionary*)params resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
563
589
  {
590
+
591
+
564
592
  LogQuery *query = [[LogQuery alloc] initWithDictionary:params];
565
593
  [locationManager uploadLog:url query:query success:^{
566
- success(@[@(YES)]);
594
+ resolve(@(YES));
567
595
  } failure:^(NSString* error) {
568
- failure(@[error]);
596
+ reject(@"upload_log_error", error, nil);
569
597
  }];
570
598
  }
571
599
 
572
600
 
573
- RCT_EXPORT_METHOD(log:(NSString*)level message:(NSString*)message)
601
+ RCT_EXPORT_METHOD(log:(NSString*)level
602
+ message:(NSString*)message
603
+ resolve:(RCTPromiseResolveBlock)resolve
604
+ reject:(RCTPromiseRejectBlock)reject)
574
605
  {
575
606
  [locationManager log:level message:message];
607
+ resolve(@(YES));
576
608
  }
577
609
 
578
- RCT_EXPORT_METHOD(getSensors:(RCTResponseSenderBlock)successCallback failure:(RCTResponseSenderBlock)failureCallback)
610
+ RCT_EXPORT_METHOD(getSensors:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
579
611
  {
580
612
  NSDictionary *sensors = @{
581
613
  @"platform": @"ios",
@@ -584,77 +616,90 @@ RCT_EXPORT_METHOD(getSensors:(RCTResponseSenderBlock)successCallback failure:(RC
584
616
  @"magnetometer": @([locationManager isMagnetometerAvailable]),
585
617
  @"motion_hardware": @([locationManager isMotionHardwareAvailable])
586
618
  };
587
- successCallback(@[sensors]);
619
+ resolve(sensors);
588
620
  }
589
621
 
590
- RCT_EXPORT_METHOD(getDeviceInfo:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
622
+ RCT_EXPORT_METHOD(getDeviceInfo:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
623
+ {
591
624
  TSDeviceInfo *deviceInfo = [TSDeviceInfo sharedInstance];
592
- success(@[[deviceInfo toDictionary:@"react-native"]]);
625
+ resolve([deviceInfo toDictionary:@"react-native"]);
593
626
  }
594
627
 
595
- RCT_EXPORT_METHOD(isPowerSaveMode:(RCTResponseSenderBlock)successCallback failure:(RCTResponseSenderBlock)failure)
628
+ RCT_EXPORT_METHOD(isPowerSaveMode:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
596
629
  {
597
630
  BOOL isPowerSaveMode = [locationManager isPowerSaveMode];
598
- successCallback(@[@(isPowerSaveMode)]);
631
+ resolve(@(isPowerSaveMode));
599
632
  }
600
633
 
601
- RCT_EXPORT_METHOD(isIgnoringBatteryOptimizations:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
634
+ RCT_EXPORT_METHOD(isIgnoringBatteryOptimizations:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
602
635
  {
603
- success(@[@(NO)]);
636
+ resolve(@(NO));
604
637
  }
605
638
 
606
- RCT_EXPORT_METHOD(requestSettings:(NSDictionary*)args success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
639
+ RCT_EXPORT_METHOD(requestSettings:(NSDictionary*)args resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
607
640
  {
608
- failure(@[@"No iOS Implementation"]);
641
+ reject(@"request_settings_error", @"No iOS Implementation", nil);
609
642
  }
610
643
 
611
- RCT_EXPORT_METHOD(showSettings:(NSDictionary*)args success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
644
+ RCT_EXPORT_METHOD(showSettings:(NSDictionary*)args resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
612
645
  {
613
- failure(@[@"No iOS Implementation"]);
646
+ reject(@"show_settings_error", @"No iOS Implementation", nil);
614
647
  }
615
648
 
616
- RCT_EXPORT_METHOD(getProviderState:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
649
+ RCT_EXPORT_METHOD(getProviderState:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
650
+ {
617
651
  TSProviderChangeEvent *event = [locationManager getProviderState];
618
- success(@[[event toDictionary]]);
652
+ resolve([event toDictionary]);
619
653
  }
620
654
 
621
- RCT_EXPORT_METHOD(requestPermission:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
655
+ RCT_EXPORT_METHOD(requestPermission:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
656
+ {
622
657
  [locationManager requestPermission:^(NSNumber *status) {
623
- success(@[status]);
658
+ resolve(status);
624
659
  } failure:^(NSNumber *status) {
625
- failure(@[status]);
660
+ reject(@"request_permission_error", [status stringValue], nil);
626
661
  }];
627
662
  }
628
663
 
629
- RCT_EXPORT_METHOD(requestTemporaryFullAccuracy:(NSString*)purpose success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
664
+ RCT_EXPORT_METHOD(requestTemporaryFullAccuracy:(NSString*)purpose resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
665
+ {
630
666
  [locationManager requestTemporaryFullAccuracy:purpose success:^(NSInteger accuracyAuthorization) {
631
- success(@[@(accuracyAuthorization)]);
667
+ resolve(@(accuracyAuthorization));
632
668
  } failure:^(NSError *error) {
633
- failure(error.userInfo[@"NSDebugDescription"]);
669
+ reject(@"request_full_accuracy_error", error.userInfo[@"NSDebugDescription"], error);
634
670
  }];
635
671
  }
636
672
 
637
- RCT_EXPORT_METHOD(getTransistorToken:(NSString*)orgname username:(NSString*)username url:(NSString*)url success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
638
-
673
+ RCT_EXPORT_METHOD(getTransistorToken:(NSString*)orgname
674
+ username:(NSString*)username
675
+ url:(NSString*)url
676
+ resolve:(RCTPromiseResolveBlock)resolve
677
+ reject:(RCTPromiseRejectBlock)reject)
678
+ {
639
679
  [TransistorAuthorizationToken findOrCreateWithOrg:orgname
640
680
  username:username
641
681
  url:url
642
682
  framework:@"react-native"
643
683
  success:^(TransistorAuthorizationToken *token) {
644
- success(@[[token toDictionary]]);
684
+ resolve([token toDictionary]);
645
685
  } failure:^(NSError *error) {
646
- failure(@[@{@"status":@(error.code), @"message":error.localizedDescription}]);
686
+ reject(@"get_transistor_token_error", error.localizedDescription, error);
647
687
  }];
648
688
  }
649
689
 
650
- RCT_EXPORT_METHOD(destroyTransistorToken:(NSString*)url success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
690
+ RCT_EXPORT_METHOD(destroyTransistorToken:(NSString*)url
691
+ resolve:(RCTPromiseResolveBlock)resolve
692
+ reject:(RCTPromiseRejectBlock)reject)
693
+ {
651
694
  [TransistorAuthorizationToken destroyWithUrl:url];
652
- success(@[@(YES)]);
695
+ resolve(@(YES));
653
696
  }
654
697
 
655
- RCT_EXPORT_METHOD(playSound:(int)soundId)
698
+ RCT_EXPORT_METHOD(playSound:(NSString*)soundId resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
656
699
  {
657
- [locationManager playSound: soundId];
700
+ NSInteger soundIdInt = [soundId integerValue];
701
+ [locationManager playSound: soundIdInt];
702
+ resolve(@(YES));
658
703
  }
659
704
 
660
705
  -(void) sendEvent:(NSString*)event body:(id)body
@@ -677,5 +722,12 @@ RCT_EXPORT_METHOD(playSound:(int)soundId)
677
722
  locationManager = nil;
678
723
  }
679
724
 
725
+ #ifdef RCT_NEW_ARCH_ENABLED
726
+ - (std::shared_ptr<TurboModule>)getTurboModule:(const ObjCTurboModule::InitParams &)params
727
+ {
728
+ return std::make_shared<NativeRNBackgroundGeolocationSpecJSI>(params);
729
+ }
730
+ #endif
680
731
 
681
732
  @end
733
+