react-native-nitro-geolocation 1.1.4 → 1.2.1

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 (186) hide show
  1. package/README.md +97 -9
  2. package/android/build.gradle +6 -0
  3. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidAccuracy.kt +105 -0
  4. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidHeadingManager.kt +313 -0
  5. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidLocationSettings.kt +313 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/GetCurrentPosition.kt +46 -45
  7. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/LocationMetadata.kt +26 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/LocationValues.kt +31 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocation.kt +1027 -140
  10. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocationCompat.kt +11 -11
  11. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/RequestAuthorization.kt +6 -6
  12. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/WatchPosition.kt +46 -45
  13. package/ios/CLLocation+GeolocationMetadata.swift +32 -0
  14. package/ios/LocationManager.swift +205 -51
  15. package/ios/NitroGeolocation.swift +949 -110
  16. package/ios/NitroGeolocationCompat.swift +7 -7
  17. package/nitrogen/generated/android/c++/JAccuracyAuthorization.hpp +61 -0
  18. package/nitrogen/generated/android/c++/JAndroidAccuracyPreset.hpp +64 -0
  19. package/nitrogen/generated/android/c++/JAndroidGranularity.hpp +61 -0
  20. package/nitrogen/generated/android/c++/{JRNConfigurationInternal.hpp → JCompatGeolocationConfigurationInternal.hpp} +10 -10
  21. package/nitrogen/generated/android/c++/{JGeolocationError.hpp → JCompatGeolocationError.hpp} +10 -10
  22. package/nitrogen/generated/android/c++/JCompatGeolocationOptions.hpp +105 -0
  23. package/nitrogen/generated/android/c++/JCompatGeolocationResponse.hpp +67 -0
  24. package/nitrogen/generated/android/c++/JFunc_void_AccuracyAuthorization.hpp +77 -0
  25. package/nitrogen/generated/android/c++/JFunc_void_CompatGeolocationError.hpp +78 -0
  26. package/nitrogen/generated/android/c++/JFunc_void_CompatGeolocationResponse.hpp +84 -0
  27. package/nitrogen/generated/android/c++/JFunc_void_GeolocationResponse.hpp +2 -0
  28. package/nitrogen/generated/android/c++/JFunc_void_Heading.hpp +78 -0
  29. package/nitrogen/generated/android/c++/JFunc_void_LocationProviderStatus.hpp +78 -0
  30. package/nitrogen/generated/android/c++/JFunc_void_PermissionStatus.hpp +77 -0
  31. package/nitrogen/generated/android/c++/JFunc_void_std__vector_GeocodedLocation_.hpp +97 -0
  32. package/nitrogen/generated/android/c++/JFunc_void_std__vector_ReverseGeocodedAddress_.hpp +98 -0
  33. package/nitrogen/generated/android/c++/JGeocodedLocation.hpp +65 -0
  34. package/nitrogen/generated/android/c++/JGeocodingCoordinates.hpp +61 -0
  35. package/nitrogen/generated/android/c++/{JModernGeolocationConfiguration.hpp → JGeolocationConfiguration.hpp} +10 -10
  36. package/nitrogen/generated/android/c++/JGeolocationResponse.hpp +13 -3
  37. package/nitrogen/generated/android/c++/JHeading.hpp +69 -0
  38. package/nitrogen/generated/android/c++/JHeadingOptions.hpp +57 -0
  39. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.cpp +46 -30
  40. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.hpp +4 -4
  41. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.cpp +169 -33
  42. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.hpp +14 -3
  43. package/nitrogen/generated/android/c++/JIOSAccuracyPreset.hpp +73 -0
  44. package/nitrogen/generated/android/c++/JIOSActivityType.hpp +67 -0
  45. package/nitrogen/generated/android/c++/JLocationAccuracyOptions.hpp +65 -0
  46. package/nitrogen/generated/android/c++/JLocationAvailability.hpp +62 -0
  47. package/nitrogen/generated/android/c++/JLocationProviderStatus.hpp +77 -0
  48. package/nitrogen/generated/android/c++/JLocationProviderUsed.hpp +67 -0
  49. package/nitrogen/generated/android/c++/JLocationRequestOptions.hpp +49 -3
  50. package/nitrogen/generated/android/c++/{JGeolocationOptions.hpp → JLocationSettingsOptions.hpp} +28 -22
  51. package/nitrogen/generated/android/c++/JReverseGeocodedAddress.hpp +82 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AccuracyAuthorization.kt +24 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidAccuracyPreset.kt +25 -0
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidGranularity.kt +24 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{RNConfigurationInternal.kt → CompatGeolocationConfigurationInternal.kt} +5 -5
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{GeolocationError.kt → CompatGeolocationError.kt} +5 -5
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/CompatGeolocationOptions.kt +68 -0
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/CompatGeolocationResponse.kt +41 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_AccuracyAuthorization.kt +80 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{Func_void_GeolocationError.kt → Func_void_CompatGeolocationError.kt} +9 -9
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_CompatGeolocationResponse.kt +80 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_Heading.kt +80 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_LocationProviderStatus.kt +80 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_PermissionStatus.kt +80 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_std__vector_GeocodedLocation_.kt +80 -0
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_std__vector_ReverseGeocodedAddress_.kt +80 -0
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeocodedLocation.kt +44 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeocodingCoordinates.kt +41 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{ModernGeolocationConfiguration.kt → GeolocationConfiguration.kt} +5 -5
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationResponse.kt +9 -3
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Heading.kt +47 -0
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HeadingOptions.kt +38 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec.kt +7 -7
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec.kt +92 -3
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSAccuracyPreset.kt +28 -0
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSActivityType.kt +26 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationAccuracyOptions.kt +41 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationAvailability.kt +41 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderStatus.kt +53 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderUsed.kt +26 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationRequestOptions.kt +30 -3
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{GeolocationOptions.kt → LocationSettingsOptions.kt} +11 -11
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ReverseGeocodedAddress.kt +56 -0
  84. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +18 -4
  85. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +76 -12
  86. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +519 -77
  87. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +61 -12
  88. package/nitrogen/generated/ios/c++/HybridNitroGeolocationCompatSpecSwift.hpp +28 -16
  89. package/nitrogen/generated/ios/c++/HybridNitroGeolocationSpecSwift.hpp +131 -13
  90. package/nitrogen/generated/ios/swift/AccuracyAuthorization.swift +44 -0
  91. package/nitrogen/generated/ios/swift/AndroidAccuracyPreset.swift +48 -0
  92. package/nitrogen/generated/ios/swift/AndroidGranularity.swift +44 -0
  93. package/nitrogen/generated/ios/swift/{RNConfigurationInternal.swift → CompatGeolocationConfigurationInternal.swift} +5 -5
  94. package/nitrogen/generated/ios/swift/{GeolocationError.swift → CompatGeolocationError.swift} +5 -5
  95. package/nitrogen/generated/ios/swift/CompatGeolocationOptions.swift +208 -0
  96. package/nitrogen/generated/ios/swift/CompatGeolocationResponse.swift +34 -0
  97. package/nitrogen/generated/ios/swift/Func_void_AccuracyAuthorization.swift +46 -0
  98. package/nitrogen/generated/ios/swift/Func_void_CompatGeolocationError.swift +46 -0
  99. package/nitrogen/generated/ios/swift/Func_void_CompatGeolocationResponse.swift +46 -0
  100. package/nitrogen/generated/ios/swift/{Func_void_GeolocationError.swift → Func_void_Heading.swift} +11 -11
  101. package/nitrogen/generated/ios/swift/Func_void_LocationAvailability.swift +46 -0
  102. package/nitrogen/generated/ios/swift/Func_void_LocationProviderStatus.swift +46 -0
  103. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  104. package/nitrogen/generated/ios/swift/Func_void_std__vector_GeocodedLocation_.swift +46 -0
  105. package/nitrogen/generated/ios/swift/Func_void_std__vector_ReverseGeocodedAddress_.swift +46 -0
  106. package/nitrogen/generated/ios/swift/GeocodedLocation.swift +52 -0
  107. package/nitrogen/generated/ios/swift/GeocodingCoordinates.swift +34 -0
  108. package/nitrogen/generated/ios/swift/{ModernGeolocationConfiguration.swift → GeolocationConfiguration.swift} +5 -5
  109. package/nitrogen/generated/ios/swift/GeolocationResponse.swift +31 -2
  110. package/nitrogen/generated/ios/swift/Heading.swift +70 -0
  111. package/nitrogen/generated/ios/swift/HeadingOptions.swift +42 -0
  112. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec.swift +4 -4
  113. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec_cxx.swift +28 -28
  114. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec.swift +14 -3
  115. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec_cxx.swift +318 -15
  116. package/nitrogen/generated/ios/swift/IOSAccuracyPreset.swift +60 -0
  117. package/nitrogen/generated/ios/swift/IOSActivityType.swift +52 -0
  118. package/nitrogen/generated/ios/swift/LocationAccuracyOptions.swift +46 -0
  119. package/nitrogen/generated/ios/swift/LocationAvailability.swift +47 -0
  120. package/nitrogen/generated/ios/swift/LocationProviderStatus.swift +106 -0
  121. package/nitrogen/generated/ios/swift/LocationProviderUsed.swift +52 -0
  122. package/nitrogen/generated/ios/swift/LocationRequestOptions.swift +142 -1
  123. package/nitrogen/generated/ios/swift/{GeolocationOptions.swift → LocationSettingsOptions.swift} +39 -46
  124. package/nitrogen/generated/ios/swift/ReverseGeocodedAddress.swift +150 -0
  125. package/nitrogen/generated/shared/c++/AccuracyAuthorization.hpp +80 -0
  126. package/nitrogen/generated/shared/c++/AndroidAccuracyPreset.hpp +84 -0
  127. package/nitrogen/generated/shared/c++/AndroidGranularity.hpp +80 -0
  128. package/nitrogen/generated/shared/c++/{RNConfigurationInternal.hpp → CompatGeolocationConfigurationInternal.hpp} +11 -11
  129. package/nitrogen/generated/shared/c++/{GeolocationError.hpp → CompatGeolocationError.hpp} +11 -11
  130. package/nitrogen/generated/shared/c++/CompatGeolocationOptions.hpp +128 -0
  131. package/nitrogen/generated/shared/c++/CompatGeolocationResponse.hpp +88 -0
  132. package/nitrogen/generated/shared/c++/GeocodedLocation.hpp +91 -0
  133. package/nitrogen/generated/shared/c++/GeocodingCoordinates.hpp +87 -0
  134. package/nitrogen/generated/shared/c++/{ModernGeolocationConfiguration.hpp → GeolocationConfiguration.hpp} +11 -11
  135. package/nitrogen/generated/shared/c++/GeolocationResponse.hpp +14 -2
  136. package/nitrogen/generated/shared/c++/Heading.hpp +95 -0
  137. package/nitrogen/generated/shared/c++/HeadingOptions.hpp +83 -0
  138. package/nitrogen/generated/shared/c++/HybridNitroGeolocationCompatSpec.hpp +16 -16
  139. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.cpp +11 -0
  140. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.hpp +51 -12
  141. package/nitrogen/generated/shared/c++/IOSAccuracyPreset.hpp +96 -0
  142. package/nitrogen/generated/shared/c++/IOSActivityType.hpp +88 -0
  143. package/nitrogen/generated/shared/c++/LocationAccuracyOptions.hpp +92 -0
  144. package/nitrogen/generated/shared/c++/LocationAvailability.hpp +88 -0
  145. package/nitrogen/generated/shared/c++/LocationProviderStatus.hpp +103 -0
  146. package/nitrogen/generated/shared/c++/LocationProviderUsed.hpp +88 -0
  147. package/nitrogen/generated/shared/c++/LocationRequestOptions.hpp +47 -3
  148. package/nitrogen/generated/shared/c++/{GeolocationOptions.hpp → LocationSettingsOptions.hpp} +26 -24
  149. package/nitrogen/generated/shared/c++/ReverseGeocodedAddress.hpp +108 -0
  150. package/package.json +1 -1
  151. package/src/NitroGeolocation.nitro.ts +292 -18
  152. package/src/NitroGeolocationCompat.nitro.ts +12 -12
  153. package/src/api/geocode.ts +18 -0
  154. package/src/api/getAccuracyAuthorization.ts +12 -0
  155. package/src/api/getCurrentPosition.ts +5 -3
  156. package/src/api/getHeading.ts +13 -0
  157. package/src/api/getLastKnownPosition.ts +28 -0
  158. package/src/api/getLocationAvailability.ts +11 -0
  159. package/src/api/getProviderStatus.ts +16 -0
  160. package/src/api/hasServicesEnabled.ts +13 -0
  161. package/src/api/index.ts +11 -0
  162. package/src/api/requestLocationSettings.ts +29 -0
  163. package/src/api/requestPermission.ts +3 -1
  164. package/src/api/requestTemporaryFullAccuracy.ts +21 -0
  165. package/src/api/reverseGeocode.ts +23 -0
  166. package/src/api/setConfiguration.ts +8 -4
  167. package/src/api/watchHeading.ts +19 -0
  168. package/src/api/watchPosition.ts +2 -2
  169. package/src/compat/getCurrentPosition.ts +7 -7
  170. package/src/compat/index.tsx +5 -5
  171. package/src/compat/requestAuthorization.ts +2 -2
  172. package/src/compat/setRNConfiguration.ts +7 -5
  173. package/src/compat/watchPosition.ts +7 -7
  174. package/src/devtools/getCurrentPosition.ts +5 -3
  175. package/src/devtools/index.ts +1 -1
  176. package/src/devtools/watchPosition.ts +6 -7
  177. package/src/hooks/useWatchPosition.ts +2 -2
  178. package/src/index.tsx +35 -6
  179. package/src/publicTypes.ts +108 -0
  180. package/src/types.ts +113 -37
  181. package/src/utils/errors.test.ts +65 -0
  182. package/src/utils/errors.ts +45 -18
  183. package/src/utils/index.ts +2 -2
  184. package/src/utils/provider.test.ts +172 -1
  185. package/src/utils/provider.ts +50 -5
  186. package/nitrogen/generated/android/c++/JFunc_void_GeolocationError.hpp +0 -78
@@ -0,0 +1,61 @@
1
+ ///
2
+ /// JGeocodingCoordinates.hpp
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
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "GeocodingCoordinates.hpp"
12
+
13
+
14
+
15
+ namespace margelo::nitro::nitrogeolocation {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "GeocodingCoordinates" and the the Kotlin data class "GeocodingCoordinates".
21
+ */
22
+ struct JGeocodingCoordinates final: public jni::JavaClass<JGeocodingCoordinates> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/GeocodingCoordinates;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct GeocodingCoordinates by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ GeocodingCoordinates toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldLatitude = clazz->getField<double>("latitude");
35
+ double latitude = this->getFieldValue(fieldLatitude);
36
+ static const auto fieldLongitude = clazz->getField<double>("longitude");
37
+ double longitude = this->getFieldValue(fieldLongitude);
38
+ return GeocodingCoordinates(
39
+ latitude,
40
+ longitude
41
+ );
42
+ }
43
+
44
+ public:
45
+ /**
46
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
47
+ */
48
+ [[maybe_unused]]
49
+ static jni::local_ref<JGeocodingCoordinates::javaobject> fromCpp(const GeocodingCoordinates& value) {
50
+ using JSignature = JGeocodingCoordinates(double, double);
51
+ static const auto clazz = javaClassStatic();
52
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
53
+ return create(
54
+ clazz,
55
+ value.latitude,
56
+ value.longitude
57
+ );
58
+ }
59
+ };
60
+
61
+ } // namespace margelo::nitro::nitrogeolocation
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// JModernGeolocationConfiguration.hpp
2
+ /// JGeolocationConfiguration.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -8,7 +8,7 @@
8
8
  #pragma once
9
9
 
10
10
  #include <fbjni/fbjni.h>
11
- #include "ModernGeolocationConfiguration.hpp"
11
+ #include "GeolocationConfiguration.hpp"
12
12
 
13
13
  #include "AuthorizationLevel.hpp"
14
14
  #include "JAuthorizationLevel.hpp"
@@ -21,19 +21,19 @@ namespace margelo::nitro::nitrogeolocation {
21
21
  using namespace facebook;
22
22
 
23
23
  /**
24
- * The C++ JNI bridge between the C++ struct "ModernGeolocationConfiguration" and the the Kotlin data class "ModernGeolocationConfiguration".
24
+ * The C++ JNI bridge between the C++ struct "GeolocationConfiguration" and the the Kotlin data class "GeolocationConfiguration".
25
25
  */
26
- struct JModernGeolocationConfiguration final: public jni::JavaClass<JModernGeolocationConfiguration> {
26
+ struct JGeolocationConfiguration final: public jni::JavaClass<JGeolocationConfiguration> {
27
27
  public:
28
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/ModernGeolocationConfiguration;";
28
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/GeolocationConfiguration;";
29
29
 
30
30
  public:
31
31
  /**
32
- * Convert this Java/Kotlin-based struct to the C++ struct ModernGeolocationConfiguration by copying all values to C++.
32
+ * Convert this Java/Kotlin-based struct to the C++ struct GeolocationConfiguration by copying all values to C++.
33
33
  */
34
34
  [[maybe_unused]]
35
35
  [[nodiscard]]
36
- ModernGeolocationConfiguration toCpp() const {
36
+ GeolocationConfiguration toCpp() const {
37
37
  static const auto clazz = javaClassStatic();
38
38
  static const auto fieldAutoRequestPermission = clazz->getField<jni::JBoolean>("autoRequestPermission");
39
39
  jni::local_ref<jni::JBoolean> autoRequestPermission = this->getFieldValue(fieldAutoRequestPermission);
@@ -43,7 +43,7 @@ namespace margelo::nitro::nitrogeolocation {
43
43
  jni::local_ref<jni::JBoolean> enableBackgroundLocationUpdates = this->getFieldValue(fieldEnableBackgroundLocationUpdates);
44
44
  static const auto fieldLocationProvider = clazz->getField<JLocationProvider>("locationProvider");
45
45
  jni::local_ref<JLocationProvider> locationProvider = this->getFieldValue(fieldLocationProvider);
46
- return ModernGeolocationConfiguration(
46
+ return GeolocationConfiguration(
47
47
  autoRequestPermission != nullptr ? std::make_optional(static_cast<bool>(autoRequestPermission->value())) : std::nullopt,
48
48
  authorizationLevel != nullptr ? std::make_optional(authorizationLevel->toCpp()) : std::nullopt,
49
49
  enableBackgroundLocationUpdates != nullptr ? std::make_optional(static_cast<bool>(enableBackgroundLocationUpdates->value())) : std::nullopt,
@@ -56,8 +56,8 @@ namespace margelo::nitro::nitrogeolocation {
56
56
  * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
57
57
  */
58
58
  [[maybe_unused]]
59
- static jni::local_ref<JModernGeolocationConfiguration::javaobject> fromCpp(const ModernGeolocationConfiguration& value) {
60
- using JSignature = JModernGeolocationConfiguration(jni::alias_ref<jni::JBoolean>, jni::alias_ref<JAuthorizationLevel>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JLocationProvider>);
59
+ static jni::local_ref<JGeolocationConfiguration::javaobject> fromCpp(const GeolocationConfiguration& value) {
60
+ using JSignature = JGeolocationConfiguration(jni::alias_ref<jni::JBoolean>, jni::alias_ref<JAuthorizationLevel>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JLocationProvider>);
61
61
  static const auto clazz = javaClassStatic();
62
62
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
63
63
  return create(
@@ -12,7 +12,9 @@
12
12
 
13
13
  #include "GeolocationCoordinates.hpp"
14
14
  #include "JGeolocationCoordinates.hpp"
15
+ #include "JLocationProviderUsed.hpp"
15
16
  #include "JNullableDouble.hpp"
17
+ #include "LocationProviderUsed.hpp"
16
18
  #include <NitroModules/JNull.hpp>
17
19
  #include <NitroModules/Null.hpp>
18
20
  #include <optional>
@@ -41,9 +43,15 @@ namespace margelo::nitro::nitrogeolocation {
41
43
  jni::local_ref<JGeolocationCoordinates> coords = this->getFieldValue(fieldCoords);
42
44
  static const auto fieldTimestamp = clazz->getField<double>("timestamp");
43
45
  double timestamp = this->getFieldValue(fieldTimestamp);
46
+ static const auto fieldMocked = clazz->getField<jni::JBoolean>("mocked");
47
+ jni::local_ref<jni::JBoolean> mocked = this->getFieldValue(fieldMocked);
48
+ static const auto fieldProvider = clazz->getField<JLocationProviderUsed>("provider");
49
+ jni::local_ref<JLocationProviderUsed> provider = this->getFieldValue(fieldProvider);
44
50
  return GeolocationResponse(
45
51
  coords->toCpp(),
46
- timestamp
52
+ timestamp,
53
+ mocked != nullptr ? std::make_optional(static_cast<bool>(mocked->value())) : std::nullopt,
54
+ provider != nullptr ? std::make_optional(provider->toCpp()) : std::nullopt
47
55
  );
48
56
  }
49
57
 
@@ -53,13 +61,15 @@ namespace margelo::nitro::nitrogeolocation {
53
61
  */
54
62
  [[maybe_unused]]
55
63
  static jni::local_ref<JGeolocationResponse::javaobject> fromCpp(const GeolocationResponse& value) {
56
- using JSignature = JGeolocationResponse(jni::alias_ref<JGeolocationCoordinates>, double);
64
+ using JSignature = JGeolocationResponse(jni::alias_ref<JGeolocationCoordinates>, double, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JLocationProviderUsed>);
57
65
  static const auto clazz = javaClassStatic();
58
66
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
59
67
  return create(
60
68
  clazz,
61
69
  JGeolocationCoordinates::fromCpp(value.coords),
62
- value.timestamp
70
+ value.timestamp,
71
+ value.mocked.has_value() ? jni::JBoolean::valueOf(value.mocked.value()) : nullptr,
72
+ value.provider.has_value() ? JLocationProviderUsed::fromCpp(value.provider.value()) : nullptr
63
73
  );
64
74
  }
65
75
  };
@@ -0,0 +1,69 @@
1
+ ///
2
+ /// JHeading.hpp
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
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "Heading.hpp"
12
+
13
+ #include <optional>
14
+
15
+ namespace margelo::nitro::nitrogeolocation {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "Heading" and the the Kotlin data class "Heading".
21
+ */
22
+ struct JHeading final: public jni::JavaClass<JHeading> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/Heading;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct Heading by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ Heading toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldMagneticHeading = clazz->getField<double>("magneticHeading");
35
+ double magneticHeading = this->getFieldValue(fieldMagneticHeading);
36
+ static const auto fieldTrueHeading = clazz->getField<jni::JDouble>("trueHeading");
37
+ jni::local_ref<jni::JDouble> trueHeading = this->getFieldValue(fieldTrueHeading);
38
+ static const auto fieldAccuracy = clazz->getField<jni::JDouble>("accuracy");
39
+ jni::local_ref<jni::JDouble> accuracy = this->getFieldValue(fieldAccuracy);
40
+ static const auto fieldTimestamp = clazz->getField<double>("timestamp");
41
+ double timestamp = this->getFieldValue(fieldTimestamp);
42
+ return Heading(
43
+ magneticHeading,
44
+ trueHeading != nullptr ? std::make_optional(trueHeading->value()) : std::nullopt,
45
+ accuracy != nullptr ? std::make_optional(accuracy->value()) : std::nullopt,
46
+ timestamp
47
+ );
48
+ }
49
+
50
+ public:
51
+ /**
52
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
53
+ */
54
+ [[maybe_unused]]
55
+ static jni::local_ref<JHeading::javaobject> fromCpp(const Heading& value) {
56
+ using JSignature = JHeading(double, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, double);
57
+ static const auto clazz = javaClassStatic();
58
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
59
+ return create(
60
+ clazz,
61
+ value.magneticHeading,
62
+ value.trueHeading.has_value() ? jni::JDouble::valueOf(value.trueHeading.value()) : nullptr,
63
+ value.accuracy.has_value() ? jni::JDouble::valueOf(value.accuracy.value()) : nullptr,
64
+ value.timestamp
65
+ );
66
+ }
67
+ };
68
+
69
+ } // namespace margelo::nitro::nitrogeolocation
@@ -0,0 +1,57 @@
1
+ ///
2
+ /// JHeadingOptions.hpp
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
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "HeadingOptions.hpp"
12
+
13
+ #include <optional>
14
+
15
+ namespace margelo::nitro::nitrogeolocation {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "HeadingOptions" and the the Kotlin data class "HeadingOptions".
21
+ */
22
+ struct JHeadingOptions final: public jni::JavaClass<JHeadingOptions> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HeadingOptions;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct HeadingOptions by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ HeadingOptions toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldHeadingFilter = clazz->getField<jni::JDouble>("headingFilter");
35
+ jni::local_ref<jni::JDouble> headingFilter = this->getFieldValue(fieldHeadingFilter);
36
+ return HeadingOptions(
37
+ headingFilter != nullptr ? std::make_optional(headingFilter->value()) : std::nullopt
38
+ );
39
+ }
40
+
41
+ public:
42
+ /**
43
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
44
+ */
45
+ [[maybe_unused]]
46
+ static jni::local_ref<JHeadingOptions::javaobject> fromCpp(const HeadingOptions& value) {
47
+ using JSignature = JHeadingOptions(jni::alias_ref<jni::JDouble>);
48
+ static const auto clazz = javaClassStatic();
49
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
50
+ return create(
51
+ clazz,
52
+ value.headingFilter.has_value() ? jni::JDouble::valueOf(value.headingFilter.value()) : nullptr
53
+ );
54
+ }
55
+ };
56
+
57
+ } // namespace margelo::nitro::nitrogeolocation
@@ -7,23 +7,31 @@
7
7
 
8
8
  #include "JHybridNitroGeolocationCompatSpec.hpp"
9
9
 
10
- // Forward declaration of `RNConfigurationInternal` to properly resolve imports.
11
- namespace margelo::nitro::nitrogeolocation { struct RNConfigurationInternal; }
10
+ // Forward declaration of `CompatGeolocationConfigurationInternal` to properly resolve imports.
11
+ namespace margelo::nitro::nitrogeolocation { struct CompatGeolocationConfigurationInternal; }
12
12
  // Forward declaration of `AuthorizationLevelInternal` to properly resolve imports.
13
13
  namespace margelo::nitro::nitrogeolocation { enum class AuthorizationLevelInternal; }
14
14
  // Forward declaration of `LocationProviderInternal` to properly resolve imports.
15
15
  namespace margelo::nitro::nitrogeolocation { enum class LocationProviderInternal; }
16
- // Forward declaration of `GeolocationError` to properly resolve imports.
17
- namespace margelo::nitro::nitrogeolocation { struct GeolocationError; }
18
- // Forward declaration of `GeolocationResponse` to properly resolve imports.
19
- namespace margelo::nitro::nitrogeolocation { struct GeolocationResponse; }
16
+ // Forward declaration of `CompatGeolocationError` to properly resolve imports.
17
+ namespace margelo::nitro::nitrogeolocation { struct CompatGeolocationError; }
18
+ // Forward declaration of `CompatGeolocationResponse` to properly resolve imports.
19
+ namespace margelo::nitro::nitrogeolocation { struct CompatGeolocationResponse; }
20
20
  // Forward declaration of `GeolocationCoordinates` to properly resolve imports.
21
21
  namespace margelo::nitro::nitrogeolocation { struct GeolocationCoordinates; }
22
- // Forward declaration of `GeolocationOptions` to properly resolve imports.
23
- namespace margelo::nitro::nitrogeolocation { struct GeolocationOptions; }
22
+ // Forward declaration of `CompatGeolocationOptions` to properly resolve imports.
23
+ namespace margelo::nitro::nitrogeolocation { struct CompatGeolocationOptions; }
24
+ // Forward declaration of `LocationAccuracyOptions` to properly resolve imports.
25
+ namespace margelo::nitro::nitrogeolocation { struct LocationAccuracyOptions; }
26
+ // Forward declaration of `AndroidAccuracyPreset` to properly resolve imports.
27
+ namespace margelo::nitro::nitrogeolocation { enum class AndroidAccuracyPreset; }
28
+ // Forward declaration of `IOSAccuracyPreset` to properly resolve imports.
29
+ namespace margelo::nitro::nitrogeolocation { enum class IOSAccuracyPreset; }
30
+ // Forward declaration of `IOSActivityType` to properly resolve imports.
31
+ namespace margelo::nitro::nitrogeolocation { enum class IOSActivityType; }
24
32
 
25
- #include "RNConfigurationInternal.hpp"
26
- #include "JRNConfigurationInternal.hpp"
33
+ #include "CompatGeolocationConfigurationInternal.hpp"
34
+ #include "JCompatGeolocationConfigurationInternal.hpp"
27
35
  #include "AuthorizationLevelInternal.hpp"
28
36
  #include <optional>
29
37
  #include "JAuthorizationLevelInternal.hpp"
@@ -32,21 +40,29 @@ namespace margelo::nitro::nitrogeolocation { struct GeolocationOptions; }
32
40
  #include <functional>
33
41
  #include "JFunc_void.hpp"
34
42
  #include <NitroModules/JNICallable.hpp>
35
- #include "GeolocationError.hpp"
36
- #include "JFunc_void_GeolocationError.hpp"
37
- #include "JGeolocationError.hpp"
43
+ #include "CompatGeolocationError.hpp"
44
+ #include "JFunc_void_CompatGeolocationError.hpp"
45
+ #include "JCompatGeolocationError.hpp"
38
46
  #include <string>
39
- #include "GeolocationResponse.hpp"
40
- #include "JFunc_void_GeolocationResponse.hpp"
41
- #include "JGeolocationResponse.hpp"
47
+ #include "CompatGeolocationResponse.hpp"
48
+ #include "JFunc_void_CompatGeolocationResponse.hpp"
49
+ #include "JCompatGeolocationResponse.hpp"
42
50
  #include "GeolocationCoordinates.hpp"
43
51
  #include "JGeolocationCoordinates.hpp"
44
52
  #include <NitroModules/Null.hpp>
45
53
  #include <variant>
46
54
  #include "JNullableDouble.hpp"
47
55
  #include <NitroModules/JNull.hpp>
48
- #include "GeolocationOptions.hpp"
49
- #include "JGeolocationOptions.hpp"
56
+ #include "CompatGeolocationOptions.hpp"
57
+ #include "JCompatGeolocationOptions.hpp"
58
+ #include "LocationAccuracyOptions.hpp"
59
+ #include "JLocationAccuracyOptions.hpp"
60
+ #include "AndroidAccuracyPreset.hpp"
61
+ #include "JAndroidAccuracyPreset.hpp"
62
+ #include "IOSAccuracyPreset.hpp"
63
+ #include "JIOSAccuracyPreset.hpp"
64
+ #include "IOSActivityType.hpp"
65
+ #include "JIOSActivityType.hpp"
50
66
 
51
67
  namespace margelo::nitro::nitrogeolocation {
52
68
 
@@ -81,21 +97,21 @@ namespace margelo::nitro::nitrogeolocation {
81
97
 
82
98
 
83
99
  // Methods
84
- void JHybridNitroGeolocationCompatSpec::setRNConfiguration(const RNConfigurationInternal& config) {
85
- static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JRNConfigurationInternal> /* config */)>("setRNConfiguration");
86
- method(_javaPart, JRNConfigurationInternal::fromCpp(config));
100
+ void JHybridNitroGeolocationCompatSpec::setRNConfiguration(const CompatGeolocationConfigurationInternal& config) {
101
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JCompatGeolocationConfigurationInternal> /* config */)>("setRNConfiguration");
102
+ method(_javaPart, JCompatGeolocationConfigurationInternal::fromCpp(config));
87
103
  }
88
- void JHybridNitroGeolocationCompatSpec::requestAuthorization(const std::optional<std::function<void()>>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error) {
89
- static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */)>("requestAuthorization_cxx");
90
- method(_javaPart, success.has_value() ? JFunc_void_cxx::fromCpp(success.value()) : nullptr, error.has_value() ? JFunc_void_GeolocationError_cxx::fromCpp(error.value()) : nullptr);
104
+ void JHybridNitroGeolocationCompatSpec::requestAuthorization(const std::optional<std::function<void()>>& success, const std::optional<std::function<void(const CompatGeolocationError& /* error */)>>& error) {
105
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* success */, jni::alias_ref<JFunc_void_CompatGeolocationError::javaobject> /* error */)>("requestAuthorization_cxx");
106
+ method(_javaPart, success.has_value() ? JFunc_void_cxx::fromCpp(success.value()) : nullptr, error.has_value() ? JFunc_void_CompatGeolocationError_cxx::fromCpp(error.value()) : nullptr);
91
107
  }
92
- void JHybridNitroGeolocationCompatSpec::getCurrentPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error, const std::optional<GeolocationOptions>& options) {
93
- static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */, jni::alias_ref<JGeolocationOptions> /* options */)>("getCurrentPosition_cxx");
94
- method(_javaPart, JFunc_void_GeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_GeolocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JGeolocationOptions::fromCpp(options.value()) : nullptr);
108
+ void JHybridNitroGeolocationCompatSpec::getCurrentPosition(const std::function<void(const CompatGeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const CompatGeolocationError& /* error */)>>& error, const std::optional<CompatGeolocationOptions>& options) {
109
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_CompatGeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_CompatGeolocationError::javaobject> /* error */, jni::alias_ref<JCompatGeolocationOptions> /* options */)>("getCurrentPosition_cxx");
110
+ method(_javaPart, JFunc_void_CompatGeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_CompatGeolocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JCompatGeolocationOptions::fromCpp(options.value()) : nullptr);
95
111
  }
96
- double JHybridNitroGeolocationCompatSpec::watchPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error, const std::optional<GeolocationOptions>& options) {
97
- static const auto method = _javaPart->javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */, jni::alias_ref<JGeolocationOptions> /* options */)>("watchPosition_cxx");
98
- auto __result = method(_javaPart, JFunc_void_GeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_GeolocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JGeolocationOptions::fromCpp(options.value()) : nullptr);
112
+ double JHybridNitroGeolocationCompatSpec::watchPosition(const std::function<void(const CompatGeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const CompatGeolocationError& /* error */)>>& error, const std::optional<CompatGeolocationOptions>& options) {
113
+ static const auto method = _javaPart->javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_CompatGeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_CompatGeolocationError::javaobject> /* error */, jni::alias_ref<JCompatGeolocationOptions> /* options */)>("watchPosition_cxx");
114
+ auto __result = method(_javaPart, JFunc_void_CompatGeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_CompatGeolocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JCompatGeolocationOptions::fromCpp(options.value()) : nullptr);
99
115
  return __result;
100
116
  }
101
117
  void JHybridNitroGeolocationCompatSpec::clearWatch(double watchId) {
@@ -54,10 +54,10 @@ namespace margelo::nitro::nitrogeolocation {
54
54
 
55
55
  public:
56
56
  // Methods
57
- void setRNConfiguration(const RNConfigurationInternal& config) override;
58
- void requestAuthorization(const std::optional<std::function<void()>>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error) override;
59
- void getCurrentPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error, const std::optional<GeolocationOptions>& options) override;
60
- double watchPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error, const std::optional<GeolocationOptions>& options) override;
57
+ void setRNConfiguration(const CompatGeolocationConfigurationInternal& config) override;
58
+ void requestAuthorization(const std::optional<std::function<void()>>& success, const std::optional<std::function<void(const CompatGeolocationError& /* error */)>>& error) override;
59
+ void getCurrentPosition(const std::function<void(const CompatGeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const CompatGeolocationError& /* error */)>>& error, const std::optional<CompatGeolocationOptions>& options) override;
60
+ double watchPosition(const std::function<void(const CompatGeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const CompatGeolocationError& /* error */)>>& error, const std::optional<CompatGeolocationOptions>& options) override;
61
61
  void clearWatch(double watchId) override;
62
62
  void stopObserving() override;
63
63