react-native-nitro-geolocation 1.2.5 → 1.3.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 (223) hide show
  1. package/README.md +55 -278
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/AndroidManifest.xml +39 -0
  4. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidFusedLocationProvider.kt +310 -0
  5. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidFusedRequestFactory.kt +31 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationConversions.kt +71 -0
  7. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationErrors.kt +85 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationOptions.kt +92 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidLocationSettings.kt +3 -0
  10. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidProviderRoute.kt +74 -0
  11. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroBackgroundLocation.kt +132 -0
  12. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocation.kt +219 -476
  13. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundHttpSync.kt +134 -0
  14. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundPermissions.kt +196 -0
  15. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundSerialization.kt +266 -0
  16. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroActivityRecognitionReceiver.kt +13 -0
  17. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundEventHub.kt +65 -0
  18. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundHeadlessTaskService.kt +58 -0
  19. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundLocationController.kt +710 -0
  20. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundLocationService.kt +48 -0
  21. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundNotificationFactory.kt +37 -0
  22. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundStore.kt +655 -0
  23. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBootReceiver.kt +26 -0
  24. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroGeofenceReceiver.kt +14 -0
  25. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroLocationUpdateReceiver.kt +37 -0
  26. package/android/src/test/java/com/margelo/nitro/nitrogeolocation/AndroidFusedLocationProviderTest.kt +64 -0
  27. package/android/src/test/java/com/margelo/nitro/nitrogeolocation/AndroidProviderRouteTest.kt +116 -0
  28. package/ios/IOSBackgroundHttpSync.swift +126 -0
  29. package/ios/IOSBackgroundLocationDelegate.swift +36 -0
  30. package/ios/IOSBackgroundMotion.swift +55 -0
  31. package/ios/IOSBackgroundSerialization.swift +539 -0
  32. package/ios/IOSGeolocationConversions.swift +131 -0
  33. package/ios/IOSGeolocationDelegate.swift +31 -0
  34. package/ios/IOSGeolocationErrors.swift +39 -0
  35. package/ios/IOSGeolocationOptions.swift +135 -0
  36. package/ios/NitroBackgroundLocation.swift +849 -0
  37. package/ios/NitroGeolocation.swift +14 -347
  38. package/nitrogen/generated/android/c++/JActivityRecognitionOptions.hpp +69 -0
  39. package/nitrogen/generated/android/c++/JAndroidBackgroundLocationOptions.hpp +74 -0
  40. package/nitrogen/generated/android/c++/JAndroidBackgroundLocationStatus.hpp +67 -0
  41. package/nitrogen/generated/android/c++/JAndroidBackgroundProvider.hpp +61 -0
  42. package/nitrogen/generated/android/c++/JAndroidForegroundServiceOptions.hpp +90 -0
  43. package/nitrogen/generated/android/c++/JBackgroundEventEnvelope.hpp +129 -0
  44. package/nitrogen/generated/android/c++/JBackgroundEventType.hpp +70 -0
  45. package/nitrogen/generated/android/c++/JBackgroundHttpMethod.hpp +61 -0
  46. package/nitrogen/generated/android/c++/JBackgroundHttpSyncOptions.hpp +131 -0
  47. package/nitrogen/generated/android/c++/JBackgroundHttpSyncResult.hpp +111 -0
  48. package/nitrogen/generated/android/c++/JBackgroundLocation.hpp +110 -0
  49. package/nitrogen/generated/android/c++/JBackgroundLocationOptions.hpp +162 -0
  50. package/nitrogen/generated/android/c++/JBackgroundLocationSource.hpp +73 -0
  51. package/nitrogen/generated/android/c++/JBackgroundLocationState.hpp +70 -0
  52. package/nitrogen/generated/android/c++/JBackgroundLocationStatus.hpp +126 -0
  53. package/nitrogen/generated/android/c++/JBackgroundPermissionResult.hpp +79 -0
  54. package/nitrogen/generated/android/c++/JBackgroundPermissionStatus.hpp +64 -0
  55. package/nitrogen/generated/android/c++/JBackgroundTrackingMode.hpp +61 -0
  56. package/nitrogen/generated/android/c++/JBatterySnapshot.hpp +61 -0
  57. package/nitrogen/generated/android/c++/JDetectedActivity.hpp +66 -0
  58. package/nitrogen/generated/android/c++/JDetectedActivityType.hpp +76 -0
  59. package/nitrogen/generated/android/c++/JFunc_void_BackgroundEventEnvelope.hpp +114 -0
  60. package/nitrogen/generated/android/c++/JFunc_void_BackgroundLocation.hpp +95 -0
  61. package/nitrogen/generated/android/c++/JGeofenceEvent.hpp +94 -0
  62. package/nitrogen/generated/android/c++/JGeofenceRegion.hpp +112 -0
  63. package/nitrogen/generated/android/c++/JGeofenceTransition.hpp +61 -0
  64. package/nitrogen/generated/android/c++/JGeofencingOptions.hpp +82 -0
  65. package/nitrogen/generated/android/c++/JGetStoredBackgroundEventsOptions.hpp +90 -0
  66. package/nitrogen/generated/android/c++/JGetStoredBackgroundLocationsOptions.hpp +69 -0
  67. package/nitrogen/generated/android/c++/JHybridNitroBackgroundLocationSpec.cpp +662 -0
  68. package/nitrogen/generated/android/c++/JHybridNitroBackgroundLocationSpec.hpp +89 -0
  69. package/nitrogen/generated/android/c++/JIOSBackgroundActivityType.hpp +67 -0
  70. package/nitrogen/generated/android/c++/JIOSBackgroundLocationOptions.hpp +79 -0
  71. package/nitrogen/generated/android/c++/JIOSBackgroundLocationStatus.hpp +61 -0
  72. package/nitrogen/generated/android/c++/JLocationProviderStatus.hpp +5 -1
  73. package/nitrogen/generated/android/c++/JStoredBackgroundEventEnvelope.hpp +115 -0
  74. package/nitrogen/generated/android/c++/JStoredBackgroundLocation.hpp +122 -0
  75. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean_String_Double.cpp +34 -0
  76. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean_String_Double.hpp +100 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ActivityRecognitionOptions.kt +66 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundLocationOptions.kt +66 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundLocationStatus.kt +61 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundProvider.kt +24 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidForegroundServiceOptions.kt +91 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundEventEnvelope.kt +96 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundEventType.kt +27 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpMethod.kt +24 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpSyncOptions.kt +101 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpSyncResult.kt +71 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocation.kt +96 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationOptions.kt +136 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationSource.kt +28 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationState.kt +27 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationStatus.kt +116 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundPermissionResult.kt +71 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundPermissionStatus.kt +25 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundTrackingMode.kt +24 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BatterySnapshot.kt +56 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/DetectedActivity.kt +61 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/DetectedActivityType.kt +29 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_BackgroundEventEnvelope.kt +80 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_BackgroundLocation.kt +80 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceEvent.kt +66 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceRegion.kt +96 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceTransition.kt +24 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofencingOptions.kt +56 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GetStoredBackgroundEventsOptions.kt +66 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GetStoredBackgroundLocationsOptions.kt +66 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroBackgroundLocationSpec.kt +174 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundActivityType.kt +26 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundLocationOptions.kt +76 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundLocationStatus.kt +56 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderStatus.kt +7 -2
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/StoredBackgroundEventEnvelope.kt +76 -0
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/StoredBackgroundLocation.kt +111 -0
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Variant_NullType_Boolean_String_Double.kt +88 -0
  114. package/nitrogen/generated/android/nitrogeolocation+autolinking.cmake +3 -0
  115. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +20 -0
  116. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +104 -15
  117. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +1107 -50
  118. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +102 -0
  119. package/nitrogen/generated/ios/NitroGeolocationAutolinking.mm +8 -0
  120. package/nitrogen/generated/ios/NitroGeolocationAutolinking.swift +15 -3
  121. package/nitrogen/generated/ios/c++/HybridNitroBackgroundLocationSpecSwift.cpp +11 -0
  122. package/nitrogen/generated/ios/c++/HybridNitroBackgroundLocationSpecSwift.hpp +416 -0
  123. package/nitrogen/generated/ios/swift/ActivityRecognitionOptions.swift +96 -0
  124. package/nitrogen/generated/ios/swift/AndroidBackgroundLocationOptions.swift +76 -0
  125. package/nitrogen/generated/ios/swift/AndroidBackgroundLocationStatus.swift +58 -0
  126. package/nitrogen/generated/ios/swift/AndroidBackgroundProvider.swift +44 -0
  127. package/nitrogen/generated/ios/swift/AndroidForegroundServiceOptions.swift +160 -0
  128. package/nitrogen/generated/ios/swift/BackgroundEventEnvelope.swift +110 -0
  129. package/nitrogen/generated/ios/swift/BackgroundEventType.swift +56 -0
  130. package/nitrogen/generated/ios/swift/BackgroundHttpMethod.swift +44 -0
  131. package/nitrogen/generated/ios/swift/BackgroundHttpSyncOptions.swift +259 -0
  132. package/nitrogen/generated/ios/swift/BackgroundHttpSyncResult.swift +87 -0
  133. package/nitrogen/generated/ios/swift/BackgroundLocation.swift +118 -0
  134. package/nitrogen/generated/ios/swift/BackgroundLocationOptions.swift +292 -0
  135. package/nitrogen/generated/ios/swift/BackgroundLocationSource.swift +60 -0
  136. package/nitrogen/generated/ios/swift/BackgroundLocationState.swift +56 -0
  137. package/nitrogen/generated/ios/swift/BackgroundLocationStatus.swift +124 -0
  138. package/nitrogen/generated/ios/swift/BackgroundPermissionResult.swift +81 -0
  139. package/nitrogen/generated/ios/swift/BackgroundPermissionStatus.swift +48 -0
  140. package/nitrogen/generated/ios/swift/BackgroundTrackingMode.swift +44 -0
  141. package/nitrogen/generated/ios/swift/BatterySnapshot.swift +60 -0
  142. package/nitrogen/generated/ios/swift/DetectedActivity.swift +39 -0
  143. package/nitrogen/generated/ios/swift/DetectedActivityType.swift +64 -0
  144. package/nitrogen/generated/ios/swift/Func_void_BackgroundEventEnvelope.swift +46 -0
  145. package/nitrogen/generated/ios/swift/Func_void_BackgroundHttpSyncResult.swift +46 -0
  146. package/nitrogen/generated/ios/swift/Func_void_BackgroundLocation.swift +46 -0
  147. package/nitrogen/generated/ios/swift/Func_void_BackgroundLocationStatus.swift +46 -0
  148. package/nitrogen/generated/ios/swift/Func_void_BackgroundPermissionResult.swift +46 -0
  149. package/nitrogen/generated/ios/swift/Func_void_std__optional_BackgroundLocationOptions_.swift +46 -0
  150. package/nitrogen/generated/ios/swift/Func_void_std__vector_GeofenceRegion_.swift +46 -0
  151. package/nitrogen/generated/ios/swift/Func_void_std__vector_StoredBackgroundEventEnvelope_.swift +46 -0
  152. package/nitrogen/generated/ios/swift/Func_void_std__vector_StoredBackgroundLocation_.swift +46 -0
  153. package/nitrogen/generated/ios/swift/GeofenceEvent.swift +50 -0
  154. package/nitrogen/generated/ios/swift/GeofenceRegion.swift +195 -0
  155. package/nitrogen/generated/ios/swift/GeofenceTransition.swift +44 -0
  156. package/nitrogen/generated/ios/swift/GeofencingOptions.swift +66 -0
  157. package/nitrogen/generated/ios/swift/GetStoredBackgroundEventsOptions.swift +102 -0
  158. package/nitrogen/generated/ios/swift/GetStoredBackgroundLocationsOptions.swift +96 -0
  159. package/nitrogen/generated/ios/swift/HybridNitroBackgroundLocationSpec.swift +81 -0
  160. package/nitrogen/generated/ios/swift/HybridNitroBackgroundLocationSpec_cxx.swift +654 -0
  161. package/nitrogen/generated/ios/swift/IOSBackgroundActivityType.swift +52 -0
  162. package/nitrogen/generated/ios/swift/IOSBackgroundLocationOptions.swift +125 -0
  163. package/nitrogen/generated/ios/swift/IOSBackgroundLocationStatus.swift +34 -0
  164. package/nitrogen/generated/ios/swift/LocationProviderStatus.swift +19 -1
  165. package/nitrogen/generated/ios/swift/StoredBackgroundEventEnvelope.swift +54 -0
  166. package/nitrogen/generated/ios/swift/StoredBackgroundLocation.swift +120 -0
  167. package/nitrogen/generated/ios/swift/Variant_NullType_Bool_String_Double.swift +34 -0
  168. package/nitrogen/generated/shared/c++/ActivityRecognitionOptions.hpp +95 -0
  169. package/nitrogen/generated/shared/c++/AndroidBackgroundLocationOptions.hpp +100 -0
  170. package/nitrogen/generated/shared/c++/AndroidBackgroundLocationStatus.hpp +93 -0
  171. package/nitrogen/generated/shared/c++/AndroidBackgroundProvider.hpp +80 -0
  172. package/nitrogen/generated/shared/c++/AndroidForegroundServiceOptions.hpp +116 -0
  173. package/nitrogen/generated/shared/c++/BackgroundEventEnvelope.hpp +140 -0
  174. package/nitrogen/generated/shared/c++/BackgroundEventType.hpp +92 -0
  175. package/nitrogen/generated/shared/c++/BackgroundHttpMethod.hpp +80 -0
  176. package/nitrogen/generated/shared/c++/BackgroundHttpSyncOptions.hpp +129 -0
  177. package/nitrogen/generated/shared/c++/BackgroundHttpSyncResult.hpp +101 -0
  178. package/nitrogen/generated/shared/c++/BackgroundLocation.hpp +134 -0
  179. package/nitrogen/generated/shared/c++/BackgroundLocationOptions.hpp +174 -0
  180. package/nitrogen/generated/shared/c++/BackgroundLocationSource.hpp +96 -0
  181. package/nitrogen/generated/shared/c++/BackgroundLocationState.hpp +92 -0
  182. package/nitrogen/generated/shared/c++/BackgroundLocationStatus.hpp +158 -0
  183. package/nitrogen/generated/shared/c++/BackgroundPermissionResult.hpp +107 -0
  184. package/nitrogen/generated/shared/c++/BackgroundPermissionStatus.hpp +84 -0
  185. package/nitrogen/generated/shared/c++/BackgroundTrackingMode.hpp +80 -0
  186. package/nitrogen/generated/shared/c++/BatterySnapshot.hpp +87 -0
  187. package/nitrogen/generated/shared/c++/DetectedActivity.hpp +92 -0
  188. package/nitrogen/generated/shared/c++/DetectedActivityType.hpp +100 -0
  189. package/nitrogen/generated/shared/c++/GeofenceEvent.hpp +103 -0
  190. package/nitrogen/generated/shared/c++/GeofenceRegion.hpp +123 -0
  191. package/nitrogen/generated/shared/c++/GeofenceTransition.hpp +80 -0
  192. package/nitrogen/generated/shared/c++/GeofencingOptions.hpp +90 -0
  193. package/nitrogen/generated/shared/c++/GetStoredBackgroundEventsOptions.hpp +98 -0
  194. package/nitrogen/generated/shared/c++/GetStoredBackgroundLocationsOptions.hpp +95 -0
  195. package/nitrogen/generated/shared/c++/HybridNitroBackgroundLocationSpec.cpp +47 -0
  196. package/nitrogen/generated/shared/c++/HybridNitroBackgroundLocationSpec.hpp +133 -0
  197. package/nitrogen/generated/shared/c++/IOSBackgroundActivityType.hpp +88 -0
  198. package/nitrogen/generated/shared/c++/IOSBackgroundLocationOptions.hpp +105 -0
  199. package/nitrogen/generated/shared/c++/IOSBackgroundLocationStatus.hpp +87 -0
  200. package/nitrogen/generated/shared/c++/LocationProviderStatus.hpp +5 -1
  201. package/nitrogen/generated/shared/c++/StoredBackgroundEventEnvelope.hpp +108 -0
  202. package/nitrogen/generated/shared/c++/StoredBackgroundLocation.hpp +146 -0
  203. package/package.json +17 -6
  204. package/src/NitroGeolocation.nitro.ts +4 -4
  205. package/src/api/getCurrentPosition.ts +1 -1
  206. package/src/api/requestLocationSettings.ts +3 -2
  207. package/src/background/NitroBackgroundLocation.nitro.ts +83 -0
  208. package/src/background/index.ts +200 -0
  209. package/src/background/index.web.ts +120 -0
  210. package/src/background/task.ts +13 -0
  211. package/src/background/types.ts +328 -0
  212. package/src/compat/index.web.ts +141 -0
  213. package/src/index.tsx +3 -0
  214. package/src/index.web.tsx +41 -0
  215. package/src/publicTypes.ts +6 -5
  216. package/src/types.ts +3 -0
  217. package/src/web/browser.ts +171 -0
  218. package/src/web/index.ts +167 -0
  219. package/src/web/useWatchPosition.ts +76 -0
  220. package/src/web/watch.ts +81 -0
  221. package/src/devtools/index.test.ts +0 -54
  222. package/src/utils/errors.test.ts +0 -65
  223. package/src/utils/provider.test.ts +0 -303
@@ -0,0 +1,662 @@
1
+ ///
2
+ /// JHybridNitroBackgroundLocationSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JHybridNitroBackgroundLocationSpec.hpp"
9
+
10
+ // Forward declaration of `BackgroundPermissionResult` to properly resolve imports.
11
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundPermissionResult; }
12
+ // Forward declaration of `PermissionStatus` to properly resolve imports.
13
+ namespace margelo::nitro::nitrogeolocation { enum class PermissionStatus; }
14
+ // Forward declaration of `BackgroundPermissionStatus` to properly resolve imports.
15
+ namespace margelo::nitro::nitrogeolocation { enum class BackgroundPermissionStatus; }
16
+ // Forward declaration of `AccuracyAuthorization` to properly resolve imports.
17
+ namespace margelo::nitro::nitrogeolocation { enum class AccuracyAuthorization; }
18
+ // Forward declaration of `BackgroundLocationOptions` to properly resolve imports.
19
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundLocationOptions; }
20
+ // Forward declaration of `BackgroundTrackingMode` to properly resolve imports.
21
+ namespace margelo::nitro::nitrogeolocation { enum class BackgroundTrackingMode; }
22
+ // Forward declaration of `LocationAccuracyOptions` to properly resolve imports.
23
+ namespace margelo::nitro::nitrogeolocation { struct LocationAccuracyOptions; }
24
+ // Forward declaration of `AndroidAccuracyPreset` to properly resolve imports.
25
+ namespace margelo::nitro::nitrogeolocation { enum class AndroidAccuracyPreset; }
26
+ // Forward declaration of `IOSAccuracyPreset` to properly resolve imports.
27
+ namespace margelo::nitro::nitrogeolocation { enum class IOSAccuracyPreset; }
28
+ // Forward declaration of `AndroidGranularity` to properly resolve imports.
29
+ namespace margelo::nitro::nitrogeolocation { enum class AndroidGranularity; }
30
+ // Forward declaration of `AndroidBackgroundLocationOptions` to properly resolve imports.
31
+ namespace margelo::nitro::nitrogeolocation { struct AndroidBackgroundLocationOptions; }
32
+ // Forward declaration of `AndroidBackgroundProvider` to properly resolve imports.
33
+ namespace margelo::nitro::nitrogeolocation { enum class AndroidBackgroundProvider; }
34
+ // Forward declaration of `AndroidForegroundServiceOptions` to properly resolve imports.
35
+ namespace margelo::nitro::nitrogeolocation { struct AndroidForegroundServiceOptions; }
36
+ // Forward declaration of `IOSBackgroundLocationOptions` to properly resolve imports.
37
+ namespace margelo::nitro::nitrogeolocation { struct IOSBackgroundLocationOptions; }
38
+ // Forward declaration of `IOSBackgroundActivityType` to properly resolve imports.
39
+ namespace margelo::nitro::nitrogeolocation { enum class IOSBackgroundActivityType; }
40
+ // Forward declaration of `GeofencingOptions` to properly resolve imports.
41
+ namespace margelo::nitro::nitrogeolocation { struct GeofencingOptions; }
42
+ // Forward declaration of `GeofenceTransition` to properly resolve imports.
43
+ namespace margelo::nitro::nitrogeolocation { enum class GeofenceTransition; }
44
+ // Forward declaration of `ActivityRecognitionOptions` to properly resolve imports.
45
+ namespace margelo::nitro::nitrogeolocation { struct ActivityRecognitionOptions; }
46
+ // Forward declaration of `BackgroundHttpSyncOptions` to properly resolve imports.
47
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundHttpSyncOptions; }
48
+ // Forward declaration of `BackgroundHttpMethod` to properly resolve imports.
49
+ namespace margelo::nitro::nitrogeolocation { enum class BackgroundHttpMethod; }
50
+ // Forward declaration of `BackgroundLocationStatus` to properly resolve imports.
51
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundLocationStatus; }
52
+ // Forward declaration of `BackgroundLocationState` to properly resolve imports.
53
+ namespace margelo::nitro::nitrogeolocation { enum class BackgroundLocationState; }
54
+ // Forward declaration of `LocationProviderStatus` to properly resolve imports.
55
+ namespace margelo::nitro::nitrogeolocation { struct LocationProviderStatus; }
56
+ // Forward declaration of `AndroidBackgroundLocationStatus` to properly resolve imports.
57
+ namespace margelo::nitro::nitrogeolocation { struct AndroidBackgroundLocationStatus; }
58
+ // Forward declaration of `IOSBackgroundLocationStatus` to properly resolve imports.
59
+ namespace margelo::nitro::nitrogeolocation { struct IOSBackgroundLocationStatus; }
60
+ // Forward declaration of `LocationError` to properly resolve imports.
61
+ namespace margelo::nitro::nitrogeolocation { struct LocationError; }
62
+ // Forward declaration of `StoredBackgroundLocation` to properly resolve imports.
63
+ namespace margelo::nitro::nitrogeolocation { struct StoredBackgroundLocation; }
64
+ // Forward declaration of `BackgroundLocationSource` to properly resolve imports.
65
+ namespace margelo::nitro::nitrogeolocation { enum class BackgroundLocationSource; }
66
+ // Forward declaration of `LocationProviderUsed` to properly resolve imports.
67
+ namespace margelo::nitro::nitrogeolocation { enum class LocationProviderUsed; }
68
+ // Forward declaration of `DetectedActivity` to properly resolve imports.
69
+ namespace margelo::nitro::nitrogeolocation { struct DetectedActivity; }
70
+ // Forward declaration of `DetectedActivityType` to properly resolve imports.
71
+ namespace margelo::nitro::nitrogeolocation { enum class DetectedActivityType; }
72
+ // Forward declaration of `BatterySnapshot` to properly resolve imports.
73
+ namespace margelo::nitro::nitrogeolocation { struct BatterySnapshot; }
74
+ // Forward declaration of `GeolocationCoordinates` to properly resolve imports.
75
+ namespace margelo::nitro::nitrogeolocation { struct GeolocationCoordinates; }
76
+ // Forward declaration of `StoredBackgroundEventEnvelope` to properly resolve imports.
77
+ namespace margelo::nitro::nitrogeolocation { struct StoredBackgroundEventEnvelope; }
78
+ // Forward declaration of `BackgroundEventEnvelope` to properly resolve imports.
79
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundEventEnvelope; }
80
+ // Forward declaration of `BackgroundLocation` to properly resolve imports.
81
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundLocation; }
82
+ // Forward declaration of `GeofenceEvent` to properly resolve imports.
83
+ namespace margelo::nitro::nitrogeolocation { struct GeofenceEvent; }
84
+ // Forward declaration of `GeofenceRegion` to properly resolve imports.
85
+ namespace margelo::nitro::nitrogeolocation { struct GeofenceRegion; }
86
+ // Forward declaration of `BackgroundHttpSyncResult` to properly resolve imports.
87
+ namespace margelo::nitro::nitrogeolocation { struct BackgroundHttpSyncResult; }
88
+ // Forward declaration of `BackgroundEventType` to properly resolve imports.
89
+ namespace margelo::nitro::nitrogeolocation { enum class BackgroundEventType; }
90
+ // Forward declaration of `GetStoredBackgroundLocationsOptions` to properly resolve imports.
91
+ namespace margelo::nitro::nitrogeolocation { struct GetStoredBackgroundLocationsOptions; }
92
+ // Forward declaration of `GetStoredBackgroundEventsOptions` to properly resolve imports.
93
+ namespace margelo::nitro::nitrogeolocation { struct GetStoredBackgroundEventsOptions; }
94
+
95
+ #include "BackgroundPermissionResult.hpp"
96
+ #include <NitroModules/Promise.hpp>
97
+ #include <NitroModules/JPromise.hpp>
98
+ #include "JBackgroundPermissionResult.hpp"
99
+ #include "PermissionStatus.hpp"
100
+ #include "JPermissionStatus.hpp"
101
+ #include "BackgroundPermissionStatus.hpp"
102
+ #include "JBackgroundPermissionStatus.hpp"
103
+ #include "AccuracyAuthorization.hpp"
104
+ #include <optional>
105
+ #include "JAccuracyAuthorization.hpp"
106
+ #include <NitroModules/JUnit.hpp>
107
+ #include "BackgroundLocationOptions.hpp"
108
+ #include "JBackgroundLocationOptions.hpp"
109
+ #include "BackgroundTrackingMode.hpp"
110
+ #include "JBackgroundTrackingMode.hpp"
111
+ #include "LocationAccuracyOptions.hpp"
112
+ #include "JLocationAccuracyOptions.hpp"
113
+ #include "AndroidAccuracyPreset.hpp"
114
+ #include "JAndroidAccuracyPreset.hpp"
115
+ #include "IOSAccuracyPreset.hpp"
116
+ #include "JIOSAccuracyPreset.hpp"
117
+ #include "AndroidGranularity.hpp"
118
+ #include "JAndroidGranularity.hpp"
119
+ #include "AndroidBackgroundLocationOptions.hpp"
120
+ #include "JAndroidBackgroundLocationOptions.hpp"
121
+ #include "AndroidBackgroundProvider.hpp"
122
+ #include "JAndroidBackgroundProvider.hpp"
123
+ #include "AndroidForegroundServiceOptions.hpp"
124
+ #include "JAndroidForegroundServiceOptions.hpp"
125
+ #include <string>
126
+ #include "IOSBackgroundLocationOptions.hpp"
127
+ #include "JIOSBackgroundLocationOptions.hpp"
128
+ #include "IOSBackgroundActivityType.hpp"
129
+ #include "JIOSBackgroundActivityType.hpp"
130
+ #include "GeofencingOptions.hpp"
131
+ #include "JGeofencingOptions.hpp"
132
+ #include "GeofenceTransition.hpp"
133
+ #include <vector>
134
+ #include "JGeofenceTransition.hpp"
135
+ #include "ActivityRecognitionOptions.hpp"
136
+ #include "JActivityRecognitionOptions.hpp"
137
+ #include "BackgroundHttpSyncOptions.hpp"
138
+ #include "JBackgroundHttpSyncOptions.hpp"
139
+ #include "BackgroundHttpMethod.hpp"
140
+ #include "JBackgroundHttpMethod.hpp"
141
+ #include <unordered_map>
142
+ #include <NitroModules/Null.hpp>
143
+ #include <variant>
144
+ #include "JVariant_NullType_Boolean_String_Double.hpp"
145
+ #include <NitroModules/JNull.hpp>
146
+ #include "BackgroundLocationStatus.hpp"
147
+ #include "JBackgroundLocationStatus.hpp"
148
+ #include "BackgroundLocationState.hpp"
149
+ #include "JBackgroundLocationState.hpp"
150
+ #include "LocationProviderStatus.hpp"
151
+ #include "JLocationProviderStatus.hpp"
152
+ #include "AndroidBackgroundLocationStatus.hpp"
153
+ #include "JAndroidBackgroundLocationStatus.hpp"
154
+ #include "IOSBackgroundLocationStatus.hpp"
155
+ #include "JIOSBackgroundLocationStatus.hpp"
156
+ #include "LocationError.hpp"
157
+ #include "JLocationError.hpp"
158
+ #include "StoredBackgroundLocation.hpp"
159
+ #include "JStoredBackgroundLocation.hpp"
160
+ #include "BackgroundLocationSource.hpp"
161
+ #include "JBackgroundLocationSource.hpp"
162
+ #include "LocationProviderUsed.hpp"
163
+ #include "JLocationProviderUsed.hpp"
164
+ #include "DetectedActivity.hpp"
165
+ #include "JDetectedActivity.hpp"
166
+ #include "DetectedActivityType.hpp"
167
+ #include "JDetectedActivityType.hpp"
168
+ #include "BatterySnapshot.hpp"
169
+ #include "JBatterySnapshot.hpp"
170
+ #include "GeolocationCoordinates.hpp"
171
+ #include "JGeolocationCoordinates.hpp"
172
+ #include "JNullableDouble.hpp"
173
+ #include "StoredBackgroundEventEnvelope.hpp"
174
+ #include "JStoredBackgroundEventEnvelope.hpp"
175
+ #include "BackgroundEventEnvelope.hpp"
176
+ #include "JBackgroundEventEnvelope.hpp"
177
+ #include "BackgroundLocation.hpp"
178
+ #include "JBackgroundLocation.hpp"
179
+ #include "GeofenceEvent.hpp"
180
+ #include "JGeofenceEvent.hpp"
181
+ #include "GeofenceRegion.hpp"
182
+ #include "JGeofenceRegion.hpp"
183
+ #include "BackgroundHttpSyncResult.hpp"
184
+ #include "JBackgroundHttpSyncResult.hpp"
185
+ #include "BackgroundEventType.hpp"
186
+ #include "JBackgroundEventType.hpp"
187
+ #include <functional>
188
+ #include "JFunc_void_BackgroundEventEnvelope.hpp"
189
+ #include <NitroModules/JNICallable.hpp>
190
+ #include "JFunc_void_BackgroundLocation.hpp"
191
+ #include "JFunc_void_LocationError.hpp"
192
+ #include "GetStoredBackgroundLocationsOptions.hpp"
193
+ #include "JGetStoredBackgroundLocationsOptions.hpp"
194
+ #include "GetStoredBackgroundEventsOptions.hpp"
195
+ #include "JGetStoredBackgroundEventsOptions.hpp"
196
+
197
+ namespace margelo::nitro::nitrogeolocation {
198
+
199
+ std::shared_ptr<JHybridNitroBackgroundLocationSpec> JHybridNitroBackgroundLocationSpec::JavaPart::getJHybridNitroBackgroundLocationSpec() {
200
+ auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
201
+ auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroBackgroundLocationSpec>(hybridObject);
202
+ if (castHybridObject == nullptr) [[unlikely]] {
203
+ throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroBackgroundLocationSpec!");
204
+ }
205
+ return castHybridObject;
206
+ }
207
+
208
+ jni::local_ref<JHybridNitroBackgroundLocationSpec::CxxPart::jhybriddata> JHybridNitroBackgroundLocationSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
209
+ return makeCxxInstance(jThis);
210
+ }
211
+
212
+ std::shared_ptr<JHybridObject> JHybridNitroBackgroundLocationSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
213
+ auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroBackgroundLocationSpec::JavaPart>(javaPart);
214
+ if (castJavaPart == nullptr) [[unlikely]] {
215
+ throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroBackgroundLocationSpec::JavaPart!");
216
+ }
217
+ return std::make_shared<JHybridNitroBackgroundLocationSpec>(castJavaPart);
218
+ }
219
+
220
+ void JHybridNitroBackgroundLocationSpec::CxxPart::registerNatives() {
221
+ registerHybrid({
222
+ makeNativeMethod("initHybrid", JHybridNitroBackgroundLocationSpec::CxxPart::initHybrid),
223
+ });
224
+ }
225
+
226
+ // Properties
227
+
228
+
229
+ // Methods
230
+ std::shared_ptr<Promise<BackgroundPermissionResult>> JHybridNitroBackgroundLocationSpec::checkBackgroundPermission() {
231
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("checkBackgroundPermission");
232
+ auto __result = method(_javaPart);
233
+ return [&]() {
234
+ auto __promise = Promise<BackgroundPermissionResult>::create();
235
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
236
+ auto __result = jni::static_ref_cast<JBackgroundPermissionResult>(__boxedResult);
237
+ __promise->resolve(__result->toCpp());
238
+ });
239
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
240
+ jni::JniException __jniError(__throwable);
241
+ __promise->reject(std::make_exception_ptr(__jniError));
242
+ });
243
+ return __promise;
244
+ }();
245
+ }
246
+ std::shared_ptr<Promise<BackgroundPermissionResult>> JHybridNitroBackgroundLocationSpec::requestBackgroundPermission() {
247
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("requestBackgroundPermission");
248
+ auto __result = method(_javaPart);
249
+ return [&]() {
250
+ auto __promise = Promise<BackgroundPermissionResult>::create();
251
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
252
+ auto __result = jni::static_ref_cast<JBackgroundPermissionResult>(__boxedResult);
253
+ __promise->resolve(__result->toCpp());
254
+ });
255
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
256
+ jni::JniException __jniError(__throwable);
257
+ __promise->reject(std::make_exception_ptr(__jniError));
258
+ });
259
+ return __promise;
260
+ }();
261
+ }
262
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::openAppLocationSettings() {
263
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("openAppLocationSettings");
264
+ auto __result = method(_javaPart);
265
+ return [&]() {
266
+ auto __promise = Promise<void>::create();
267
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
268
+ __promise->resolve();
269
+ });
270
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
271
+ jni::JniException __jniError(__throwable);
272
+ __promise->reject(std::make_exception_ptr(__jniError));
273
+ });
274
+ return __promise;
275
+ }();
276
+ }
277
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::configureBackgroundLocation(const BackgroundLocationOptions& options) {
278
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBackgroundLocationOptions> /* options */)>("configureBackgroundLocation");
279
+ auto __result = method(_javaPart, JBackgroundLocationOptions::fromCpp(options));
280
+ return [&]() {
281
+ auto __promise = Promise<void>::create();
282
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
283
+ __promise->resolve();
284
+ });
285
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
286
+ jni::JniException __jniError(__throwable);
287
+ __promise->reject(std::make_exception_ptr(__jniError));
288
+ });
289
+ return __promise;
290
+ }();
291
+ }
292
+ std::shared_ptr<Promise<std::optional<BackgroundLocationOptions>>> JHybridNitroBackgroundLocationSpec::getBackgroundConfiguration() {
293
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getBackgroundConfiguration");
294
+ auto __result = method(_javaPart);
295
+ return [&]() {
296
+ auto __promise = Promise<std::optional<BackgroundLocationOptions>>::create();
297
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
298
+ auto __result = jni::static_ref_cast<JBackgroundLocationOptions>(__boxedResult);
299
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt);
300
+ });
301
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
302
+ jni::JniException __jniError(__throwable);
303
+ __promise->reject(std::make_exception_ptr(__jniError));
304
+ });
305
+ return __promise;
306
+ }();
307
+ }
308
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::startBackgroundLocation(const std::optional<BackgroundLocationOptions>& options) {
309
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBackgroundLocationOptions> /* options */)>("startBackgroundLocation");
310
+ auto __result = method(_javaPart, options.has_value() ? JBackgroundLocationOptions::fromCpp(options.value()) : nullptr);
311
+ return [&]() {
312
+ auto __promise = Promise<void>::create();
313
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
314
+ __promise->resolve();
315
+ });
316
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
317
+ jni::JniException __jniError(__throwable);
318
+ __promise->reject(std::make_exception_ptr(__jniError));
319
+ });
320
+ return __promise;
321
+ }();
322
+ }
323
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::stopBackgroundLocation() {
324
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("stopBackgroundLocation");
325
+ auto __result = method(_javaPart);
326
+ return [&]() {
327
+ auto __promise = Promise<void>::create();
328
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
329
+ __promise->resolve();
330
+ });
331
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
332
+ jni::JniException __jniError(__throwable);
333
+ __promise->reject(std::make_exception_ptr(__jniError));
334
+ });
335
+ return __promise;
336
+ }();
337
+ }
338
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::resetBackgroundLocation() {
339
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("resetBackgroundLocation");
340
+ auto __result = method(_javaPart);
341
+ return [&]() {
342
+ auto __promise = Promise<void>::create();
343
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
344
+ __promise->resolve();
345
+ });
346
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
347
+ jni::JniException __jniError(__throwable);
348
+ __promise->reject(std::make_exception_ptr(__jniError));
349
+ });
350
+ return __promise;
351
+ }();
352
+ }
353
+ std::shared_ptr<Promise<BackgroundLocationStatus>> JHybridNitroBackgroundLocationSpec::getBackgroundLocationStatus() {
354
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getBackgroundLocationStatus");
355
+ auto __result = method(_javaPart);
356
+ return [&]() {
357
+ auto __promise = Promise<BackgroundLocationStatus>::create();
358
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
359
+ auto __result = jni::static_ref_cast<JBackgroundLocationStatus>(__boxedResult);
360
+ __promise->resolve(__result->toCpp());
361
+ });
362
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
363
+ jni::JniException __jniError(__throwable);
364
+ __promise->reject(std::make_exception_ptr(__jniError));
365
+ });
366
+ return __promise;
367
+ }();
368
+ }
369
+ std::string JHybridNitroBackgroundLocationSpec::addBackgroundEventListener(const std::function<void(const BackgroundEventEnvelope& /* event */)>& listener) {
370
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JFunc_void_BackgroundEventEnvelope::javaobject> /* listener */)>("addBackgroundEventListener_cxx");
371
+ auto __result = method(_javaPart, JFunc_void_BackgroundEventEnvelope_cxx::fromCpp(listener));
372
+ return __result->toStdString();
373
+ }
374
+ void JHybridNitroBackgroundLocationSpec::removeBackgroundEventListener(const std::string& token) {
375
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* token */)>("removeBackgroundEventListener");
376
+ method(_javaPart, jni::make_jstring(token));
377
+ }
378
+ std::string JHybridNitroBackgroundLocationSpec::addBackgroundLocationListener(const std::function<void(const BackgroundLocation& /* location */)>& listener) {
379
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JFunc_void_BackgroundLocation::javaobject> /* listener */)>("addBackgroundLocationListener_cxx");
380
+ auto __result = method(_javaPart, JFunc_void_BackgroundLocation_cxx::fromCpp(listener));
381
+ return __result->toStdString();
382
+ }
383
+ void JHybridNitroBackgroundLocationSpec::removeBackgroundLocationListener(const std::string& token) {
384
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* token */)>("removeBackgroundLocationListener");
385
+ method(_javaPart, jni::make_jstring(token));
386
+ }
387
+ std::string JHybridNitroBackgroundLocationSpec::addBackgroundErrorListener(const std::function<void(const LocationError& /* error */)>& listener) {
388
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JFunc_void_LocationError::javaobject> /* listener */)>("addBackgroundErrorListener_cxx");
389
+ auto __result = method(_javaPart, JFunc_void_LocationError_cxx::fromCpp(listener));
390
+ return __result->toStdString();
391
+ }
392
+ void JHybridNitroBackgroundLocationSpec::removeBackgroundErrorListener(const std::string& token) {
393
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* token */)>("removeBackgroundErrorListener");
394
+ method(_javaPart, jni::make_jstring(token));
395
+ }
396
+ std::shared_ptr<Promise<std::vector<StoredBackgroundLocation>>> JHybridNitroBackgroundLocationSpec::getStoredBackgroundLocations(const std::optional<GetStoredBackgroundLocationsOptions>& options) {
397
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JGetStoredBackgroundLocationsOptions> /* options */)>("getStoredBackgroundLocations");
398
+ auto __result = method(_javaPart, options.has_value() ? JGetStoredBackgroundLocationsOptions::fromCpp(options.value()) : nullptr);
399
+ return [&]() {
400
+ auto __promise = Promise<std::vector<StoredBackgroundLocation>>::create();
401
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
402
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JStoredBackgroundLocation>>(__boxedResult);
403
+ __promise->resolve([&](auto&& __input) {
404
+ size_t __size = __input->size();
405
+ std::vector<StoredBackgroundLocation> __vector;
406
+ __vector.reserve(__size);
407
+ for (size_t __i = 0; __i < __size; __i++) {
408
+ auto __element = __input->getElement(__i);
409
+ __vector.push_back(__element->toCpp());
410
+ }
411
+ return __vector;
412
+ }(__result));
413
+ });
414
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
415
+ jni::JniException __jniError(__throwable);
416
+ __promise->reject(std::make_exception_ptr(__jniError));
417
+ });
418
+ return __promise;
419
+ }();
420
+ }
421
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::clearStoredBackgroundLocations(const std::optional<std::vector<std::string>>& ids) {
422
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<jni::JString>> /* ids */)>("clearStoredBackgroundLocations");
423
+ auto __result = method(_javaPart, ids.has_value() ? [&](auto&& __input) {
424
+ size_t __size = __input.size();
425
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
426
+ for (size_t __i = 0; __i < __size; __i++) {
427
+ const auto& __element = __input[__i];
428
+ auto __elementJni = jni::make_jstring(__element);
429
+ __array->setElement(__i, *__elementJni);
430
+ }
431
+ return __array;
432
+ }(ids.value()) : nullptr);
433
+ return [&]() {
434
+ auto __promise = Promise<void>::create();
435
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
436
+ __promise->resolve();
437
+ });
438
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
439
+ jni::JniException __jniError(__throwable);
440
+ __promise->reject(std::make_exception_ptr(__jniError));
441
+ });
442
+ return __promise;
443
+ }();
444
+ }
445
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::markStoredBackgroundLocationsDelivered(const std::vector<std::string>& ids) {
446
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<jni::JString>> /* ids */)>("markStoredBackgroundLocationsDelivered");
447
+ auto __result = method(_javaPart, [&](auto&& __input) {
448
+ size_t __size = __input.size();
449
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
450
+ for (size_t __i = 0; __i < __size; __i++) {
451
+ const auto& __element = __input[__i];
452
+ auto __elementJni = jni::make_jstring(__element);
453
+ __array->setElement(__i, *__elementJni);
454
+ }
455
+ return __array;
456
+ }(ids));
457
+ return [&]() {
458
+ auto __promise = Promise<void>::create();
459
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
460
+ __promise->resolve();
461
+ });
462
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
463
+ jni::JniException __jniError(__throwable);
464
+ __promise->reject(std::make_exception_ptr(__jniError));
465
+ });
466
+ return __promise;
467
+ }();
468
+ }
469
+ std::shared_ptr<Promise<std::vector<StoredBackgroundEventEnvelope>>> JHybridNitroBackgroundLocationSpec::getStoredBackgroundEvents(const std::optional<GetStoredBackgroundEventsOptions>& options) {
470
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JGetStoredBackgroundEventsOptions> /* options */)>("getStoredBackgroundEvents");
471
+ auto __result = method(_javaPart, options.has_value() ? JGetStoredBackgroundEventsOptions::fromCpp(options.value()) : nullptr);
472
+ return [&]() {
473
+ auto __promise = Promise<std::vector<StoredBackgroundEventEnvelope>>::create();
474
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
475
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JStoredBackgroundEventEnvelope>>(__boxedResult);
476
+ __promise->resolve([&](auto&& __input) {
477
+ size_t __size = __input->size();
478
+ std::vector<StoredBackgroundEventEnvelope> __vector;
479
+ __vector.reserve(__size);
480
+ for (size_t __i = 0; __i < __size; __i++) {
481
+ auto __element = __input->getElement(__i);
482
+ __vector.push_back(__element->toCpp());
483
+ }
484
+ return __vector;
485
+ }(__result));
486
+ });
487
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
488
+ jni::JniException __jniError(__throwable);
489
+ __promise->reject(std::make_exception_ptr(__jniError));
490
+ });
491
+ return __promise;
492
+ }();
493
+ }
494
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::clearStoredBackgroundEvents(const std::optional<std::vector<std::string>>& ids) {
495
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<jni::JString>> /* ids */)>("clearStoredBackgroundEvents");
496
+ auto __result = method(_javaPart, ids.has_value() ? [&](auto&& __input) {
497
+ size_t __size = __input.size();
498
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
499
+ for (size_t __i = 0; __i < __size; __i++) {
500
+ const auto& __element = __input[__i];
501
+ auto __elementJni = jni::make_jstring(__element);
502
+ __array->setElement(__i, *__elementJni);
503
+ }
504
+ return __array;
505
+ }(ids.value()) : nullptr);
506
+ return [&]() {
507
+ auto __promise = Promise<void>::create();
508
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
509
+ __promise->resolve();
510
+ });
511
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
512
+ jni::JniException __jniError(__throwable);
513
+ __promise->reject(std::make_exception_ptr(__jniError));
514
+ });
515
+ return __promise;
516
+ }();
517
+ }
518
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::markStoredBackgroundEventsDelivered(const std::vector<std::string>& ids) {
519
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<jni::JString>> /* ids */)>("markStoredBackgroundEventsDelivered");
520
+ auto __result = method(_javaPart, [&](auto&& __input) {
521
+ size_t __size = __input.size();
522
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
523
+ for (size_t __i = 0; __i < __size; __i++) {
524
+ const auto& __element = __input[__i];
525
+ auto __elementJni = jni::make_jstring(__element);
526
+ __array->setElement(__i, *__elementJni);
527
+ }
528
+ return __array;
529
+ }(ids));
530
+ return [&]() {
531
+ auto __promise = Promise<void>::create();
532
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
533
+ __promise->resolve();
534
+ });
535
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
536
+ jni::JniException __jniError(__throwable);
537
+ __promise->reject(std::make_exception_ptr(__jniError));
538
+ });
539
+ return __promise;
540
+ }();
541
+ }
542
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::addGeofences(const std::vector<GeofenceRegion>& regions, const std::optional<GeofencingOptions>& options) {
543
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<JGeofenceRegion>> /* regions */, jni::alias_ref<JGeofencingOptions> /* options */)>("addGeofences");
544
+ auto __result = method(_javaPart, [&](auto&& __input) {
545
+ size_t __size = __input.size();
546
+ jni::local_ref<jni::JArrayClass<JGeofenceRegion>> __array = jni::JArrayClass<JGeofenceRegion>::newArray(__size);
547
+ for (size_t __i = 0; __i < __size; __i++) {
548
+ const auto& __element = __input[__i];
549
+ auto __elementJni = JGeofenceRegion::fromCpp(__element);
550
+ __array->setElement(__i, *__elementJni);
551
+ }
552
+ return __array;
553
+ }(regions), options.has_value() ? JGeofencingOptions::fromCpp(options.value()) : nullptr);
554
+ return [&]() {
555
+ auto __promise = Promise<void>::create();
556
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
557
+ __promise->resolve();
558
+ });
559
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
560
+ jni::JniException __jniError(__throwable);
561
+ __promise->reject(std::make_exception_ptr(__jniError));
562
+ });
563
+ return __promise;
564
+ }();
565
+ }
566
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::removeGeofences(const std::optional<std::vector<std::string>>& identifiers) {
567
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<jni::JString>> /* identifiers */)>("removeGeofences");
568
+ auto __result = method(_javaPart, identifiers.has_value() ? [&](auto&& __input) {
569
+ size_t __size = __input.size();
570
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
571
+ for (size_t __i = 0; __i < __size; __i++) {
572
+ const auto& __element = __input[__i];
573
+ auto __elementJni = jni::make_jstring(__element);
574
+ __array->setElement(__i, *__elementJni);
575
+ }
576
+ return __array;
577
+ }(identifiers.value()) : nullptr);
578
+ return [&]() {
579
+ auto __promise = Promise<void>::create();
580
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
581
+ __promise->resolve();
582
+ });
583
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
584
+ jni::JniException __jniError(__throwable);
585
+ __promise->reject(std::make_exception_ptr(__jniError));
586
+ });
587
+ return __promise;
588
+ }();
589
+ }
590
+ std::shared_ptr<Promise<std::vector<GeofenceRegion>>> JHybridNitroBackgroundLocationSpec::getRegisteredGeofences() {
591
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getRegisteredGeofences");
592
+ auto __result = method(_javaPart);
593
+ return [&]() {
594
+ auto __promise = Promise<std::vector<GeofenceRegion>>::create();
595
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
596
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JGeofenceRegion>>(__boxedResult);
597
+ __promise->resolve([&](auto&& __input) {
598
+ size_t __size = __input->size();
599
+ std::vector<GeofenceRegion> __vector;
600
+ __vector.reserve(__size);
601
+ for (size_t __i = 0; __i < __size; __i++) {
602
+ auto __element = __input->getElement(__i);
603
+ __vector.push_back(__element->toCpp());
604
+ }
605
+ return __vector;
606
+ }(__result));
607
+ });
608
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
609
+ jni::JniException __jniError(__throwable);
610
+ __promise->reject(std::make_exception_ptr(__jniError));
611
+ });
612
+ return __promise;
613
+ }();
614
+ }
615
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::startActivityRecognition(const std::optional<ActivityRecognitionOptions>& options) {
616
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JActivityRecognitionOptions> /* options */)>("startActivityRecognition");
617
+ auto __result = method(_javaPart, options.has_value() ? JActivityRecognitionOptions::fromCpp(options.value()) : nullptr);
618
+ return [&]() {
619
+ auto __promise = Promise<void>::create();
620
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
621
+ __promise->resolve();
622
+ });
623
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
624
+ jni::JniException __jniError(__throwable);
625
+ __promise->reject(std::make_exception_ptr(__jniError));
626
+ });
627
+ return __promise;
628
+ }();
629
+ }
630
+ std::shared_ptr<Promise<void>> JHybridNitroBackgroundLocationSpec::stopActivityRecognition() {
631
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("stopActivityRecognition");
632
+ auto __result = method(_javaPart);
633
+ return [&]() {
634
+ auto __promise = Promise<void>::create();
635
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
636
+ __promise->resolve();
637
+ });
638
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
639
+ jni::JniException __jniError(__throwable);
640
+ __promise->reject(std::make_exception_ptr(__jniError));
641
+ });
642
+ return __promise;
643
+ }();
644
+ }
645
+ std::shared_ptr<Promise<BackgroundHttpSyncResult>> JHybridNitroBackgroundLocationSpec::syncStoredLocations() {
646
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("syncStoredLocations");
647
+ auto __result = method(_javaPart);
648
+ return [&]() {
649
+ auto __promise = Promise<BackgroundHttpSyncResult>::create();
650
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
651
+ auto __result = jni::static_ref_cast<JBackgroundHttpSyncResult>(__boxedResult);
652
+ __promise->resolve(__result->toCpp());
653
+ });
654
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
655
+ jni::JniException __jniError(__throwable);
656
+ __promise->reject(std::make_exception_ptr(__jniError));
657
+ });
658
+ return __promise;
659
+ }();
660
+ }
661
+
662
+ } // namespace margelo::nitro::nitrogeolocation