react-native-nitro-background-geolocation 0.1.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 (306) hide show
  1. package/NitroBackgroundGeolocation.podspec +29 -0
  2. package/android/CMakeLists.txt +24 -0
  3. package/android/build.gradle +133 -0
  4. package/android/src/main/AndroidManifest.xml +65 -0
  5. package/android/src/main/cpp/cpp-adapter.cpp +11 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/ConfigMapper.kt +332 -0
  7. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/HeadlessTaskRegistry.kt +23 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/HeadlessTaskService.kt +66 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/NitroBackgroundGeolocation.kt +538 -0
  10. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/NitroBackgroundGeolocationPackage.kt +22 -0
  11. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/ReactNativeHeadlessTaskRunner.kt +62 -0
  12. package/android/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java +542 -0
  13. package/android/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +59 -0
  14. package/android/src/main/java/com/marianhello/bgloc/Config.java +652 -0
  15. package/android/src/main/java/com/marianhello/bgloc/ConnectivityListener.java +5 -0
  16. package/android/src/main/java/com/marianhello/bgloc/HttpPostService.java +168 -0
  17. package/android/src/main/java/com/marianhello/bgloc/LocationManager.java +138 -0
  18. package/android/src/main/java/com/marianhello/bgloc/PluginDelegate.java +19 -0
  19. package/android/src/main/java/com/marianhello/bgloc/PluginException.java +38 -0
  20. package/android/src/main/java/com/marianhello/bgloc/PostLocationTask.java +186 -0
  21. package/android/src/main/java/com/marianhello/bgloc/ResourceResolver.java +55 -0
  22. package/android/src/main/java/com/marianhello/bgloc/data/AbstractLocationTemplate.java +69 -0
  23. package/android/src/main/java/com/marianhello/bgloc/data/ArrayListLocationTemplate.java +88 -0
  24. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundActivity.java +108 -0
  25. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +994 -0
  26. package/android/src/main/java/com/marianhello/bgloc/data/ConfigurationDAO.java +13 -0
  27. package/android/src/main/java/com/marianhello/bgloc/data/DAOFactory.java +17 -0
  28. package/android/src/main/java/com/marianhello/bgloc/data/HashMapLocationTemplate.java +82 -0
  29. package/android/src/main/java/com/marianhello/bgloc/data/LocationDAO.java +22 -0
  30. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplate.java +12 -0
  31. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +65 -0
  32. package/android/src/main/java/com/marianhello/bgloc/data/LocationTransform.java +19 -0
  33. package/android/src/main/java/com/marianhello/bgloc/data/provider/ContentProviderLocationDAO.java +395 -0
  34. package/android/src/main/java/com/marianhello/bgloc/data/provider/LocationContentProvider.java +321 -0
  35. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +76 -0
  36. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +160 -0
  37. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +112 -0
  38. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +506 -0
  39. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +151 -0
  40. package/android/src/main/java/com/marianhello/bgloc/headless/AbstractTaskRunner.java +15 -0
  41. package/android/src/main/java/com/marianhello/bgloc/headless/ActivityTask.java +48 -0
  42. package/android/src/main/java/com/marianhello/bgloc/headless/JsCallback.java +10 -0
  43. package/android/src/main/java/com/marianhello/bgloc/headless/LocationTask.java +61 -0
  44. package/android/src/main/java/com/marianhello/bgloc/headless/StationaryTask.java +25 -0
  45. package/android/src/main/java/com/marianhello/bgloc/headless/Task.java +8 -0
  46. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunner.java +5 -0
  47. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunnerFactory.java +8 -0
  48. package/android/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +171 -0
  49. package/android/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +280 -0
  50. package/android/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +586 -0
  51. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProvider.java +32 -0
  52. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProviderFactory.java +47 -0
  53. package/android/src/main/java/com/marianhello/bgloc/provider/ProviderDelegate.java +12 -0
  54. package/android/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +142 -0
  55. package/android/src/main/java/com/marianhello/bgloc/service/LocationService.java +17 -0
  56. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +760 -0
  57. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfo.java +6 -0
  58. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfoImpl.java +41 -0
  59. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder.java +203 -0
  60. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +140 -0
  61. package/android/src/main/java/com/marianhello/bgloc/sync/AccountHelper.java +39 -0
  62. package/android/src/main/java/com/marianhello/bgloc/sync/Authenticator.java +68 -0
  63. package/android/src/main/java/com/marianhello/bgloc/sync/AuthenticatorService.java +28 -0
  64. package/android/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +246 -0
  65. package/android/src/main/java/com/marianhello/bgloc/sync/NotificationHelper.java +148 -0
  66. package/android/src/main/java/com/marianhello/bgloc/sync/SyncAdapter.java +233 -0
  67. package/android/src/main/java/com/marianhello/bgloc/sync/SyncService.java +68 -0
  68. package/android/src/main/java/com/marianhello/logging/DBLogReader.java +203 -0
  69. package/android/src/main/java/com/marianhello/logging/LogEntry.java +99 -0
  70. package/android/src/main/java/com/marianhello/logging/LoggerManager.java +70 -0
  71. package/android/src/main/java/com/marianhello/logging/UncaughtExceptionLogger.java +36 -0
  72. package/android/src/main/java/com/marianhello/utils/CloneHelper.java +22 -0
  73. package/android/src/main/java/com/marianhello/utils/Convert.java +56 -0
  74. package/android/src/main/java/com/marianhello/utils/TextUtils.java +72 -0
  75. package/android/src/main/java/com/marianhello/utils/ToneGenerator.java +68 -0
  76. package/android/src/main/java/org/apache/commons/io/Charsets.java +153 -0
  77. package/android/src/main/java/org/apache/commons/io/input/ReversedLinesFileReader.java +344 -0
  78. package/android/src/main/java/org/chromium/content/browser/ThreadUtils.java +134 -0
  79. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlExpression.java +398 -0
  80. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlSelectStatement.java +671 -0
  81. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlStatement.java +29 -0
  82. package/android/src/main/java/ru/andremoniy/utils/TextUtils.java +61 -0
  83. package/android/src/main/res/values/strings.xml +6 -0
  84. package/android/src/main/res/xml/authenticator.xml +7 -0
  85. package/android/src/main/res/xml/syncadapter.xml +9 -0
  86. package/app.plugin.js +64 -0
  87. package/ios/NitroBackgroundGeolocation.swift +719 -0
  88. package/ios/NitroBackgroundGeolocationBootstrap.m +98 -0
  89. package/ios/common/BackgroundGeolocation/CocoaLumberjack.h +1945 -0
  90. package/ios/common/BackgroundGeolocation/CocoaLumberjack.m +5255 -0
  91. package/ios/common/BackgroundGeolocation/FMDB.h +2357 -0
  92. package/ios/common/BackgroundGeolocation/FMDB.m +2672 -0
  93. package/ios/common/BackgroundGeolocation/FMDBLogger.h +42 -0
  94. package/ios/common/BackgroundGeolocation/FMDBLogger.m +264 -0
  95. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.h +41 -0
  96. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.m +68 -0
  97. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager+Internal.h +33 -0
  98. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.h +178 -0
  99. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.m +1025 -0
  100. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.h +103 -0
  101. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.m +238 -0
  102. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequestDefines.h +163 -0
  103. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.h +39 -0
  104. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.m +37 -0
  105. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.h +51 -0
  106. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.m +53 -0
  107. package/ios/common/BackgroundGeolocation/MAURActivity.h +23 -0
  108. package/ios/common/BackgroundGeolocation/MAURActivity.m +52 -0
  109. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.h +18 -0
  110. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +202 -0
  111. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.h +62 -0
  112. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +650 -0
  113. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.h +34 -0
  114. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +184 -0
  115. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.h +25 -0
  116. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.m +105 -0
  117. package/ios/common/BackgroundGeolocation/MAURConfig.h +74 -0
  118. package/ios/common/BackgroundGeolocation/MAURConfig.m +485 -0
  119. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +49 -0
  120. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +51 -0
  121. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.h +20 -0
  122. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +523 -0
  123. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.h +17 -0
  124. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +97 -0
  125. package/ios/common/BackgroundGeolocation/MAURLocation.h +59 -0
  126. package/ios/common/BackgroundGeolocation/MAURLocation.m +349 -0
  127. package/ios/common/BackgroundGeolocation/MAURLocationContract.h +34 -0
  128. package/ios/common/BackgroundGeolocation/MAURLocationContract.m +35 -0
  129. package/ios/common/BackgroundGeolocation/MAURLocationManager.h +53 -0
  130. package/ios/common/BackgroundGeolocation/MAURLocationManager.m +308 -0
  131. package/ios/common/BackgroundGeolocation/MAURLogReader.h +26 -0
  132. package/ios/common/BackgroundGeolocation/MAURLogReader.m +122 -0
  133. package/ios/common/BackgroundGeolocation/MAURLogging.h +19 -0
  134. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +40 -0
  135. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +218 -0
  136. package/ios/common/BackgroundGeolocation/MAURProviderDelegate.h +52 -0
  137. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.h +18 -0
  138. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +129 -0
  139. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.h +26 -0
  140. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +278 -0
  141. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.h +57 -0
  142. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.m +93 -0
  143. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +38 -0
  144. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +380 -0
  145. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.h +32 -0
  146. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.m +276 -0
  147. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.h +20 -0
  148. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.m +62 -0
  149. package/ios/common/BackgroundGeolocation/Reachability.h +102 -0
  150. package/ios/common/BackgroundGeolocation/Reachability.m +474 -0
  151. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.h +80 -0
  152. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.m +147 -0
  153. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.h +30 -0
  154. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.m +42 -0
  155. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.h +99 -0
  156. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.m +327 -0
  157. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.h +44 -0
  158. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.m +94 -0
  159. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.h +55 -0
  160. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.m +47 -0
  161. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlDataManipulationCommand.h +27 -0
  162. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.h +250 -0
  163. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.m +259 -0
  164. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.h +360 -0
  165. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.m +427 -0
  166. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlStatement.h +37 -0
  167. package/lib/module/NitroBackgroundGeolocation.nitro.js +172 -0
  168. package/lib/module/NitroBackgroundGeolocation.nitro.js.map +1 -0
  169. package/lib/module/headless.js +72 -0
  170. package/lib/module/headless.js.map +1 -0
  171. package/lib/module/index.js +60 -0
  172. package/lib/module/index.js.map +1 -0
  173. package/lib/module/package.json +1 -0
  174. package/lib/typescript/package.json +1 -0
  175. package/lib/typescript/src/NitroBackgroundGeolocation.nitro.d.ts +616 -0
  176. package/lib/typescript/src/NitroBackgroundGeolocation.nitro.d.ts.map +1 -0
  177. package/lib/typescript/src/headless.d.ts +40 -0
  178. package/lib/typescript/src/headless.d.ts.map +1 -0
  179. package/lib/typescript/src/index.d.ts +8 -0
  180. package/lib/typescript/src/index.d.ts.map +1 -0
  181. package/nitro.json +23 -0
  182. package/nitrogen/generated/android/c++/JActivity.hpp +61 -0
  183. package/nitrogen/generated/android/c++/JAuthorizationStatus.hpp +61 -0
  184. package/nitrogen/generated/android/c++/JBackgroundGeolocationError.hpp +61 -0
  185. package/nitrogen/generated/android/c++/JConfigureOptions.hpp +179 -0
  186. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  187. package/nitrogen/generated/android/c++/JFunc_void_Activity.hpp +78 -0
  188. package/nitrogen/generated/android/c++/JFunc_void_AuthorizationStatus.hpp +77 -0
  189. package/nitrogen/generated/android/c++/JFunc_void_BackgroundGeolocationError.hpp +78 -0
  190. package/nitrogen/generated/android/c++/JFunc_void_Location.hpp +78 -0
  191. package/nitrogen/generated/android/c++/JFunc_void_StationaryLocation.hpp +78 -0
  192. package/nitrogen/generated/android/c++/JHybridNitroBackgroundGeolocationSpec.cpp +530 -0
  193. package/nitrogen/generated/android/c++/JHybridNitroBackgroundGeolocationSpec.hpp +90 -0
  194. package/nitrogen/generated/android/c++/JLocation.hpp +105 -0
  195. package/nitrogen/generated/android/c++/JLocationAccuracy.hpp +64 -0
  196. package/nitrogen/generated/android/c++/JLocationOptions.hpp +65 -0
  197. package/nitrogen/generated/android/c++/JLocationProvider.hpp +61 -0
  198. package/nitrogen/generated/android/c++/JLogEntry.hpp +73 -0
  199. package/nitrogen/generated/android/c++/JNativeLogLevel.hpp +67 -0
  200. package/nitrogen/generated/android/c++/JServiceStatus.hpp +66 -0
  201. package/nitrogen/generated/android/c++/JStationaryLocation.hpp +109 -0
  202. package/nitrogen/generated/android/c++/JVariant_NullType_AnyMap.cpp +26 -0
  203. package/nitrogen/generated/android/c++/JVariant_NullType_AnyMap.hpp +71 -0
  204. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.cpp +26 -0
  205. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.hpp +69 -0
  206. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  207. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  208. package/nitrogen/generated/android/c++/JVariant_NullType_LocationAccuracy.cpp +26 -0
  209. package/nitrogen/generated/android/c++/JVariant_NullType_LocationAccuracy.hpp +71 -0
  210. package/nitrogen/generated/android/c++/JVariant_NullType_LocationProvider.cpp +26 -0
  211. package/nitrogen/generated/android/c++/JVariant_NullType_LocationProvider.hpp +71 -0
  212. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.cpp +33 -0
  213. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.hpp +77 -0
  214. package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
  215. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Activity.kt +56 -0
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/AuthorizationStatus.kt +24 -0
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/BackgroundGeolocationError.kt +56 -0
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/ConfigureOptions.kt +182 -0
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void.kt +80 -0
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_Activity.kt +80 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_AuthorizationStatus.kt +80 -0
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_BackgroundGeolocationError.kt +80 -0
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_Location.kt +80 -0
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_StationaryLocation.kt +80 -0
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/HybridNitroBackgroundGeolocationSpec.kt +218 -0
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Location.kt +111 -0
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationAccuracy.kt +25 -0
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationOptions.kt +61 -0
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationProvider.kt +24 -0
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LogEntry.kt +71 -0
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/NativeLogLevel.kt +26 -0
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/ServiceStatus.kt +61 -0
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/StationaryLocation.kt +116 -0
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_AnyMap.kt +63 -0
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Boolean.kt +62 -0
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Double.kt +62 -0
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_LocationAccuracy.kt +62 -0
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_LocationProvider.kt +62 -0
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Map_String__String_.kt +62 -0
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_String.kt +62 -0
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/nitrobackgroundgeolocationOnLoad.kt +35 -0
  243. package/nitrogen/generated/android/nitrobackgroundgeolocation+autolinking.cmake +88 -0
  244. package/nitrogen/generated/android/nitrobackgroundgeolocation+autolinking.gradle +27 -0
  245. package/nitrogen/generated/android/nitrobackgroundgeolocationOnLoad.cpp +66 -0
  246. package/nitrogen/generated/android/nitrobackgroundgeolocationOnLoad.hpp +34 -0
  247. package/nitrogen/generated/ios/NitroBackgroundGeolocation+autolinking.rb +62 -0
  248. package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Bridge.cpp +129 -0
  249. package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Bridge.hpp +911 -0
  250. package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Umbrella.hpp +88 -0
  251. package/nitrogen/generated/ios/NitroBackgroundGeolocationAutolinking.mm +33 -0
  252. package/nitrogen/generated/ios/NitroBackgroundGeolocationAutolinking.swift +26 -0
  253. package/nitrogen/generated/ios/c++/HybridNitroBackgroundGeolocationSpecSwift.cpp +11 -0
  254. package/nitrogen/generated/ios/c++/HybridNitroBackgroundGeolocationSpecSwift.hpp +335 -0
  255. package/nitrogen/generated/ios/swift/Activity.swift +34 -0
  256. package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +44 -0
  257. package/nitrogen/generated/ios/swift/BackgroundGeolocationError.swift +34 -0
  258. package/nitrogen/generated/ios/swift/ConfigureOptions.swift +1037 -0
  259. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  260. package/nitrogen/generated/ios/swift/Func_void_Activity.swift +46 -0
  261. package/nitrogen/generated/ios/swift/Func_void_AuthorizationStatus.swift +46 -0
  262. package/nitrogen/generated/ios/swift/Func_void_BackgroundGeolocationError.swift +46 -0
  263. package/nitrogen/generated/ios/swift/Func_void_ConfigureOptions.swift +46 -0
  264. package/nitrogen/generated/ios/swift/Func_void_Location.swift +46 -0
  265. package/nitrogen/generated/ios/swift/Func_void_ServiceStatus.swift +46 -0
  266. package/nitrogen/generated/ios/swift/Func_void_StationaryLocation.swift +46 -0
  267. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  268. package/nitrogen/generated/ios/swift/Func_void_std__optional_StationaryLocation_.swift +46 -0
  269. package/nitrogen/generated/ios/swift/Func_void_std__vector_Location_.swift +46 -0
  270. package/nitrogen/generated/ios/swift/Func_void_std__vector_LogEntry_.swift +46 -0
  271. package/nitrogen/generated/ios/swift/HybridNitroBackgroundGeolocationSpec.swift +82 -0
  272. package/nitrogen/generated/ios/swift/HybridNitroBackgroundGeolocationSpec_cxx.swift +675 -0
  273. package/nitrogen/generated/ios/swift/Location.swift +89 -0
  274. package/nitrogen/generated/ios/swift/LocationAccuracy.swift +48 -0
  275. package/nitrogen/generated/ios/swift/LocationOptions.swift +78 -0
  276. package/nitrogen/generated/ios/swift/LocationProvider.swift +44 -0
  277. package/nitrogen/generated/ios/swift/LogEntry.swift +49 -0
  278. package/nitrogen/generated/ios/swift/NativeLogLevel.swift +52 -0
  279. package/nitrogen/generated/ios/swift/ServiceStatus.swift +39 -0
  280. package/nitrogen/generated/ios/swift/StationaryLocation.swift +94 -0
  281. package/nitrogen/generated/ios/swift/Variant_NullType_AnyMap.swift +30 -0
  282. package/nitrogen/generated/ios/swift/Variant_NullType_Bool.swift +30 -0
  283. package/nitrogen/generated/ios/swift/Variant_NullType_Dictionary_String__String_.swift +30 -0
  284. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +30 -0
  285. package/nitrogen/generated/ios/swift/Variant_NullType_LocationAccuracy.swift +30 -0
  286. package/nitrogen/generated/ios/swift/Variant_NullType_LocationProvider.swift +30 -0
  287. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +30 -0
  288. package/nitrogen/generated/shared/c++/Activity.hpp +87 -0
  289. package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +63 -0
  290. package/nitrogen/generated/shared/c++/BackgroundGeolocationError.hpp +87 -0
  291. package/nitrogen/generated/shared/c++/ConfigureOptions.hpp +197 -0
  292. package/nitrogen/generated/shared/c++/HybridNitroBackgroundGeolocationSpec.cpp +48 -0
  293. package/nitrogen/generated/shared/c++/HybridNitroBackgroundGeolocationSpec.hpp +121 -0
  294. package/nitrogen/generated/shared/c++/Location.hpp +131 -0
  295. package/nitrogen/generated/shared/c++/LocationAccuracy.hpp +69 -0
  296. package/nitrogen/generated/shared/c++/LocationOptions.hpp +91 -0
  297. package/nitrogen/generated/shared/c++/LocationProvider.hpp +63 -0
  298. package/nitrogen/generated/shared/c++/LogEntry.hpp +99 -0
  299. package/nitrogen/generated/shared/c++/NativeLogLevel.hpp +65 -0
  300. package/nitrogen/generated/shared/c++/ServiceStatus.hpp +92 -0
  301. package/nitrogen/generated/shared/c++/StationaryLocation.hpp +135 -0
  302. package/package.json +112 -0
  303. package/react-native.config.js +10 -0
  304. package/src/NitroBackgroundGeolocation.nitro.ts +656 -0
  305. package/src/headless.ts +91 -0
  306. package/src/index.tsx +100 -0
@@ -0,0 +1,656 @@
1
+ import type { AnyMap, HybridObject } from 'react-native-nitro-modules';
2
+
3
+ // --- Enums ---
4
+
5
+ /**
6
+ * Selects which native location provider strategy should be used.
7
+ *
8
+ * - **Default:** `LocationProvider.DISTANCE_FILTER`
9
+ */
10
+ export enum LocationProvider {
11
+ /**
12
+ * Uses the classic distance-filter provider with Stationary API and an elastic
13
+ * distance filter for optimal battery and data usage.
14
+ */
15
+ DISTANCE_FILTER = 0,
16
+ /**
17
+ * Uses activity recognition together with fused location updates.
18
+ * Best suited for foreground-style tracking.
19
+ */
20
+ ACTIVITY = 1,
21
+ /**
22
+ * Returns raw sensor/device locations without additional provider-side processing.
23
+ */
24
+ RAW = 2,
25
+ }
26
+
27
+ /**
28
+ * Operational mode used by the original Cordova plugin's iOS `switchMode()`.
29
+ * Kept for parity in the type surface, but not currently consumed by the Nitro API.
30
+ *
31
+ * - **Platform:** iOS concept
32
+ */
33
+ export enum ServiceMode {
34
+ /**
35
+ * Background mode.
36
+ */
37
+ BACKGROUND = 0,
38
+ /**
39
+ * Foreground mode.
40
+ */
41
+ FOREGROUND = 1,
42
+ }
43
+
44
+ /**
45
+ * Authorization status reported by the native layer.
46
+ */
47
+ export enum AuthorizationStatus {
48
+ /**
49
+ * Location access is not authorized.
50
+ */
51
+ NOT_AUTHORIZED = 0,
52
+ /**
53
+ * Authorized to run in background and foreground.
54
+ */
55
+ AUTHORIZED = 1,
56
+ /**
57
+ * Foreground-only authorization.
58
+ * Reserved for platforms that expose this distinction.
59
+ *
60
+ * - **Platform:** iOS-only in the underlying Cordova model
61
+ */
62
+ AUTHORIZED_FOREGROUND = 2,
63
+ }
64
+
65
+ /**
66
+ * Desired location accuracy in meters.
67
+ * Lower accuracy generally means lower power drain.
68
+ *
69
+ * - **Default:** `LocationAccuracy.MEDIUM`
70
+ */
71
+ export enum LocationAccuracy {
72
+ /**
73
+ * Highest accuracy.
74
+ */
75
+ HIGH = 0,
76
+ /**
77
+ * Medium accuracy.
78
+ */
79
+ MEDIUM = 100,
80
+ /**
81
+ * Low accuracy.
82
+ */
83
+ LOW = 1000,
84
+ /**
85
+ * Passive accuracy.
86
+ */
87
+ PASSIVE = 10000,
88
+ }
89
+
90
+ /**
91
+ * Minimum log severity for log retrieval.
92
+ * Use this to filter native log records from most verbose (`TRACE`) to least verbose (`ERROR`).
93
+ */
94
+ export enum NativeLogLevel {
95
+ /** Most verbose diagnostic logging. */
96
+ TraceValue = 0,
97
+ /** Debug-level logging for development and investigation. */
98
+ DebugValue = 1,
99
+ /** General informational logging. */
100
+ InfoValue = 2,
101
+ /** Warning-level logging for recoverable problems. */
102
+ WarnValue = 3,
103
+ /** Error-level logging for failures. */
104
+ ErrorValue = 4,
105
+ }
106
+
107
+ /**
108
+ * Error codes returned by `getCurrentLocation()`.
109
+ */
110
+ export enum LocationErrorCode {
111
+ /**
112
+ * Request failed due to missing permissions.
113
+ */
114
+ PERMISSION_DENIED = 1,
115
+ /**
116
+ * The internal location source returned an error.
117
+ */
118
+ LOCATION_UNAVAILABLE = 2,
119
+ /**
120
+ * The request exceeded the configured timeout.
121
+ */
122
+ TIMEOUT = 3,
123
+ }
124
+
125
+ export type NullableString = string | null;
126
+ export type NullableNumber = number | null;
127
+ export type NullableBoolean = boolean | null;
128
+ export type NullableHeaders = Record<string, string> | null;
129
+ export type NullableAnyMap = AnyMap | null;
130
+ export type NullableLocationProvider = LocationProvider | null;
131
+ export type NullableLocationAccuracy = LocationAccuracy | null;
132
+
133
+ // --- Structs ---
134
+
135
+ /**
136
+ * Configuration applied to the background geolocation engine.
137
+ * Later calls may provide only a subset of fields; omitted fields stay unchanged.
138
+ * Pass `null` to restore a supported field to its native default.
139
+ */
140
+ export interface ConfigureOptions {
141
+ /**
142
+ * Which native provider strategy should be used.
143
+ *
144
+ * - **Default:** `LocationProvider.DISTANCE_FILTER`
145
+ * - **Platform:** all
146
+ */
147
+ locationProvider?: NullableLocationProvider;
148
+ /**
149
+ * Desired accuracy in meters. Lower accuracy usually reduces power drain.
150
+ * See `LocationAccuracy` for the available accuracy tiers.
151
+ *
152
+ * - **Default:** `LocationAccuracy.MEDIUM`
153
+ * - **Platform:** all
154
+ */
155
+ desiredAccuracy?: NullableLocationAccuracy;
156
+ /**
157
+ * Stationary radius in meters.
158
+ * When stopped, the device must move beyond this radius before aggressive tracking resumes.
159
+ *
160
+ * - **Default:** `50`
161
+ * - **Platform:** all
162
+ */
163
+ stationaryRadius?: NullableNumber;
164
+ /**
165
+ * When enabled, the plugin emits debugging sounds for lifecycle events.
166
+ *
167
+ * - **Default:** `false`
168
+ * - **Platform:** all
169
+ */
170
+ debug?: NullableBoolean;
171
+ /**
172
+ * Minimum horizontal distance in meters the device must move before an update is generated.
173
+ *
174
+ * - **Default:** `500`
175
+ * - **Platform:** all
176
+ */
177
+ distanceFilter?: NullableNumber;
178
+ /**
179
+ * Force tracking to stop when the application is terminated.
180
+ *
181
+ * - **Default:** `true`
182
+ * - **Platform:** all
183
+ */
184
+ stopOnTerminate?: NullableBoolean;
185
+ /**
186
+ * Start the background service when the device boots.
187
+ *
188
+ * - **Default:** `false`
189
+ * - **Platform:** Android
190
+ */
191
+ startOnBoot?: NullableBoolean;
192
+ /**
193
+ * Minimum time interval between location updates, in milliseconds.
194
+ *
195
+ * - **Default:** `600000`
196
+ * - **Platform:** Android
197
+ */
198
+ interval?: NullableNumber;
199
+ /**
200
+ * Fastest rate, in milliseconds, at which the app can handle location updates.
201
+ *
202
+ * - **Default:** `120000`
203
+ * - **Platform:** Android
204
+ */
205
+ fastestInterval?: NullableNumber;
206
+ /**
207
+ * Rate, in milliseconds, at which activity recognition occurs.
208
+ * Larger values improve battery life but reduce detection frequency.
209
+ *
210
+ * - **Default:** `10000`
211
+ * - **Platform:** Android
212
+ */
213
+ activitiesInterval?: NullableNumber;
214
+ /**
215
+ * Deprecated upstream Android option that stops location updates when STILL is detected.
216
+ *
217
+ * - **Default:** `true`
218
+ * - **Platform:** Android
219
+ */
220
+ stopOnStillActivity?: NullableBoolean;
221
+ /**
222
+ * Enable or disable local notifications while tracking and syncing locations.
223
+ *
224
+ * - **Default:** `true`
225
+ * - **Platform:** Android
226
+ */
227
+ notificationsEnabled?: NullableBoolean;
228
+ /**
229
+ * Allow the location service to run in foreground state.
230
+ * Foreground mode requires a visible notification.
231
+ *
232
+ * - **Default:** `true`
233
+ * - **Platform:** Android
234
+ */
235
+ startForeground?: NullableBoolean;
236
+ /**
237
+ * Custom notification title shown in the drawer.
238
+ *
239
+ * - **Default:** `"Background tracking"`
240
+ * - **Platform:** Android
241
+ */
242
+ notificationTitle?: NullableString;
243
+ /**
244
+ * Custom notification text shown in the drawer.
245
+ *
246
+ * - **Default:** `"ENABLED"`
247
+ * - **Platform:** Android
248
+ */
249
+ notificationText?: NullableString;
250
+ /**
251
+ * Accent color used for the notification, for example `#4CAF50`.
252
+ *
253
+ * - **Default:** `""`
254
+ * - **Platform:** Android
255
+ */
256
+ notificationIconColor?: NullableString;
257
+ /**
258
+ * Resource name of a custom large notification icon.
259
+ *
260
+ * - **Default:** `""`
261
+ * - **Platform:** Android
262
+ */
263
+ notificationIconLarge?: NullableString;
264
+ /**
265
+ * Resource name of a custom small notification icon.
266
+ *
267
+ * - **Default:** `""`
268
+ * - **Platform:** Android
269
+ */
270
+ notificationIconSmall?: NullableString;
271
+ /**
272
+ * iOS activity type hint.
273
+ *
274
+ * - **Default:** native platform default
275
+ * - **Platform:** iOS
276
+ */
277
+ activityType?: NullableString;
278
+ /**
279
+ * Allow the system to pause location updates automatically on iOS.
280
+ *
281
+ * - **Default:** platform default / not used on Android
282
+ * - **Platform:** iOS
283
+ */
284
+ pauseLocationUpdates?: NullableBoolean;
285
+ /**
286
+ * Reduce accuracy in the background to save battery on iOS.
287
+ *
288
+ * - **Default:** platform default / not used on Android
289
+ * - **Platform:** iOS
290
+ */
291
+ saveBatteryOnBackground?: NullableBoolean;
292
+ /**
293
+ * Server URL that receives immediate HTTP POSTs for recorded locations.
294
+ *
295
+ * - **Default:** `""`
296
+ * - **Platform:** all
297
+ */
298
+ url?: NullableString;
299
+ /**
300
+ * Server URL that receives batched retries for locations that previously failed to post.
301
+ *
302
+ * - **Default:** `""`
303
+ * - **Platform:** all
304
+ */
305
+ syncUrl?: NullableString;
306
+ /**
307
+ * Number of failed locations to batch together before syncing.
308
+ *
309
+ * - **Default:** `100`
310
+ * - **Platform:** all
311
+ */
312
+ syncThreshold?: NullableNumber;
313
+ /**
314
+ * Optional HTTP headers sent with location POST requests.
315
+ *
316
+ * - **Default:** `undefined`
317
+ * - **Platform:** all
318
+ */
319
+ httpHeaders?: NullableHeaders;
320
+ /**
321
+ * Maximum number of locations stored in the local database.
322
+ *
323
+ * - **Default:** `10000`
324
+ * - **Platform:** all
325
+ */
326
+ maxLocations?: NullableNumber;
327
+ /**
328
+ * Custom POST template for `url` and `syncUrl`.
329
+ * Supports object or array shapes and may include location placeholders such as `@latitude`.
330
+ *
331
+ * - **Default:** native template behavior
332
+ * - **Platform:** all
333
+ */
334
+ postTemplate?: NullableAnyMap;
335
+ }
336
+
337
+ /**
338
+ * A recorded location fix.
339
+ */
340
+ export interface Location {
341
+ /**
342
+ * Location identifier as stored in the database.
343
+ */
344
+ id: number;
345
+ /**
346
+ * Native provider name, such as `gps`, `network`, `passive`, or `fused`.
347
+ */
348
+ provider: string;
349
+ /**
350
+ * Numeric location provider code.
351
+ */
352
+ locationProvider: number;
353
+ /**
354
+ * UTC timestamp of this fix in milliseconds since January 1, 1970.
355
+ */
356
+ time: number;
357
+ /**
358
+ * Latitude in degrees.
359
+ */
360
+ latitude: number;
361
+ /**
362
+ * Longitude in degrees.
363
+ */
364
+ longitude: number;
365
+ /**
366
+ * Estimated accuracy of this location in meters.
367
+ */
368
+ accuracy: number;
369
+ /**
370
+ * Speed in meters per second over ground.
371
+ */
372
+ speed: number;
373
+ /**
374
+ * Altitude in meters above the WGS 84 reference ellipsoid.
375
+ */
376
+ altitude: number;
377
+ /**
378
+ * Estimated altitude accuracy in meters.
379
+ */
380
+ altitudeAccuracy: number;
381
+ /**
382
+ * Bearing in degrees.
383
+ */
384
+ bearing: number;
385
+ /**
386
+ * Android only. True when the location was recorded by a mock provider.
387
+ */
388
+ isFromMockProvider: boolean;
389
+ /**
390
+ * Android only. True when mock locations are enabled on the device.
391
+ */
392
+ mockLocationsEnabled: boolean;
393
+ }
394
+
395
+ /**
396
+ * A stationary location fix with an additional stationary radius.
397
+ */
398
+ export interface StationaryLocation {
399
+ id: number;
400
+ provider: string;
401
+ locationProvider: number;
402
+ time: number;
403
+ latitude: number;
404
+ longitude: number;
405
+ accuracy: number;
406
+ speed: number;
407
+ altitude: number;
408
+ altitudeAccuracy: number;
409
+ bearing: number;
410
+ isFromMockProvider: boolean;
411
+ mockLocationsEnabled: boolean;
412
+ /**
413
+ * Radius in meters that defines the stationary region.
414
+ */
415
+ radius: number;
416
+ }
417
+
418
+ /**
419
+ * Activity recognition payload reported by the Android activity provider.
420
+ */
421
+ export interface Activity {
422
+ /**
423
+ * Percentage indicating the likelihood the user is performing this activity.
424
+ */
425
+ confidence: number;
426
+ /**
427
+ * Activity type such as `IN_VEHICLE`, `ON_BICYCLE`, `ON_FOOT`, `RUNNING`,
428
+ * `STILL`, `TILTING`, `UNKNOWN`, or `WALKING`.
429
+ */
430
+ type: string;
431
+ }
432
+
433
+ /**
434
+ * Current runtime status of the service and device location state.
435
+ */
436
+ export interface ServiceStatus {
437
+ /**
438
+ * True when the background geolocation service is running.
439
+ */
440
+ isRunning: boolean;
441
+ /**
442
+ * True when device location services are enabled.
443
+ */
444
+ locationServicesEnabled: boolean;
445
+ /**
446
+ * Current authorization status.
447
+ */
448
+ authorization: AuthorizationStatus;
449
+ }
450
+
451
+ /**
452
+ * Single log entry returned from the native logger database.
453
+ */
454
+ export interface LogEntry {
455
+ id: number;
456
+ timestamp: number;
457
+ level: string;
458
+ message: string;
459
+ stackTrace: string;
460
+ }
461
+
462
+ /**
463
+ * Options for a one-time current location request.
464
+ */
465
+ export interface LocationOptions {
466
+ /**
467
+ * Maximum time in milliseconds to wait for a location fix.
468
+ *
469
+ * - **Default:** `30000`
470
+ */
471
+ timeout?: number;
472
+ /**
473
+ * Maximum age in milliseconds of a cached location that is acceptable to return.
474
+ *
475
+ * - **Default:** `0`
476
+ */
477
+ maximumAge?: number;
478
+ /**
479
+ * If true, request the most accurate position the device can provide.
480
+ *
481
+ * - **Default:** `false`
482
+ */
483
+ enableHighAccuracy?: boolean;
484
+ }
485
+
486
+ /**
487
+ * Error payload returned by the native plugin.
488
+ */
489
+ export interface BackgroundGeolocationError {
490
+ /**
491
+ * Numeric error code.
492
+ */
493
+ code: number;
494
+ /**
495
+ * Human-readable error message.
496
+ */
497
+ message: string;
498
+ }
499
+
500
+ // --- HybridObject ---
501
+
502
+ /**
503
+ * Nitro bridge for the background geolocation engine.
504
+ */
505
+ export interface NitroBackgroundGeolocation extends HybridObject<{
506
+ ios: 'swift';
507
+ android: 'kotlin';
508
+ }> {
509
+ // Lifecycle
510
+ /**
511
+ * Configure the plugin.
512
+ * Omitted fields keep their previous values.
513
+ * Pass `null` to restore a field to its native default.
514
+ */
515
+ configure(options: ConfigureOptions): Promise<void>;
516
+ /**
517
+ * Start background geolocation.
518
+ */
519
+ start(): Promise<void>;
520
+ /**
521
+ * Stop background geolocation.
522
+ */
523
+ stop(): Promise<void>;
524
+
525
+ // Location
526
+ /**
527
+ * Perform a one-time location check for the device's current position.
528
+ */
529
+ getCurrentLocation(options: LocationOptions): Promise<Location>;
530
+ /**
531
+ * Return the current stationary location, if one exists.
532
+ */
533
+ getStationaryLocation(): Promise<StationaryLocation | undefined>;
534
+
535
+ // Status
536
+ /**
537
+ * Check whether the service is running, whether location services are enabled,
538
+ * and what authorization state is currently reported.
539
+ */
540
+ checkStatus(): Promise<ServiceStatus>;
541
+ /**
542
+ * Return the fully applied configuration after native merging/defaulting.
543
+ * Useful when `configure()` was called with only a subset of fields.
544
+ */
545
+ getConfig(): Promise<ConfigureOptions>;
546
+ /**
547
+ * Open the app settings screen so the user can change location permissions.
548
+ *
549
+ * - **Platform:** Android
550
+ */
551
+ showAppSettings(): void;
552
+ /**
553
+ * Open the system location settings screen.
554
+ *
555
+ * - **Platform:** Android
556
+ */
557
+ showLocationSettings(): void;
558
+
559
+ // Storage
560
+ /**
561
+ * Return all stored locations.
562
+ * Useful for initial rendering immediately after app launch.
563
+ */
564
+ getLocations(): Promise<Location[]>;
565
+ /**
566
+ * Return locations that have not yet been posted to the server.
567
+ */
568
+ getValidLocations(): Promise<Location[]>;
569
+ /**
570
+ * Return valid locations and mark them deleted so they are not returned again.
571
+ */
572
+ getValidLocationsAndDelete(): Promise<Location[]>;
573
+ /**
574
+ * Delete a location by its database id.
575
+ */
576
+ deleteLocation(locationId: number): Promise<void>;
577
+ /**
578
+ * Delete all stored locations.
579
+ * Native storage keeps ids monotonic by marking rows deleted rather than removing them outright.
580
+ */
581
+ deleteAllLocations(): Promise<void>;
582
+
583
+ // Sync
584
+ /**
585
+ * Force synchronization of stored locations to the configured server.
586
+ */
587
+ forceSync(): Promise<void>;
588
+
589
+ // Logging
590
+ /**
591
+ * Return log entries filtered by limit, starting id, and minimum level.
592
+ */
593
+ getLogEntries(
594
+ limit: number,
595
+ fromId: number,
596
+ minLevel: NativeLogLevel
597
+ ): Promise<LogEntry[]>;
598
+
599
+ // Events — each returns a disposer function
600
+ /**
601
+ * Subscribe to location updates.
602
+ */
603
+ onLocation(callback: (location: Location) => void): () => void;
604
+ /**
605
+ * Subscribe to the device entering stationary mode.
606
+ */
607
+ onStationary(callback: (location: StationaryLocation) => void): () => void;
608
+ /**
609
+ * Subscribe to activity detection changes.
610
+ *
611
+ * - **Platform:** Android
612
+ */
613
+ onActivity(callback: (activity: Activity) => void): () => void;
614
+ /**
615
+ * Subscribe to tracking start events.
616
+ */
617
+ onStart(callback: () => void): () => void;
618
+ /**
619
+ * Subscribe to tracking stop events.
620
+ */
621
+ onStop(callback: () => void): () => void;
622
+ /**
623
+ * Subscribe to plugin errors.
624
+ */
625
+ onError(callback: (error: BackgroundGeolocationError) => void): () => void;
626
+ /**
627
+ * Subscribe to authorization status changes.
628
+ */
629
+ onAuthorization(callback: (status: AuthorizationStatus) => void): () => void;
630
+ /**
631
+ * Subscribe to app foreground transitions.
632
+ *
633
+ * - **Platform:** Android
634
+ */
635
+ onForeground(callback: () => void): () => void;
636
+ /**
637
+ * Subscribe to app background transitions.
638
+ *
639
+ * - **Platform:** Android
640
+ */
641
+ onBackground(callback: () => void): () => void;
642
+ /**
643
+ * Subscribe to server responses indicating updates are not required.
644
+ */
645
+ onAbortRequested(callback: () => void): () => void;
646
+ /**
647
+ * Subscribe to server responses indicating HTTP authorization is required.
648
+ */
649
+ onHttpAuthorization(callback: () => void): () => void;
650
+
651
+ // Cleanup
652
+ /**
653
+ * Remove all registered event listeners.
654
+ */
655
+ removeAllListeners(): void;
656
+ }