react-native-bg-geolocation 0.2.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 (142) hide show
  1. package/BgGeolocation.podspec +39 -0
  2. package/LICENSE +20 -0
  3. package/README.md +366 -0
  4. package/android/build.gradle +69 -0
  5. package/android/src/main/AndroidManifest.xml +53 -0
  6. package/android/src/main/java/com/bggeolocation/BgGeolocationActivityRecognitionReceiver.kt +116 -0
  7. package/android/src/main/java/com/bggeolocation/BgGeolocationBootReceiver.kt +44 -0
  8. package/android/src/main/java/com/bggeolocation/BgGeolocationForegroundService.kt +373 -0
  9. package/android/src/main/java/com/bggeolocation/BgGeolocationGeofenceReceiver.kt +55 -0
  10. package/android/src/main/java/com/bggeolocation/BgGeolocationHeadlessTask.kt +138 -0
  11. package/android/src/main/java/com/bggeolocation/BgGeolocationModule.kt +1030 -0
  12. package/android/src/main/java/com/bggeolocation/BgGeolocationMotionStateMachine.kt +159 -0
  13. package/android/src/main/java/com/bggeolocation/BgGeolocationPackage.kt +31 -0
  14. package/android/src/main/res/drawable/bg_geo_notification.xml +9 -0
  15. package/ios/BgGeolocation.h +14 -0
  16. package/ios/BgGeolocation.mm +709 -0
  17. package/ios/engine/AtomicBoolean.swift +48 -0
  18. package/ios/engine/BGActivityChangeEvent.swift +20 -0
  19. package/ios/engine/BGActivityConfig.swift +71 -0
  20. package/ios/engine/BGAppConfig.swift +92 -0
  21. package/ios/engine/BGAppState.swift +147 -0
  22. package/ios/engine/BGAuthorization.swift +85 -0
  23. package/ios/engine/BGAuthorizationAlertPresenter.swift +39 -0
  24. package/ios/engine/BGAuthorizationConfig.swift +50 -0
  25. package/ios/engine/BGAuthorizationEvent.swift +40 -0
  26. package/ios/engine/BGBackgroundTaskManager.swift +143 -0
  27. package/ios/engine/BGCLRouter.swift +101 -0
  28. package/ios/engine/BGCallback.swift +19 -0
  29. package/ios/engine/BGConfig.swift +440 -0
  30. package/ios/engine/BGConfigModuleBase.swift +180 -0
  31. package/ios/engine/BGConfigOLD.swift +582 -0
  32. package/ios/engine/BGConnectivityChangeEvent.swift +15 -0
  33. package/ios/engine/BGCrashDetector.swift +122 -0
  34. package/ios/engine/BGCurrentPositionRequest.swift +87 -0
  35. package/ios/engine/BGDataStore.swift +75 -0
  36. package/ios/engine/BGDatabase.swift +677 -0
  37. package/ios/engine/BGDatabasePool.swift +220 -0
  38. package/ios/engine/BGDatabaseQueue.swift +215 -0
  39. package/ios/engine/BGDateUtils.swift +26 -0
  40. package/ios/engine/BGDeviceInfo.swift +54 -0
  41. package/ios/engine/BGDeviceManager.swift +65 -0
  42. package/ios/engine/BGEnabledChangeEvent.swift +11 -0
  43. package/ios/engine/BGEnv.swift +17 -0
  44. package/ios/engine/BGEventBus.swift +83 -0
  45. package/ios/engine/BGEventManager.swift +169 -0
  46. package/ios/engine/BGEventNames.swift +51 -0
  47. package/ios/engine/BGGeofence.swift +233 -0
  48. package/ios/engine/BGGeofenceDAO.swift +152 -0
  49. package/ios/engine/BGGeofenceEvent.swift +42 -0
  50. package/ios/engine/BGGeofenceLocationRequest.swift +94 -0
  51. package/ios/engine/BGGeofenceManager.swift +315 -0
  52. package/ios/engine/BGGeofenceTransition.swift +97 -0
  53. package/ios/engine/BGGeofencesChangeEvent.swift +26 -0
  54. package/ios/engine/BGGeolocationConfig.swift +136 -0
  55. package/ios/engine/BGHeartbeatEvent.swift +31 -0
  56. package/ios/engine/BGHeartbeatService.swift +51 -0
  57. package/ios/engine/BGHttpConfig.swift +105 -0
  58. package/ios/engine/BGHttpErrorCodes.swift +63 -0
  59. package/ios/engine/BGHttpEvent.swift +34 -0
  60. package/ios/engine/BGHttpRequest.swift +126 -0
  61. package/ios/engine/BGHttpResponse.swift +93 -0
  62. package/ios/engine/BGHttpService.swift +428 -0
  63. package/ios/engine/BGKalmanFilter.swift +105 -0
  64. package/ios/engine/BGLMActionNames.swift +55 -0
  65. package/ios/engine/BGLicenseManager.swift +26 -0
  66. package/ios/engine/BGLiveActivityManager.swift +327 -0
  67. package/ios/engine/BGLocation.swift +311 -0
  68. package/ios/engine/BGLocationAuthorization.swift +427 -0
  69. package/ios/engine/BGLocationDAO.swift +252 -0
  70. package/ios/engine/BGLocationErrors.swift +28 -0
  71. package/ios/engine/BGLocationEvent.swift +43 -0
  72. package/ios/engine/BGLocationFilter.swift +82 -0
  73. package/ios/engine/BGLocationFilterConfig.swift +57 -0
  74. package/ios/engine/BGLocationHelper.swift +54 -0
  75. package/ios/engine/BGLocationManager.swift +662 -0
  76. package/ios/engine/BGLocationMetricsEngine.swift +116 -0
  77. package/ios/engine/BGLocationRequestService.swift +459 -0
  78. package/ios/engine/BGLocationSatisfier.swift +14 -0
  79. package/ios/engine/BGLocationStreamEvent.swift +27 -0
  80. package/ios/engine/BGLog.swift +337 -0
  81. package/ios/engine/BGLogLevel.swift +26 -0
  82. package/ios/engine/BGLoggerConfig.swift +60 -0
  83. package/ios/engine/BGMotionActivity.swift +31 -0
  84. package/ios/engine/BGMotionActivityClassifier.swift +108 -0
  85. package/ios/engine/BGMotionActivityManagerAdapter.swift +40 -0
  86. package/ios/engine/BGMotionActivitySource.swift +46 -0
  87. package/ios/engine/BGMotionDetector.swift +377 -0
  88. package/ios/engine/BGMotionPermissionManager.swift +50 -0
  89. package/ios/engine/BGNativeLogger.swift +48 -0
  90. package/ios/engine/BGNotificaitons.swift +37 -0
  91. package/ios/engine/BGOdometer.swift +66 -0
  92. package/ios/engine/BGPersistenceConfig.swift +29 -0
  93. package/ios/engine/BGPolygonStreamRequest.swift +48 -0
  94. package/ios/engine/BGPowerSaveChangeEvent.swift +12 -0
  95. package/ios/engine/BGPropertySpec.swift +29 -0
  96. package/ios/engine/BGProviderChangeEvent.swift +31 -0
  97. package/ios/engine/BGQueue.swift +50 -0
  98. package/ios/engine/BGRPC.swift +194 -0
  99. package/ios/engine/BGReachability.swift +58 -0
  100. package/ios/engine/BGResultSet.swift +157 -0
  101. package/ios/engine/BGSchedule.swift +228 -0
  102. package/ios/engine/BGScheduleEvent.swift +13 -0
  103. package/ios/engine/BGScheduler.swift +116 -0
  104. package/ios/engine/BGSingleLocationRequest.swift +49 -0
  105. package/ios/engine/BGStreamLocationRequest.swift +42 -0
  106. package/ios/engine/BGTemplate.swift +54 -0
  107. package/ios/engine/BGTimerService.swift +46 -0
  108. package/ios/engine/BGTrackingAudioManager.swift +286 -0
  109. package/ios/engine/BGTrackingService.swift +879 -0
  110. package/ios/engine/BGWatchPositionRequest.swift +63 -0
  111. package/ios/engine/DatabaseQueue.swift +47 -0
  112. package/ios/engine/LogQuery.swift +10 -0
  113. package/ios/engine/SQLQuery.swift +65 -0
  114. package/ios/engine/TransistorAuthorizationToken.swift +182 -0
  115. package/ios/liveactivity/BGLiveTrackingAttributes.swift +52 -0
  116. package/ios/locationpush/BGLocationPushDeliverer.swift +260 -0
  117. package/ios/locationpush/BGLocationPushService.swift +161 -0
  118. package/ios/locationpush/BGLocationPushShared.swift +98 -0
  119. package/ios/locationpush/BGLocationPushSocketClient.swift +198 -0
  120. package/lib/module/NativeBgGeolocation.js +5 -0
  121. package/lib/module/NativeBgGeolocation.js.map +1 -0
  122. package/lib/module/events.js +20 -0
  123. package/lib/module/events.js.map +1 -0
  124. package/lib/module/index.js +706 -0
  125. package/lib/module/index.js.map +1 -0
  126. package/lib/module/package.json +1 -0
  127. package/lib/module/types.js +2 -0
  128. package/lib/module/types.js.map +1 -0
  129. package/lib/typescript/package.json +1 -0
  130. package/lib/typescript/src/NativeBgGeolocation.d.ts +57 -0
  131. package/lib/typescript/src/NativeBgGeolocation.d.ts.map +1 -0
  132. package/lib/typescript/src/events.d.ts +18 -0
  133. package/lib/typescript/src/events.d.ts.map +1 -0
  134. package/lib/typescript/src/index.d.ts +238 -0
  135. package/lib/typescript/src/index.d.ts.map +1 -0
  136. package/lib/typescript/src/types.d.ts +229 -0
  137. package/lib/typescript/src/types.d.ts.map +1 -0
  138. package/package.json +141 -0
  139. package/src/NativeBgGeolocation.ts +236 -0
  140. package/src/events.ts +17 -0
  141. package/src/index.tsx +935 -0
  142. package/src/types.ts +254 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,141 @@
1
+ {
2
+ "name": "react-native-bg-geolocation",
3
+ "version": "0.2.0",
4
+ "description": "Background geolocation tracking for React Native",
5
+ "main": "./lib/module/index.js",
6
+ "module": "./lib/module/index.js",
7
+ "react-native": "./src/index.tsx",
8
+ "source": "./src/index.tsx",
9
+ "types": "./lib/typescript/src/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "source": "./src/index.tsx",
13
+ "types": "./lib/typescript/src/index.d.ts",
14
+ "react-native": "./src/index.tsx",
15
+ "import": "./lib/module/index.js",
16
+ "default": "./lib/module/index.js"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
20
+ "files": [
21
+ "src",
22
+ "lib",
23
+ "android",
24
+ "ios",
25
+ "cpp",
26
+ "*.podspec",
27
+ "react-native.config.js",
28
+ "!ios/build",
29
+ "!android/build",
30
+ "!android/gradle",
31
+ "!android/gradlew",
32
+ "!android/gradlew.bat",
33
+ "!android/local.properties",
34
+ "!**/__tests__",
35
+ "!**/__fixtures__",
36
+ "!**/__mocks__",
37
+ "!**/.*"
38
+ ],
39
+ "scripts": {
40
+ "example": "yarn workspace react-native-bg-geolocation-example",
41
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
42
+ "prepare": "bob build",
43
+ "prepublishOnly": "npm run typecheck && npm run lint",
44
+ "typecheck": "tsc",
45
+ "lint": "eslint \"**/*.{js,ts,tsx}\""
46
+ },
47
+ "keywords": [
48
+ "react-native",
49
+ "ios",
50
+ "android",
51
+ "background",
52
+ "geolocation",
53
+ "location",
54
+ "tracking",
55
+ "geofence",
56
+ "gps"
57
+ ],
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "git+https://github.com/ZohaibNaseer786/react-native-bg-geolocation.git"
61
+ },
62
+ "author": "Zohaib Naseer <zohaibnaseer2244@gmail.com> (https://github.com/zohaibnaseer786)",
63
+ "license": "MIT",
64
+ "bugs": {
65
+ "url": "https://github.com/ZohaibNaseer786/react-native-bg-geolocation/issues"
66
+ },
67
+ "homepage": "https://github.com/ZohaibNaseer786/react-native-bg-geolocation#readme",
68
+ "publishConfig": {
69
+ "access": "public",
70
+ "registry": "https://registry.npmjs.org/"
71
+ },
72
+ "devDependencies": {
73
+ "@eslint/compat": "^2.0.3",
74
+ "@eslint/eslintrc": "^3.3.5",
75
+ "@eslint/js": "^10.0.1",
76
+ "@react-native/babel-preset": "0.85.0",
77
+ "@react-native/eslint-config": "0.85.0",
78
+ "@types/react": "^19.2.0",
79
+ "del-cli": "^7.0.0",
80
+ "eslint": "^9.39.4",
81
+ "eslint-config-prettier": "^10.1.8",
82
+ "eslint-plugin-ft-flow": "^3.0.11",
83
+ "eslint-plugin-prettier": "^5.5.5",
84
+ "prettier": "^3.8.1",
85
+ "react": "19.2.3",
86
+ "react-native": "0.85.0",
87
+ "react-native-builder-bob": "^0.41.0",
88
+ "turbo": "^2.8.21",
89
+ "typescript": "^6.0.2"
90
+ },
91
+ "peerDependencies": {
92
+ "react": "*",
93
+ "react-native": "*"
94
+ },
95
+ "workspaces": [
96
+ "example"
97
+ ],
98
+ "packageManager": "yarn@4.11.0",
99
+ "react-native-builder-bob": {
100
+ "source": "src",
101
+ "output": "lib",
102
+ "targets": [
103
+ [
104
+ "module",
105
+ {
106
+ "esm": true
107
+ }
108
+ ],
109
+ [
110
+ "typescript",
111
+ {
112
+ "project": "tsconfig.build.json",
113
+ "tsc": "./node_modules/.bin/tsc"
114
+ }
115
+ ]
116
+ ]
117
+ },
118
+ "codegenConfig": {
119
+ "name": "BgGeolocationSpec",
120
+ "type": "modules",
121
+ "jsSrcsDir": "src",
122
+ "android": {
123
+ "javaPackageName": "com.bggeolocation"
124
+ }
125
+ },
126
+ "prettier": {
127
+ "quoteProps": "consistent",
128
+ "singleQuote": true,
129
+ "tabWidth": 2,
130
+ "trailingComma": "es5",
131
+ "useTabs": false
132
+ },
133
+ "create-react-native-library": {
134
+ "type": "turbo-module",
135
+ "languages": "kotlin-objc",
136
+ "tools": [
137
+ "eslint"
138
+ ],
139
+ "version": "0.62.0"
140
+ }
141
+ }
@@ -0,0 +1,236 @@
1
+ import { TurboModuleRegistry, type TurboModule } from 'react-native';
2
+
3
+ type AnyObject = Object;
4
+
5
+ export interface Spec extends TurboModule {
6
+ addListener(eventName: string): void;
7
+ removeListeners(count: number): void;
8
+
9
+ // Core
10
+ ready(
11
+ config: AnyObject,
12
+ success: (state: AnyObject) => void,
13
+ failure: (error: string) => void
14
+ ): void;
15
+ configure(
16
+ config: AnyObject,
17
+ success: (state: AnyObject) => void,
18
+ failure: (error: string) => void
19
+ ): void;
20
+ reset(
21
+ config: AnyObject,
22
+ success: (state: AnyObject) => void,
23
+ failure: (error: string) => void
24
+ ): void;
25
+ setConfig(
26
+ config: AnyObject,
27
+ success: (state: AnyObject) => void,
28
+ failure: (error: string) => void
29
+ ): void;
30
+ getState(
31
+ success: (state: AnyObject) => void,
32
+ failure: (error: string) => void
33
+ ): void;
34
+
35
+ // Lifecycle
36
+ start(
37
+ success: (state: AnyObject) => void,
38
+ failure: (error: string) => void
39
+ ): void;
40
+ stop(
41
+ success: (state: AnyObject) => void,
42
+ failure: (error: string) => void
43
+ ): void;
44
+ startSchedule(
45
+ success: (state: AnyObject) => void,
46
+ failure: (error: string) => void
47
+ ): void;
48
+ stopSchedule(
49
+ success: (state: AnyObject) => void,
50
+ failure: (error: string) => void
51
+ ): void;
52
+ startGeofences(
53
+ success: (state: AnyObject) => void,
54
+ failure: (error: string) => void
55
+ ): void;
56
+
57
+ // Background task
58
+ beginBackgroundTask(
59
+ success: (taskId: number) => void,
60
+ failure: (error: string) => void
61
+ ): void;
62
+ finish(
63
+ taskId: number,
64
+ success: () => void,
65
+ failure: (error: string) => void
66
+ ): void;
67
+
68
+ // Location
69
+ changePace(
70
+ isMoving: boolean,
71
+ success: () => void,
72
+ failure: (error: string) => void
73
+ ): void;
74
+ getCurrentPosition(
75
+ options: AnyObject,
76
+ success: (location: AnyObject) => void,
77
+ failure: (error: AnyObject) => void
78
+ ): void;
79
+ watchPosition(
80
+ options: AnyObject,
81
+ success: () => void,
82
+ failure: (error: string) => void
83
+ ): void;
84
+ stopWatchPosition(
85
+ success: () => void,
86
+ failure: (error: string) => void
87
+ ): void;
88
+
89
+ // Permissions
90
+ requestPermission(
91
+ success: (status: number) => void,
92
+ failure: (status: number) => void
93
+ ): void;
94
+ requestMotionPermission(
95
+ success: (status: number) => void,
96
+ failure: (status: number) => void
97
+ ): void;
98
+ requestTemporaryFullAccuracy(
99
+ purpose: string,
100
+ success: (accuracy: number) => void,
101
+ failure: (error: string) => void
102
+ ): void;
103
+ getProviderState(
104
+ success: (state: AnyObject) => void,
105
+ failure: (error: string) => void
106
+ ): void;
107
+
108
+ // HTTP & Persistence
109
+ getLocations(
110
+ success: (locations: AnyObject[]) => void,
111
+ failure: (error: string) => void
112
+ ): void;
113
+ getCount(
114
+ success: (count: number) => void,
115
+ failure: (error: string) => void
116
+ ): void;
117
+ destroyLocations(success: () => void, failure: (error: string) => void): void;
118
+ destroyLocation(
119
+ uuid: string,
120
+ success: () => void,
121
+ failure: (error: string) => void
122
+ ): void;
123
+ insertLocation(
124
+ location: AnyObject,
125
+ success: (location: AnyObject) => void,
126
+ failure: (error: string) => void
127
+ ): void;
128
+ sync(
129
+ success: (locations: AnyObject[]) => void,
130
+ failure: (error: string) => void
131
+ ): void;
132
+
133
+ // Odometer
134
+ getOdometer(
135
+ success: (value: number) => void,
136
+ failure: (error: string) => void
137
+ ): void;
138
+ setOdometer(
139
+ value: number,
140
+ success: (location: AnyObject) => void,
141
+ failure: (error: string) => void
142
+ ): void;
143
+
144
+ // Geofences
145
+ addGeofence(
146
+ config: AnyObject,
147
+ success: () => void,
148
+ failure: (error: string) => void
149
+ ): void;
150
+ addGeofences(
151
+ geofences: AnyObject[],
152
+ success: () => void,
153
+ failure: (error: string) => void
154
+ ): void;
155
+ removeGeofence(
156
+ identifier: string,
157
+ success: () => void,
158
+ failure: (error: string) => void
159
+ ): void;
160
+ removeGeofences(success: () => void, failure: (error: string) => void): void;
161
+ getGeofences(
162
+ success: (geofences: AnyObject[]) => void,
163
+ failure: (error: string) => void
164
+ ): void;
165
+ getGeofence(
166
+ identifier: string,
167
+ success: (geofence: AnyObject) => void,
168
+ failure: (error: string) => void
169
+ ): void;
170
+ geofenceExists(identifier: string, callback: (exists: boolean) => void): void;
171
+
172
+ // Logging
173
+ log(level: string, message: string): void;
174
+ setLogLevel(
175
+ value: number,
176
+ success: (state: AnyObject) => void,
177
+ failure: (error: string) => void
178
+ ): void;
179
+ getLog(
180
+ success: (log: string) => void,
181
+ failure: (error: string) => void
182
+ ): void;
183
+ destroyLog(success: () => void, failure: (error: string) => void): void;
184
+ emailLog(
185
+ email: string,
186
+ success: () => void,
187
+ failure: (error: string) => void
188
+ ): void;
189
+
190
+ // Utility
191
+ isPowerSaveMode(
192
+ success: (isPowerSaveMode: boolean) => void,
193
+ failure: (error: string) => void
194
+ ): void;
195
+ getSensors(
196
+ success: (sensors: AnyObject) => void,
197
+ failure: (error: string) => void
198
+ ): void;
199
+ getDeviceInfo(
200
+ success: (info: AnyObject) => void,
201
+ failure: (error: string) => void
202
+ ): void;
203
+ // iOS only: the device's location-push APNs token (hex), or null.
204
+ getLocationPushToken(
205
+ success: (token: string | null) => void,
206
+ failure: (error: string) => void
207
+ ): void;
208
+ // iOS only: the device's standard APNs token (hex) for background pushes, or null.
209
+ getApnsDeviceToken(
210
+ success: (token: string | null) => void,
211
+ failure: (error: string) => void
212
+ ): void;
213
+ // iOS only: hand the Location Push Service Extension its delivery config
214
+ // (preferred socket channel + REST fallback details).
215
+ setLocationPushConfig(
216
+ config: AnyObject,
217
+ success: () => void,
218
+ failure: (error: string) => void
219
+ ): void;
220
+ // iOS only: signal that JS finished handling a background location push
221
+ // (so the native completion handler can be invoked).
222
+ finishLocationPush(
223
+ requestId: string,
224
+ success: () => void,
225
+ failure: (error: string) => void
226
+ ): void;
227
+ playSound(soundId: number): void;
228
+
229
+ // NOTE: addListener/removeListeners are intentionally NOT declared here.
230
+ // React Native's TurboModule codegen auto-generates them for every module
231
+ // (to support NativeEventEmitter). Declaring them in the spec causes a
232
+ // "redefinition of __hostFunction…_addListener" error on iOS. We implement
233
+ // them natively (no-op) instead.
234
+ }
235
+
236
+ export default TurboModuleRegistry.getEnforcing<Spec>('BgGeolocation');
package/src/events.ts ADDED
@@ -0,0 +1,17 @@
1
+ export const BOOT = 'boot';
2
+ export const TERMINATE = 'terminate';
3
+ export const LOCATION = 'location';
4
+ export const HTTP = 'http';
5
+ export const MOTIONCHANGE = 'motionchange';
6
+ export const PROVIDERCHANGE = 'providerchange';
7
+ export const HEARTBEAT = 'heartbeat';
8
+ export const ACTIVITYCHANGE = 'activitychange';
9
+ export const GEOFENCE = 'geofence';
10
+ export const GEOFENCESCHANGE = 'geofenceschange';
11
+ export const SCHEDULE = 'schedule';
12
+ export const CONNECTIVITYCHANGE = 'connectivitychange';
13
+ export const ENABLEDCHANGE = 'enabledchange';
14
+ export const POWERSAVECHANGE = 'powersavechange';
15
+ export const NOTIFICATIONACTION = 'notificationaction';
16
+ export const AUTHORIZATION = 'authorization';
17
+ export const LOCATIONPUSH = 'locationpush';