@josuelmm/capacitor-background-geolocation 1.0.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 (207) hide show
  1. package/JosuelmmCapacitorBackgroundGeolocation.podspec +34 -0
  2. package/LICENSE +17 -0
  3. package/NOTICE.md +32 -0
  4. package/Package.swift +45 -0
  5. package/README.md +402 -0
  6. package/android/build.gradle +79 -0
  7. package/android/proguard-rules.pro +1 -0
  8. package/android/src/main/AndroidManifest.xml +83 -0
  9. package/android/src/main/java/com/evgenii/jsevaluator/HandlerWrapper.java +18 -0
  10. package/android/src/main/java/com/evgenii/jsevaluator/JavaScriptInterface.java +22 -0
  11. package/android/src/main/java/com/evgenii/jsevaluator/JsEvaluator.java +133 -0
  12. package/android/src/main/java/com/evgenii/jsevaluator/JsFunctionCallFormatter.java +37 -0
  13. package/android/src/main/java/com/evgenii/jsevaluator/WebViewWrapper.java +71 -0
  14. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/CallJavaResultInterface.java +8 -0
  15. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/HandlerWrapperInterface.java +5 -0
  16. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/JsCallback.java +10 -0
  17. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/JsEvaluatorInterface.java +18 -0
  18. package/android/src/main/java/com/evgenii/jsevaluator/interfaces/WebViewWrapperInterface.java +14 -0
  19. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/BackgroundGeolocationPlugin.java +898 -0
  20. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/ConfigMapper.java +303 -0
  21. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/HeadlessTaskRegistry.java +34 -0
  22. package/android/src/main/java/com/josuelmm/capacitor/backgroundgeolocation/JsEvaluatorTaskRunner.java +63 -0
  23. package/android/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java +699 -0
  24. package/android/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +103 -0
  25. package/android/src/main/java/com/marianhello/bgloc/Config.java +1155 -0
  26. package/android/src/main/java/com/marianhello/bgloc/ConnectivityListener.java +5 -0
  27. package/android/src/main/java/com/marianhello/bgloc/HttpPostService.java +362 -0
  28. package/android/src/main/java/com/marianhello/bgloc/LocationManager.java +138 -0
  29. package/android/src/main/java/com/marianhello/bgloc/PluginDelegate.java +45 -0
  30. package/android/src/main/java/com/marianhello/bgloc/PluginException.java +38 -0
  31. package/android/src/main/java/com/marianhello/bgloc/PostLocationTask.java +238 -0
  32. package/android/src/main/java/com/marianhello/bgloc/ResourceResolver.java +55 -0
  33. package/android/src/main/java/com/marianhello/bgloc/data/AbstractLocationTemplate.java +69 -0
  34. package/android/src/main/java/com/marianhello/bgloc/data/ArrayListLocationTemplate.java +88 -0
  35. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundActivity.java +108 -0
  36. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +1088 -0
  37. package/android/src/main/java/com/marianhello/bgloc/data/ConfigJsonMapper.java +211 -0
  38. package/android/src/main/java/com/marianhello/bgloc/data/ConfigurationDAO.java +13 -0
  39. package/android/src/main/java/com/marianhello/bgloc/data/DAOFactory.java +17 -0
  40. package/android/src/main/java/com/marianhello/bgloc/data/HashMapLocationTemplate.java +82 -0
  41. package/android/src/main/java/com/marianhello/bgloc/data/LocationDAO.java +27 -0
  42. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplate.java +12 -0
  43. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +71 -0
  44. package/android/src/main/java/com/marianhello/bgloc/data/LocationTransform.java +19 -0
  45. package/android/src/main/java/com/marianhello/bgloc/data/SessionLocationDAO.java +18 -0
  46. package/android/src/main/java/com/marianhello/bgloc/data/provider/ContentProviderLocationDAO.java +406 -0
  47. package/android/src/main/java/com/marianhello/bgloc/data/provider/LocationContentProvider.java +321 -0
  48. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +94 -0
  49. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +227 -0
  50. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +122 -0
  51. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +550 -0
  52. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +189 -0
  53. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteSessionContract.java +74 -0
  54. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteSessionLocationDAO.java +169 -0
  55. package/android/src/main/java/com/marianhello/bgloc/driving/DrivingEventsDetector.java +265 -0
  56. package/android/src/main/java/com/marianhello/bgloc/headless/AbstractTaskRunner.java +15 -0
  57. package/android/src/main/java/com/marianhello/bgloc/headless/ActivityTask.java +48 -0
  58. package/android/src/main/java/com/marianhello/bgloc/headless/JsCallback.java +10 -0
  59. package/android/src/main/java/com/marianhello/bgloc/headless/LocationTask.java +60 -0
  60. package/android/src/main/java/com/marianhello/bgloc/headless/StationaryTask.java +25 -0
  61. package/android/src/main/java/com/marianhello/bgloc/headless/Task.java +8 -0
  62. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunner.java +5 -0
  63. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunnerFactory.java +8 -0
  64. package/android/src/main/java/com/marianhello/bgloc/http/UrlTemplateResolver.java +115 -0
  65. package/android/src/main/java/com/marianhello/bgloc/oem/BatteryOemHelper.java +214 -0
  66. package/android/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +218 -0
  67. package/android/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +385 -0
  68. package/android/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +685 -0
  69. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProvider.java +32 -0
  70. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProviderFactory.java +47 -0
  71. package/android/src/main/java/com/marianhello/bgloc/provider/ProviderDelegate.java +12 -0
  72. package/android/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +175 -0
  73. package/android/src/main/java/com/marianhello/bgloc/sensor/SensorFusionDetector.java +199 -0
  74. package/android/src/main/java/com/marianhello/bgloc/service/LocationService.java +16 -0
  75. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +1531 -0
  76. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfo.java +6 -0
  77. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfoImpl.java +41 -0
  78. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder.java +203 -0
  79. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +156 -0
  80. package/android/src/main/java/com/marianhello/bgloc/sync/AccountHelper.java +39 -0
  81. package/android/src/main/java/com/marianhello/bgloc/sync/Authenticator.java +68 -0
  82. package/android/src/main/java/com/marianhello/bgloc/sync/AuthenticatorService.java +28 -0
  83. package/android/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +311 -0
  84. package/android/src/main/java/com/marianhello/bgloc/sync/NotificationHelper.java +148 -0
  85. package/android/src/main/java/com/marianhello/bgloc/sync/SyncAdapter.java +301 -0
  86. package/android/src/main/java/com/marianhello/bgloc/sync/SyncService.java +68 -0
  87. package/android/src/main/java/com/marianhello/logging/DBLogReader.java +208 -0
  88. package/android/src/main/java/com/marianhello/logging/LogEntry.java +99 -0
  89. package/android/src/main/java/com/marianhello/logging/LoggerManager.java +70 -0
  90. package/android/src/main/java/com/marianhello/logging/UncaughtExceptionLogger.java +36 -0
  91. package/android/src/main/java/com/marianhello/utils/CloneHelper.java +22 -0
  92. package/android/src/main/java/com/marianhello/utils/Convert.java +56 -0
  93. package/android/src/main/java/com/marianhello/utils/TextUtils.java +72 -0
  94. package/android/src/main/java/com/marianhello/utils/ToneGenerator.java +68 -0
  95. package/android/src/main/java/org/apache/commons/io/Charsets.java +153 -0
  96. package/android/src/main/java/org/apache/commons/io/input/ReversedLinesFileReader.java +344 -0
  97. package/android/src/main/java/org/chromium/content/browser/ThreadUtils.java +134 -0
  98. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlExpression.java +398 -0
  99. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlSelectStatement.java +671 -0
  100. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlStatement.java +29 -0
  101. package/android/src/main/java/ru/andremoniy/utils/TextUtils.java +61 -0
  102. package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  103. package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  104. package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  105. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  106. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  107. package/android/src/main/res/values/strings.xml +15 -0
  108. package/android/src/main/res/xml/authenticator.xml +7 -0
  109. package/android/src/main/res/xml/syncadapter.xml +9 -0
  110. package/dist/esm/definitions.d.ts +1052 -0
  111. package/dist/esm/definitions.js +142 -0
  112. package/dist/esm/definitions.js.map +1 -0
  113. package/dist/esm/index.d.ts +8 -0
  114. package/dist/esm/index.js +23 -0
  115. package/dist/esm/index.js.map +1 -0
  116. package/dist/esm/web.d.ts +92 -0
  117. package/dist/esm/web.js +242 -0
  118. package/dist/esm/web.js.map +1 -0
  119. package/dist/plugin.cjs.js +415 -0
  120. package/dist/plugin.cjs.js.map +1 -0
  121. package/dist/plugin.js +418 -0
  122. package/dist/plugin.js.map +1 -0
  123. package/ios/Sources/BackgroundGeolocationPlugin/BackgroundGeolocationPlugin-Bridging-Header.h +18 -0
  124. package/ios/Sources/BackgroundGeolocationPlugin/BackgroundGeolocationPlugin.m +52 -0
  125. package/ios/Sources/BackgroundGeolocationPlugin/BackgroundGeolocationPlugin.swift +750 -0
  126. package/ios/Tests/BackgroundGeolocationPluginTests/BackgroundGeolocationPluginTests.swift +12 -0
  127. package/ios/common/BackgroundGeolocation/CocoaLumberjack.h +1945 -0
  128. package/ios/common/BackgroundGeolocation/CocoaLumberjack.m +5255 -0
  129. package/ios/common/BackgroundGeolocation/FMDB.h +2357 -0
  130. package/ios/common/BackgroundGeolocation/FMDB.m +2672 -0
  131. package/ios/common/BackgroundGeolocation/FMDBLogger.h +42 -0
  132. package/ios/common/BackgroundGeolocation/FMDBLogger.m +264 -0
  133. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.h +41 -0
  134. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.m +68 -0
  135. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager+Internal.h +33 -0
  136. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.h +178 -0
  137. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.m +1025 -0
  138. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.h +103 -0
  139. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.m +238 -0
  140. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequestDefines.h +163 -0
  141. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.h +39 -0
  142. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.m +37 -0
  143. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.h +51 -0
  144. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.m +53 -0
  145. package/ios/common/BackgroundGeolocation/MAURActivity.h +23 -0
  146. package/ios/common/BackgroundGeolocation/MAURActivity.m +52 -0
  147. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.h +18 -0
  148. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +340 -0
  149. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.h +88 -0
  150. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +1193 -0
  151. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.h +46 -0
  152. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +283 -0
  153. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.h +25 -0
  154. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.m +105 -0
  155. package/ios/common/BackgroundGeolocation/MAURConfig.h +99 -0
  156. package/ios/common/BackgroundGeolocation/MAURConfig.m +636 -0
  157. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +53 -0
  158. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +54 -0
  159. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.h +20 -0
  160. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +550 -0
  161. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.h +17 -0
  162. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +124 -0
  163. package/ios/common/BackgroundGeolocation/MAURLocation.h +73 -0
  164. package/ios/common/BackgroundGeolocation/MAURLocation.m +392 -0
  165. package/ios/common/BackgroundGeolocation/MAURLocationContract.h +38 -0
  166. package/ios/common/BackgroundGeolocation/MAURLocationContract.m +39 -0
  167. package/ios/common/BackgroundGeolocation/MAURLocationManager.h +53 -0
  168. package/ios/common/BackgroundGeolocation/MAURLocationManager.m +305 -0
  169. package/ios/common/BackgroundGeolocation/MAURLogReader.h +26 -0
  170. package/ios/common/BackgroundGeolocation/MAURLogReader.m +122 -0
  171. package/ios/common/BackgroundGeolocation/MAURLogging.h +19 -0
  172. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +53 -0
  173. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +367 -0
  174. package/ios/common/BackgroundGeolocation/MAURProviderDelegate.h +52 -0
  175. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.h +18 -0
  176. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +138 -0
  177. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.h +26 -0
  178. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +335 -0
  179. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.h +57 -0
  180. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.m +93 -0
  181. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +52 -0
  182. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +520 -0
  183. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.h +32 -0
  184. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.m +276 -0
  185. package/ios/common/BackgroundGeolocation/MAURSensorFusionDetector.h +41 -0
  186. package/ios/common/BackgroundGeolocation/MAURSensorFusionDetector.m +137 -0
  187. package/ios/common/BackgroundGeolocation/MAURSessionLocationContract.h +29 -0
  188. package/ios/common/BackgroundGeolocation/MAURSessionLocationContract.m +31 -0
  189. package/ios/common/BackgroundGeolocation/MAURSessionLocationDAO.h +25 -0
  190. package/ios/common/BackgroundGeolocation/MAURSessionLocationDAO.m +153 -0
  191. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.h +20 -0
  192. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.m +62 -0
  193. package/ios/common/BackgroundGeolocation/MAURUrlTemplateResolver.h +31 -0
  194. package/ios/common/BackgroundGeolocation/MAURUrlTemplateResolver.m +107 -0
  195. package/ios/common/BackgroundGeolocation/Reachability.h +102 -0
  196. package/ios/common/BackgroundGeolocation/Reachability.m +475 -0
  197. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/README.md +170 -0
  198. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.h +55 -0
  199. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.m +47 -0
  200. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlDataManipulationCommand.h +27 -0
  201. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.h +250 -0
  202. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.m +259 -0
  203. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.h +360 -0
  204. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.m +427 -0
  205. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlStatement.h +37 -0
  206. package/ios/common/BackgroundGeolocation/module.modulemap +16 -0
  207. package/package.json +82 -0
@@ -0,0 +1,415 @@
1
+ 'use strict';
2
+
3
+ var core = require('@capacitor/core');
4
+
5
+ // SPDX-License-Identifier: Apache-2.0
6
+ // Copyright (c) 2026 JosueLMM
7
+ //
8
+ // Capacitor plugin definitions for @josuelmm/capacitor-background-geolocation.
9
+ // Mirrors @josuelmm/cordova-background-geolocation's www/BackgroundGeolocation.d.ts
10
+ // 1:1 for v1.0.0 parity. Cordova success/fail callbacks are collapsed into
11
+ // Promises; `on(eventName, cb)` becomes Capacitor's `addListener` overloads.
12
+ /**
13
+ * Numeric mapping of {@link LocationProvider} matching the Cordova plugin.
14
+ *
15
+ * @since 1.0.0
16
+ */
17
+ const LocationProviderValue = {
18
+ DISTANCE_FILTER: 0,
19
+ ACTIVITY_PROVIDER: 1,
20
+ RAW_PROVIDER: 2,
21
+ };
22
+ /**
23
+ * Meters mapping of {@link Accuracy} (matches the Cordova plugin's `AccuracyLevel`).
24
+ *
25
+ * @since 1.0.0
26
+ */
27
+ const AccuracyValue = {
28
+ HIGH: 0,
29
+ MEDIUM: 100,
30
+ LOW: 1000,
31
+ PASSIVE: 10000,
32
+ };
33
+ /**
34
+ * Service authorization state, mirroring the Cordova plugin constants.
35
+ *
36
+ * @since 1.0.0
37
+ */
38
+ exports.AuthorizationStatus = void 0;
39
+ (function (AuthorizationStatus) {
40
+ AuthorizationStatus[AuthorizationStatus["NOT_AUTHORIZED"] = 0] = "NOT_AUTHORIZED";
41
+ AuthorizationStatus[AuthorizationStatus["AUTHORIZED"] = 1] = "AUTHORIZED";
42
+ AuthorizationStatus[AuthorizationStatus["AUTHORIZED_FOREGROUND"] = 2] = "AUTHORIZED_FOREGROUND";
43
+ })(exports.AuthorizationStatus || (exports.AuthorizationStatus = {}));
44
+ // ---------------------------------------------------------------------------
45
+ // @awesome-cordova-plugins compatibility re-exports
46
+ // ---------------------------------------------------------------------------
47
+ /** Event name strings (compatibility with `@awesome-cordova-plugins` style). @since 1.0.0 */
48
+ exports.BackgroundGeolocationEvents = void 0;
49
+ (function (BackgroundGeolocationEvents) {
50
+ BackgroundGeolocationEvents["http_authorization"] = "http_authorization";
51
+ BackgroundGeolocationEvents["abort_requested"] = "abort_requested";
52
+ BackgroundGeolocationEvents["background"] = "background";
53
+ BackgroundGeolocationEvents["foreground"] = "foreground";
54
+ BackgroundGeolocationEvents["authorization"] = "authorization";
55
+ BackgroundGeolocationEvents["error"] = "error";
56
+ BackgroundGeolocationEvents["stop"] = "stop";
57
+ BackgroundGeolocationEvents["start"] = "start";
58
+ BackgroundGeolocationEvents["activity"] = "activity";
59
+ BackgroundGeolocationEvents["stationary"] = "stationary";
60
+ BackgroundGeolocationEvents["location"] = "location";
61
+ BackgroundGeolocationEvents["heartbeat"] = "heartbeat";
62
+ BackgroundGeolocationEvents["syncStart"] = "syncStart";
63
+ BackgroundGeolocationEvents["syncProgress"] = "syncProgress";
64
+ BackgroundGeolocationEvents["syncSuccess"] = "syncSuccess";
65
+ BackgroundGeolocationEvents["syncError"] = "syncError";
66
+ BackgroundGeolocationEvents["tripStart"] = "tripStart";
67
+ BackgroundGeolocationEvents["tripEnd"] = "tripEnd";
68
+ BackgroundGeolocationEvents["moving"] = "moving";
69
+ BackgroundGeolocationEvents["stopped"] = "stopped";
70
+ BackgroundGeolocationEvents["speeding"] = "speeding";
71
+ BackgroundGeolocationEvents["providerChange"] = "providerChange";
72
+ BackgroundGeolocationEvents["sos"] = "sos";
73
+ BackgroundGeolocationEvents["hardBrake"] = "hardBrake";
74
+ BackgroundGeolocationEvents["rapidAcceleration"] = "rapidAcceleration";
75
+ BackgroundGeolocationEvents["sharpTurn"] = "sharpTurn";
76
+ BackgroundGeolocationEvents["possibleCrash"] = "possibleCrash";
77
+ BackgroundGeolocationEvents["phoneUsageWhileDriving"] = "phoneUsageWhileDriving";
78
+ })(exports.BackgroundGeolocationEvents || (exports.BackgroundGeolocationEvents = {}));
79
+ /** Location error codes. @since 1.0.0 */
80
+ exports.BackgroundGeolocationLocationCode = void 0;
81
+ (function (BackgroundGeolocationLocationCode) {
82
+ BackgroundGeolocationLocationCode[BackgroundGeolocationLocationCode["PERMISSION_DENIED"] = 1] = "PERMISSION_DENIED";
83
+ BackgroundGeolocationLocationCode[BackgroundGeolocationLocationCode["LOCATION_UNAVAILABLE"] = 2] = "LOCATION_UNAVAILABLE";
84
+ BackgroundGeolocationLocationCode[BackgroundGeolocationLocationCode["TIMEOUT"] = 3] = "TIMEOUT";
85
+ })(exports.BackgroundGeolocationLocationCode || (exports.BackgroundGeolocationLocationCode = {}));
86
+ /** Native provider strings. @since 1.0.0 */
87
+ exports.BackgroundGeolocationNativeProvider = void 0;
88
+ (function (BackgroundGeolocationNativeProvider) {
89
+ BackgroundGeolocationNativeProvider["gps"] = "gps";
90
+ BackgroundGeolocationNativeProvider["network"] = "network";
91
+ BackgroundGeolocationNativeProvider["passive"] = "passive";
92
+ BackgroundGeolocationNativeProvider["fused"] = "fused";
93
+ })(exports.BackgroundGeolocationNativeProvider || (exports.BackgroundGeolocationNativeProvider = {}));
94
+ /** Location provider IDs. @since 1.0.0 */
95
+ exports.BackgroundGeolocationLocationProvider = void 0;
96
+ (function (BackgroundGeolocationLocationProvider) {
97
+ BackgroundGeolocationLocationProvider[BackgroundGeolocationLocationProvider["DISTANCE_FILTER_PROVIDER"] = 0] = "DISTANCE_FILTER_PROVIDER";
98
+ BackgroundGeolocationLocationProvider[BackgroundGeolocationLocationProvider["ACTIVITY_PROVIDER"] = 1] = "ACTIVITY_PROVIDER";
99
+ BackgroundGeolocationLocationProvider[BackgroundGeolocationLocationProvider["RAW_PROVIDER"] = 2] = "RAW_PROVIDER";
100
+ })(exports.BackgroundGeolocationLocationProvider || (exports.BackgroundGeolocationLocationProvider = {}));
101
+ /** Authorization status. @since 1.0.0 */
102
+ exports.BackgroundGeolocationAuthorizationStatus = void 0;
103
+ (function (BackgroundGeolocationAuthorizationStatus) {
104
+ BackgroundGeolocationAuthorizationStatus[BackgroundGeolocationAuthorizationStatus["NOT_AUTHORIZED"] = 0] = "NOT_AUTHORIZED";
105
+ BackgroundGeolocationAuthorizationStatus[BackgroundGeolocationAuthorizationStatus["AUTHORIZED"] = 1] = "AUTHORIZED";
106
+ BackgroundGeolocationAuthorizationStatus[BackgroundGeolocationAuthorizationStatus["AUTHORIZED_FOREGROUND"] = 2] = "AUTHORIZED_FOREGROUND";
107
+ })(exports.BackgroundGeolocationAuthorizationStatus || (exports.BackgroundGeolocationAuthorizationStatus = {}));
108
+ /** Log levels. @since 1.0.0 */
109
+ exports.BackgroundGeolocationLogLevel = void 0;
110
+ (function (BackgroundGeolocationLogLevel) {
111
+ BackgroundGeolocationLogLevel["TRACE"] = "TRACE";
112
+ BackgroundGeolocationLogLevel["DEBUG"] = "DEBUG";
113
+ BackgroundGeolocationLogLevel["INFO"] = "INFO";
114
+ BackgroundGeolocationLogLevel["WARN"] = "WARN";
115
+ BackgroundGeolocationLogLevel["ERROR"] = "ERROR";
116
+ })(exports.BackgroundGeolocationLogLevel || (exports.BackgroundGeolocationLogLevel = {}));
117
+ /** Provider enum (compatibility with `@awesome-cordova-plugins` style). @since 1.0.0 */
118
+ exports.BackgroundGeolocationProvider = void 0;
119
+ (function (BackgroundGeolocationProvider) {
120
+ BackgroundGeolocationProvider[BackgroundGeolocationProvider["ANDROID_DISTANCE_FILTER_PROVIDER"] = 0] = "ANDROID_DISTANCE_FILTER_PROVIDER";
121
+ BackgroundGeolocationProvider[BackgroundGeolocationProvider["ANDROID_ACTIVITY_PROVIDER"] = 1] = "ANDROID_ACTIVITY_PROVIDER";
122
+ BackgroundGeolocationProvider[BackgroundGeolocationProvider["RAW_PROVIDER"] = 2] = "RAW_PROVIDER";
123
+ })(exports.BackgroundGeolocationProvider || (exports.BackgroundGeolocationProvider = {}));
124
+ /** Desired accuracy in meters. @since 1.0.0 */
125
+ exports.BackgroundGeolocationAccuracy = void 0;
126
+ (function (BackgroundGeolocationAccuracy) {
127
+ BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy["HIGH"] = 0] = "HIGH";
128
+ BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy["MEDIUM"] = 100] = "MEDIUM";
129
+ BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy["LOW"] = 1000] = "LOW";
130
+ BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy["PASSIVE"] = 10000] = "PASSIVE";
131
+ })(exports.BackgroundGeolocationAccuracy || (exports.BackgroundGeolocationAccuracy = {}));
132
+ /** Mode for `switchMode`. @since 1.0.0 */
133
+ exports.BackgroundGeolocationMode = void 0;
134
+ (function (BackgroundGeolocationMode) {
135
+ BackgroundGeolocationMode[BackgroundGeolocationMode["BACKGROUND"] = 0] = "BACKGROUND";
136
+ BackgroundGeolocationMode[BackgroundGeolocationMode["FOREGROUND"] = 1] = "FOREGROUND";
137
+ })(exports.BackgroundGeolocationMode || (exports.BackgroundGeolocationMode = {}));
138
+ /** iOS activity type. @since 1.0.0 */
139
+ exports.BackgroundGeolocationIOSActivity = void 0;
140
+ (function (BackgroundGeolocationIOSActivity) {
141
+ BackgroundGeolocationIOSActivity["AutomotiveNavigation"] = "AutomotiveNavigation";
142
+ BackgroundGeolocationIOSActivity["OtherNavigation"] = "OtherNavigation";
143
+ BackgroundGeolocationIOSActivity["Fitness"] = "Fitness";
144
+ BackgroundGeolocationIOSActivity["Other"] = "Other";
145
+ })(exports.BackgroundGeolocationIOSActivity || (exports.BackgroundGeolocationIOSActivity = {}));
146
+
147
+ // SPDX-License-Identifier: Apache-2.0
148
+ // Copyright (c) 2026 JosueLMM
149
+ const NativeBackgroundGeolocation = core.registerPlugin('BackgroundGeolocation', {
150
+ web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.BackgroundGeolocationWeb()),
151
+ });
152
+ /**
153
+ * Public plugin. `headlessTask(fn)` serialises the callback before sending it
154
+ * to the native side; every other method is a 1:1 passthrough.
155
+ */
156
+ const BackgroundGeolocation = new Proxy(NativeBackgroundGeolocation, {
157
+ get(target, prop, receiver) {
158
+ if (prop === 'headlessTask') {
159
+ return (task) => NativeBackgroundGeolocation.registerHeadlessTask({
160
+ task: task.toString(),
161
+ });
162
+ }
163
+ return Reflect.get(target, prop, receiver);
164
+ },
165
+ });
166
+
167
+ // SPDX-License-Identifier: Apache-2.0
168
+ // Copyright (c) 2026 JosueLMM
169
+ //
170
+ // Browser fallback for @josuelmm/capacitor-background-geolocation.
171
+ // Uses navigator.geolocation. Real background tracking is not possible on the
172
+ // web platform — the service runs only while the page is alive.
173
+ const NOT_AVAILABLE = 'Not available on web.';
174
+ class BackgroundGeolocationWeb extends core.WebPlugin {
175
+ constructor() {
176
+ super(...arguments);
177
+ this.watchId = null;
178
+ this.config = {};
179
+ this.lastLocation = null;
180
+ }
181
+ // ---------------- Tracking control ----------------
182
+ async configure(options) {
183
+ this.config = Object.assign(Object.assign({}, this.config), options);
184
+ }
185
+ async start() {
186
+ if (!('geolocation' in navigator)) {
187
+ throw this.unavailable('Geolocation API is not available in this browser.');
188
+ }
189
+ if (this.watchId !== null) {
190
+ return;
191
+ }
192
+ this.watchId = navigator.geolocation.watchPosition((pos) => {
193
+ const loc = this.toLocation(pos);
194
+ this.lastLocation = loc;
195
+ this.notifyListeners('location', loc);
196
+ }, (err) => {
197
+ this.notifyListeners('error', this.toError(err));
198
+ }, {
199
+ enableHighAccuracy: this.config.desiredAccuracy !== 'LOW',
200
+ maximumAge: 0,
201
+ timeout: 30000,
202
+ });
203
+ this.notifyListeners('start', {});
204
+ }
205
+ async stop() {
206
+ if (this.watchId !== null) {
207
+ navigator.geolocation.clearWatch(this.watchId);
208
+ this.watchId = null;
209
+ this.notifyListeners('stop', {});
210
+ }
211
+ }
212
+ async switchMode(_options) {
213
+ throw this.unimplemented(NOT_AVAILABLE);
214
+ }
215
+ async checkStatus() {
216
+ return {
217
+ isRunning: this.watchId !== null,
218
+ locationServicesEnabled: 'geolocation' in navigator,
219
+ authorization: exports.AuthorizationStatus.AUTHORIZED_FOREGROUND,
220
+ };
221
+ }
222
+ // ---------------- Locations ----------------
223
+ getCurrentLocation(options) {
224
+ if (!('geolocation' in navigator)) {
225
+ throw this.unavailable('Geolocation API is not available in this browser.');
226
+ }
227
+ return new Promise((resolve, reject) => {
228
+ var _a, _b, _c;
229
+ navigator.geolocation.getCurrentPosition((pos) => resolve(this.toLocation(pos)), (err) => reject(this.toError(err)), {
230
+ enableHighAccuracy: (_a = options === null || options === void 0 ? void 0 : options.enableHighAccuracy) !== null && _a !== void 0 ? _a : true,
231
+ maximumAge: (_b = options === null || options === void 0 ? void 0 : options.maximumAge) !== null && _b !== void 0 ? _b : 0,
232
+ timeout: (_c = options === null || options === void 0 ? void 0 : options.timeout) !== null && _c !== void 0 ? _c : 30000,
233
+ });
234
+ });
235
+ }
236
+ async getStationaryLocation() {
237
+ return null;
238
+ }
239
+ async getLocations() {
240
+ return { locations: [] };
241
+ }
242
+ async getValidLocations() {
243
+ return { locations: [] };
244
+ }
245
+ async getValidLocationsAndDelete() {
246
+ return { locations: [] };
247
+ }
248
+ async deleteLocation(_options) {
249
+ throw this.unimplemented(NOT_AVAILABLE);
250
+ }
251
+ async deleteAllLocations() {
252
+ throw this.unimplemented(NOT_AVAILABLE);
253
+ }
254
+ // ---------------- Sync queue ----------------
255
+ async forceSync() {
256
+ throw this.unimplemented(NOT_AVAILABLE);
257
+ }
258
+ async clearSync() {
259
+ throw this.unimplemented(NOT_AVAILABLE);
260
+ }
261
+ async getPendingSyncCount() {
262
+ return { count: 0 };
263
+ }
264
+ // ---------------- Sessions ----------------
265
+ async startSession() {
266
+ throw this.unimplemented(NOT_AVAILABLE);
267
+ }
268
+ async getSessionLocations() {
269
+ return { locations: [] };
270
+ }
271
+ async clearSession() {
272
+ throw this.unimplemented(NOT_AVAILABLE);
273
+ }
274
+ async getSessionLocationsCount() {
275
+ return { count: 0 };
276
+ }
277
+ // ---------------- Diagnostics & OEMs ----------------
278
+ async getDiagnostics() {
279
+ var _a, _b;
280
+ return {
281
+ isRunning: this.watchId !== null,
282
+ locationServicesEnabled: 'geolocation' in navigator,
283
+ lastLocationAt: (_b = (_a = this.lastLocation) === null || _a === void 0 ? void 0 : _a.time) !== null && _b !== void 0 ? _b : null,
284
+ manufacturer: 'web',
285
+ };
286
+ }
287
+ async isIgnoringBatteryOptimizations() {
288
+ return { whitelisted: true };
289
+ }
290
+ async requestIgnoreBatteryOptimizations() {
291
+ return { whitelisted: true };
292
+ }
293
+ async openBatterySettings() {
294
+ /* no-op */
295
+ }
296
+ async openAutoStartSettings() {
297
+ return { opened: false, manufacturer: 'web', screen: '' };
298
+ }
299
+ async getManufacturerHelp() {
300
+ return { manufacturer: 'web', steps: [] };
301
+ }
302
+ async getPluginVersion() {
303
+ return { version: '1.0.0' };
304
+ }
305
+ // ---------------- Permissions ----------------
306
+ async checkPermissions() {
307
+ const perms = navigator
308
+ .permissions;
309
+ if (perms === null || perms === void 0 ? void 0 : perms.query) {
310
+ try {
311
+ const result = await perms.query({ name: 'geolocation' });
312
+ return { location: result.state };
313
+ }
314
+ catch (_a) {
315
+ /* fall through to probe */
316
+ }
317
+ }
318
+ return { location: 'prompt' };
319
+ }
320
+ async requestPermissions() {
321
+ if (!('geolocation' in navigator)) {
322
+ return { location: 'denied' };
323
+ }
324
+ return new Promise((resolve) => {
325
+ navigator.geolocation.getCurrentPosition(() => resolve({ location: 'granted' }), (err) => {
326
+ resolve({
327
+ location: err.code === err.PERMISSION_DENIED ? 'denied' : 'prompt',
328
+ });
329
+ }, { enableHighAccuracy: false, maximumAge: 60000, timeout: 5000 });
330
+ });
331
+ }
332
+ async requestBackgroundLocationPermission() {
333
+ return { granted: true, notRequired: true };
334
+ }
335
+ async requestActivityRecognitionPermission() {
336
+ return { granted: true, notRequired: true };
337
+ }
338
+ async requestNotificationPermission() {
339
+ if (typeof Notification === 'undefined') {
340
+ return { granted: true, notRequired: true };
341
+ }
342
+ if (Notification.permission === 'granted') {
343
+ return { granted: true };
344
+ }
345
+ try {
346
+ const result = await Notification.requestPermission();
347
+ return result === 'granted'
348
+ ? { granted: true }
349
+ : { granted: false, denied: ['notifications'] };
350
+ }
351
+ catch (_a) {
352
+ return { granted: false, denied: ['notifications'] };
353
+ }
354
+ }
355
+ async showAppSettings() {
356
+ throw this.unimplemented(NOT_AVAILABLE);
357
+ }
358
+ async openSettings() {
359
+ throw this.unimplemented(NOT_AVAILABLE);
360
+ }
361
+ async showLocationSettings() {
362
+ throw this.unimplemented(NOT_AVAILABLE);
363
+ }
364
+ // ---------------- Tasks ----------------
365
+ async startTask() {
366
+ return { taskKey: 0 };
367
+ }
368
+ async endTask(_options) {
369
+ /* no-op */
370
+ }
371
+ async triggerSOS(payload) {
372
+ var _a;
373
+ this.notifyListeners('sos', Object.assign(Object.assign({}, (payload !== null && payload !== void 0 ? payload : {})), { location: (_a = this.lastLocation) !== null && _a !== void 0 ? _a : undefined }));
374
+ }
375
+ async headlessTask() {
376
+ throw this.unimplemented(NOT_AVAILABLE);
377
+ }
378
+ // ---------------- Config & logs ----------------
379
+ async getConfig() {
380
+ return Object.assign({}, this.config);
381
+ }
382
+ async getLogEntries(_options) {
383
+ return { entries: [] };
384
+ }
385
+ // ---------------- Helpers ----------------
386
+ toLocation(pos) {
387
+ var _a, _b, _c, _d;
388
+ const c = pos.coords;
389
+ return {
390
+ id: pos.timestamp,
391
+ provider: 'gps',
392
+ locationProvider: 0,
393
+ time: pos.timestamp,
394
+ latitude: c.latitude,
395
+ longitude: c.longitude,
396
+ accuracy: (_a = c.accuracy) !== null && _a !== void 0 ? _a : 0,
397
+ speed: (_b = c.speed) !== null && _b !== void 0 ? _b : 0,
398
+ altitude: (_c = c.altitude) !== null && _c !== void 0 ? _c : 0,
399
+ bearing: (_d = c.heading) !== null && _d !== void 0 ? _d : 0,
400
+ };
401
+ }
402
+ toError(err) {
403
+ return { code: err.code, message: err.message };
404
+ }
405
+ }
406
+
407
+ var web = /*#__PURE__*/Object.freeze({
408
+ __proto__: null,
409
+ BackgroundGeolocationWeb: BackgroundGeolocationWeb
410
+ });
411
+
412
+ exports.AccuracyValue = AccuracyValue;
413
+ exports.BackgroundGeolocation = BackgroundGeolocation;
414
+ exports.LocationProviderValue = LocationProviderValue;
415
+ //# sourceMappingURL=plugin.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n// Copyright (c) 2026 JosueLMM\n//\n// Capacitor plugin definitions for @josuelmm/capacitor-background-geolocation.\n// Mirrors @josuelmm/cordova-background-geolocation's www/BackgroundGeolocation.d.ts\n// 1:1 for v1.0.0 parity. Cordova success/fail callbacks are collapsed into\n// Promises; `on(eventName, cb)` becomes Capacitor's `addListener` overloads.\n/**\n * Numeric mapping of {@link LocationProvider} matching the Cordova plugin.\n *\n * @since 1.0.0\n */\nexport const LocationProviderValue = {\n DISTANCE_FILTER: 0,\n ACTIVITY_PROVIDER: 1,\n RAW_PROVIDER: 2,\n};\n/**\n * Meters mapping of {@link Accuracy} (matches the Cordova plugin's `AccuracyLevel`).\n *\n * @since 1.0.0\n */\nexport const AccuracyValue = {\n HIGH: 0,\n MEDIUM: 100,\n LOW: 1000,\n PASSIVE: 10000,\n};\n/**\n * Service authorization state, mirroring the Cordova plugin constants.\n *\n * @since 1.0.0\n */\nexport var AuthorizationStatus;\n(function (AuthorizationStatus) {\n AuthorizationStatus[AuthorizationStatus[\"NOT_AUTHORIZED\"] = 0] = \"NOT_AUTHORIZED\";\n AuthorizationStatus[AuthorizationStatus[\"AUTHORIZED\"] = 1] = \"AUTHORIZED\";\n AuthorizationStatus[AuthorizationStatus[\"AUTHORIZED_FOREGROUND\"] = 2] = \"AUTHORIZED_FOREGROUND\";\n})(AuthorizationStatus || (AuthorizationStatus = {}));\n// ---------------------------------------------------------------------------\n// @awesome-cordova-plugins compatibility re-exports\n// ---------------------------------------------------------------------------\n/** Event name strings (compatibility with `@awesome-cordova-plugins` style). @since 1.0.0 */\nexport var BackgroundGeolocationEvents;\n(function (BackgroundGeolocationEvents) {\n BackgroundGeolocationEvents[\"http_authorization\"] = \"http_authorization\";\n BackgroundGeolocationEvents[\"abort_requested\"] = \"abort_requested\";\n BackgroundGeolocationEvents[\"background\"] = \"background\";\n BackgroundGeolocationEvents[\"foreground\"] = \"foreground\";\n BackgroundGeolocationEvents[\"authorization\"] = \"authorization\";\n BackgroundGeolocationEvents[\"error\"] = \"error\";\n BackgroundGeolocationEvents[\"stop\"] = \"stop\";\n BackgroundGeolocationEvents[\"start\"] = \"start\";\n BackgroundGeolocationEvents[\"activity\"] = \"activity\";\n BackgroundGeolocationEvents[\"stationary\"] = \"stationary\";\n BackgroundGeolocationEvents[\"location\"] = \"location\";\n BackgroundGeolocationEvents[\"heartbeat\"] = \"heartbeat\";\n BackgroundGeolocationEvents[\"syncStart\"] = \"syncStart\";\n BackgroundGeolocationEvents[\"syncProgress\"] = \"syncProgress\";\n BackgroundGeolocationEvents[\"syncSuccess\"] = \"syncSuccess\";\n BackgroundGeolocationEvents[\"syncError\"] = \"syncError\";\n BackgroundGeolocationEvents[\"tripStart\"] = \"tripStart\";\n BackgroundGeolocationEvents[\"tripEnd\"] = \"tripEnd\";\n BackgroundGeolocationEvents[\"moving\"] = \"moving\";\n BackgroundGeolocationEvents[\"stopped\"] = \"stopped\";\n BackgroundGeolocationEvents[\"speeding\"] = \"speeding\";\n BackgroundGeolocationEvents[\"providerChange\"] = \"providerChange\";\n BackgroundGeolocationEvents[\"sos\"] = \"sos\";\n BackgroundGeolocationEvents[\"hardBrake\"] = \"hardBrake\";\n BackgroundGeolocationEvents[\"rapidAcceleration\"] = \"rapidAcceleration\";\n BackgroundGeolocationEvents[\"sharpTurn\"] = \"sharpTurn\";\n BackgroundGeolocationEvents[\"possibleCrash\"] = \"possibleCrash\";\n BackgroundGeolocationEvents[\"phoneUsageWhileDriving\"] = \"phoneUsageWhileDriving\";\n})(BackgroundGeolocationEvents || (BackgroundGeolocationEvents = {}));\n/** Location error codes. @since 1.0.0 */\nexport var BackgroundGeolocationLocationCode;\n(function (BackgroundGeolocationLocationCode) {\n BackgroundGeolocationLocationCode[BackgroundGeolocationLocationCode[\"PERMISSION_DENIED\"] = 1] = \"PERMISSION_DENIED\";\n BackgroundGeolocationLocationCode[BackgroundGeolocationLocationCode[\"LOCATION_UNAVAILABLE\"] = 2] = \"LOCATION_UNAVAILABLE\";\n BackgroundGeolocationLocationCode[BackgroundGeolocationLocationCode[\"TIMEOUT\"] = 3] = \"TIMEOUT\";\n})(BackgroundGeolocationLocationCode || (BackgroundGeolocationLocationCode = {}));\n/** Native provider strings. @since 1.0.0 */\nexport var BackgroundGeolocationNativeProvider;\n(function (BackgroundGeolocationNativeProvider) {\n BackgroundGeolocationNativeProvider[\"gps\"] = \"gps\";\n BackgroundGeolocationNativeProvider[\"network\"] = \"network\";\n BackgroundGeolocationNativeProvider[\"passive\"] = \"passive\";\n BackgroundGeolocationNativeProvider[\"fused\"] = \"fused\";\n})(BackgroundGeolocationNativeProvider || (BackgroundGeolocationNativeProvider = {}));\n/** Location provider IDs. @since 1.0.0 */\nexport var BackgroundGeolocationLocationProvider;\n(function (BackgroundGeolocationLocationProvider) {\n BackgroundGeolocationLocationProvider[BackgroundGeolocationLocationProvider[\"DISTANCE_FILTER_PROVIDER\"] = 0] = \"DISTANCE_FILTER_PROVIDER\";\n BackgroundGeolocationLocationProvider[BackgroundGeolocationLocationProvider[\"ACTIVITY_PROVIDER\"] = 1] = \"ACTIVITY_PROVIDER\";\n BackgroundGeolocationLocationProvider[BackgroundGeolocationLocationProvider[\"RAW_PROVIDER\"] = 2] = \"RAW_PROVIDER\";\n})(BackgroundGeolocationLocationProvider || (BackgroundGeolocationLocationProvider = {}));\n/** Authorization status. @since 1.0.0 */\nexport var BackgroundGeolocationAuthorizationStatus;\n(function (BackgroundGeolocationAuthorizationStatus) {\n BackgroundGeolocationAuthorizationStatus[BackgroundGeolocationAuthorizationStatus[\"NOT_AUTHORIZED\"] = 0] = \"NOT_AUTHORIZED\";\n BackgroundGeolocationAuthorizationStatus[BackgroundGeolocationAuthorizationStatus[\"AUTHORIZED\"] = 1] = \"AUTHORIZED\";\n BackgroundGeolocationAuthorizationStatus[BackgroundGeolocationAuthorizationStatus[\"AUTHORIZED_FOREGROUND\"] = 2] = \"AUTHORIZED_FOREGROUND\";\n})(BackgroundGeolocationAuthorizationStatus || (BackgroundGeolocationAuthorizationStatus = {}));\n/** Log levels. @since 1.0.0 */\nexport var BackgroundGeolocationLogLevel;\n(function (BackgroundGeolocationLogLevel) {\n BackgroundGeolocationLogLevel[\"TRACE\"] = \"TRACE\";\n BackgroundGeolocationLogLevel[\"DEBUG\"] = \"DEBUG\";\n BackgroundGeolocationLogLevel[\"INFO\"] = \"INFO\";\n BackgroundGeolocationLogLevel[\"WARN\"] = \"WARN\";\n BackgroundGeolocationLogLevel[\"ERROR\"] = \"ERROR\";\n})(BackgroundGeolocationLogLevel || (BackgroundGeolocationLogLevel = {}));\n/** Provider enum (compatibility with `@awesome-cordova-plugins` style). @since 1.0.0 */\nexport var BackgroundGeolocationProvider;\n(function (BackgroundGeolocationProvider) {\n BackgroundGeolocationProvider[BackgroundGeolocationProvider[\"ANDROID_DISTANCE_FILTER_PROVIDER\"] = 0] = \"ANDROID_DISTANCE_FILTER_PROVIDER\";\n BackgroundGeolocationProvider[BackgroundGeolocationProvider[\"ANDROID_ACTIVITY_PROVIDER\"] = 1] = \"ANDROID_ACTIVITY_PROVIDER\";\n BackgroundGeolocationProvider[BackgroundGeolocationProvider[\"RAW_PROVIDER\"] = 2] = \"RAW_PROVIDER\";\n})(BackgroundGeolocationProvider || (BackgroundGeolocationProvider = {}));\n/** Desired accuracy in meters. @since 1.0.0 */\nexport var BackgroundGeolocationAccuracy;\n(function (BackgroundGeolocationAccuracy) {\n BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy[\"HIGH\"] = 0] = \"HIGH\";\n BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy[\"MEDIUM\"] = 100] = \"MEDIUM\";\n BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy[\"LOW\"] = 1000] = \"LOW\";\n BackgroundGeolocationAccuracy[BackgroundGeolocationAccuracy[\"PASSIVE\"] = 10000] = \"PASSIVE\";\n})(BackgroundGeolocationAccuracy || (BackgroundGeolocationAccuracy = {}));\n/** Mode for `switchMode`. @since 1.0.0 */\nexport var BackgroundGeolocationMode;\n(function (BackgroundGeolocationMode) {\n BackgroundGeolocationMode[BackgroundGeolocationMode[\"BACKGROUND\"] = 0] = \"BACKGROUND\";\n BackgroundGeolocationMode[BackgroundGeolocationMode[\"FOREGROUND\"] = 1] = \"FOREGROUND\";\n})(BackgroundGeolocationMode || (BackgroundGeolocationMode = {}));\n/** iOS activity type. @since 1.0.0 */\nexport var BackgroundGeolocationIOSActivity;\n(function (BackgroundGeolocationIOSActivity) {\n BackgroundGeolocationIOSActivity[\"AutomotiveNavigation\"] = \"AutomotiveNavigation\";\n BackgroundGeolocationIOSActivity[\"OtherNavigation\"] = \"OtherNavigation\";\n BackgroundGeolocationIOSActivity[\"Fitness\"] = \"Fitness\";\n BackgroundGeolocationIOSActivity[\"Other\"] = \"Other\";\n})(BackgroundGeolocationIOSActivity || (BackgroundGeolocationIOSActivity = {}));\n//# sourceMappingURL=definitions.js.map","// SPDX-License-Identifier: Apache-2.0\n// Copyright (c) 2026 JosueLMM\nimport { registerPlugin } from '@capacitor/core';\nconst NativeBackgroundGeolocation = registerPlugin('BackgroundGeolocation', {\n web: () => import('./web').then((m) => new m.BackgroundGeolocationWeb()),\n});\n/**\n * Public plugin. `headlessTask(fn)` serialises the callback before sending it\n * to the native side; every other method is a 1:1 passthrough.\n */\nconst BackgroundGeolocation = new Proxy(NativeBackgroundGeolocation, {\n get(target, prop, receiver) {\n if (prop === 'headlessTask') {\n return (task) => NativeBackgroundGeolocation.registerHeadlessTask({\n task: task.toString(),\n });\n }\n return Reflect.get(target, prop, receiver);\n },\n});\nexport * from './definitions';\nexport { BackgroundGeolocation };\n//# sourceMappingURL=index.js.map","// SPDX-License-Identifier: Apache-2.0\n// Copyright (c) 2026 JosueLMM\n//\n// Browser fallback for @josuelmm/capacitor-background-geolocation.\n// Uses navigator.geolocation. Real background tracking is not possible on the\n// web platform — the service runs only while the page is alive.\nimport { WebPlugin } from '@capacitor/core';\nimport { AuthorizationStatus } from './definitions';\nconst NOT_AVAILABLE = 'Not available on web.';\nexport class BackgroundGeolocationWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.watchId = null;\n this.config = {};\n this.lastLocation = null;\n }\n // ---------------- Tracking control ----------------\n async configure(options) {\n this.config = Object.assign(Object.assign({}, this.config), options);\n }\n async start() {\n if (!('geolocation' in navigator)) {\n throw this.unavailable('Geolocation API is not available in this browser.');\n }\n if (this.watchId !== null) {\n return;\n }\n this.watchId = navigator.geolocation.watchPosition((pos) => {\n const loc = this.toLocation(pos);\n this.lastLocation = loc;\n this.notifyListeners('location', loc);\n }, (err) => {\n this.notifyListeners('error', this.toError(err));\n }, {\n enableHighAccuracy: this.config.desiredAccuracy !== 'LOW',\n maximumAge: 0,\n timeout: 30000,\n });\n this.notifyListeners('start', {});\n }\n async stop() {\n if (this.watchId !== null) {\n navigator.geolocation.clearWatch(this.watchId);\n this.watchId = null;\n this.notifyListeners('stop', {});\n }\n }\n async switchMode(_options) {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async checkStatus() {\n return {\n isRunning: this.watchId !== null,\n locationServicesEnabled: 'geolocation' in navigator,\n authorization: AuthorizationStatus.AUTHORIZED_FOREGROUND,\n };\n }\n // ---------------- Locations ----------------\n getCurrentLocation(options) {\n if (!('geolocation' in navigator)) {\n throw this.unavailable('Geolocation API is not available in this browser.');\n }\n return new Promise((resolve, reject) => {\n var _a, _b, _c;\n navigator.geolocation.getCurrentPosition((pos) => resolve(this.toLocation(pos)), (err) => reject(this.toError(err)), {\n enableHighAccuracy: (_a = options === null || options === void 0 ? void 0 : options.enableHighAccuracy) !== null && _a !== void 0 ? _a : true,\n maximumAge: (_b = options === null || options === void 0 ? void 0 : options.maximumAge) !== null && _b !== void 0 ? _b : 0,\n timeout: (_c = options === null || options === void 0 ? void 0 : options.timeout) !== null && _c !== void 0 ? _c : 30000,\n });\n });\n }\n async getStationaryLocation() {\n return null;\n }\n async getLocations() {\n return { locations: [] };\n }\n async getValidLocations() {\n return { locations: [] };\n }\n async getValidLocationsAndDelete() {\n return { locations: [] };\n }\n async deleteLocation(_options) {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async deleteAllLocations() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n // ---------------- Sync queue ----------------\n async forceSync() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async clearSync() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async getPendingSyncCount() {\n return { count: 0 };\n }\n // ---------------- Sessions ----------------\n async startSession() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async getSessionLocations() {\n return { locations: [] };\n }\n async clearSession() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async getSessionLocationsCount() {\n return { count: 0 };\n }\n // ---------------- Diagnostics & OEMs ----------------\n async getDiagnostics() {\n var _a, _b;\n return {\n isRunning: this.watchId !== null,\n locationServicesEnabled: 'geolocation' in navigator,\n lastLocationAt: (_b = (_a = this.lastLocation) === null || _a === void 0 ? void 0 : _a.time) !== null && _b !== void 0 ? _b : null,\n manufacturer: 'web',\n };\n }\n async isIgnoringBatteryOptimizations() {\n return { whitelisted: true };\n }\n async requestIgnoreBatteryOptimizations() {\n return { whitelisted: true };\n }\n async openBatterySettings() {\n /* no-op */\n }\n async openAutoStartSettings() {\n return { opened: false, manufacturer: 'web', screen: '' };\n }\n async getManufacturerHelp() {\n return { manufacturer: 'web', steps: [] };\n }\n async getPluginVersion() {\n return { version: '1.0.0' };\n }\n // ---------------- Permissions ----------------\n async checkPermissions() {\n const perms = navigator\n .permissions;\n if (perms === null || perms === void 0 ? void 0 : perms.query) {\n try {\n const result = await perms.query({ name: 'geolocation' });\n return { location: result.state };\n }\n catch (_a) {\n /* fall through to probe */\n }\n }\n return { location: 'prompt' };\n }\n async requestPermissions() {\n if (!('geolocation' in navigator)) {\n return { location: 'denied' };\n }\n return new Promise((resolve) => {\n navigator.geolocation.getCurrentPosition(() => resolve({ location: 'granted' }), (err) => {\n resolve({\n location: err.code === err.PERMISSION_DENIED ? 'denied' : 'prompt',\n });\n }, { enableHighAccuracy: false, maximumAge: 60000, timeout: 5000 });\n });\n }\n async requestBackgroundLocationPermission() {\n return { granted: true, notRequired: true };\n }\n async requestActivityRecognitionPermission() {\n return { granted: true, notRequired: true };\n }\n async requestNotificationPermission() {\n if (typeof Notification === 'undefined') {\n return { granted: true, notRequired: true };\n }\n if (Notification.permission === 'granted') {\n return { granted: true };\n }\n try {\n const result = await Notification.requestPermission();\n return result === 'granted'\n ? { granted: true }\n : { granted: false, denied: ['notifications'] };\n }\n catch (_a) {\n return { granted: false, denied: ['notifications'] };\n }\n }\n async showAppSettings() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async openSettings() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n async showLocationSettings() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n // ---------------- Tasks ----------------\n async startTask() {\n return { taskKey: 0 };\n }\n async endTask(_options) {\n /* no-op */\n }\n async triggerSOS(payload) {\n var _a;\n this.notifyListeners('sos', Object.assign(Object.assign({}, (payload !== null && payload !== void 0 ? payload : {})), { location: (_a = this.lastLocation) !== null && _a !== void 0 ? _a : undefined }));\n }\n async headlessTask() {\n throw this.unimplemented(NOT_AVAILABLE);\n }\n // ---------------- Config & logs ----------------\n async getConfig() {\n return Object.assign({}, this.config);\n }\n async getLogEntries(_options) {\n return { entries: [] };\n }\n // ---------------- Helpers ----------------\n toLocation(pos) {\n var _a, _b, _c, _d;\n const c = pos.coords;\n return {\n id: pos.timestamp,\n provider: 'gps',\n locationProvider: 0,\n time: pos.timestamp,\n latitude: c.latitude,\n longitude: c.longitude,\n accuracy: (_a = c.accuracy) !== null && _a !== void 0 ? _a : 0,\n speed: (_b = c.speed) !== null && _b !== void 0 ? _b : 0,\n altitude: (_c = c.altitude) !== null && _c !== void 0 ? _c : 0,\n bearing: (_d = c.heading) !== null && _d !== void 0 ? _d : 0,\n };\n }\n toError(err) {\n return { code: err.code, message: err.message };\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["AuthorizationStatus","BackgroundGeolocationEvents","BackgroundGeolocationLocationCode","BackgroundGeolocationNativeProvider","BackgroundGeolocationLocationProvider","BackgroundGeolocationAuthorizationStatus","BackgroundGeolocationLogLevel","BackgroundGeolocationProvider","BackgroundGeolocationAccuracy","BackgroundGeolocationMode","BackgroundGeolocationIOSActivity","registerPlugin","WebPlugin"],"mappings":"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"}