react-native-geo-activity-kit 2.0.6 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -50,12 +50,14 @@ class SensorModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
|
|
|
50
50
|
// --- SERVICE CONTROL ---
|
|
51
51
|
|
|
52
52
|
@ReactMethod
|
|
53
|
-
|
|
53
|
+
// ✅ ADD "id: Int" here. Now it matches JavaScript's 3 arguments.
|
|
54
|
+
fun startForegroundService(title: String, body: String, id: Int, promise: Promise) {
|
|
54
55
|
try {
|
|
55
56
|
val intent = Intent(reactApplicationContext, TrackingService::class.java)
|
|
56
57
|
intent.action = TrackingService.ACTION_START
|
|
57
58
|
intent.putExtra("title", title)
|
|
58
59
|
intent.putExtra("body", body)
|
|
60
|
+
// intent.putExtra("id", id) // Optional: Pass it if you want to use it later
|
|
59
61
|
|
|
60
62
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
61
63
|
reactApplicationContext.startForegroundService(intent)
|
package/lib/module/index.js
CHANGED
|
@@ -7,34 +7,32 @@ const LINKING_ERROR = `The package 'react-native-geo-activity-kit' doesn't seem
|
|
|
7
7
|
ios: "- You have run 'pod install'\n",
|
|
8
8
|
default: ''
|
|
9
9
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
10
|
-
|
|
11
|
-
// 1. Point to the CORRECT Native Module Name
|
|
12
|
-
const GeoActivityKit = NativeModules.GeoActivityKit ? NativeModules.RNSensorModule : new Proxy({}, {
|
|
10
|
+
const RNSensorModule = NativeModules.RNSensorModule ? NativeModules.RNSensorModule : new Proxy({}, {
|
|
13
11
|
get() {
|
|
14
12
|
throw new Error(LINKING_ERROR);
|
|
15
13
|
}
|
|
16
14
|
});
|
|
17
|
-
const emitter = new NativeEventEmitter(
|
|
15
|
+
const emitter = new NativeEventEmitter(RNSensorModule);
|
|
18
16
|
|
|
19
17
|
// 2. Define Types
|
|
20
18
|
|
|
21
19
|
// 3. Export the Object
|
|
22
20
|
export default {
|
|
23
21
|
// --- Service Control ---
|
|
24
|
-
startForegroundService: (title, body, id) =>
|
|
25
|
-
stopForegroundService: () =>
|
|
26
|
-
updateServiceNotification: (title, body) =>
|
|
22
|
+
startForegroundService: (title, body, id) => RNSensorModule.startForegroundService(title, body, id),
|
|
23
|
+
stopForegroundService: () => RNSensorModule.stopForegroundService(),
|
|
24
|
+
updateServiceNotification: (title, body) => RNSensorModule.updateServiceNotification(title, body),
|
|
27
25
|
// --- Motion & Intelligence ---
|
|
28
|
-
startMotionDetector: (confidence = 75) =>
|
|
29
|
-
stopMotionDetector: () =>
|
|
26
|
+
startMotionDetector: (confidence = 75) => RNSensorModule.startMotionDetector(confidence),
|
|
27
|
+
stopMotionDetector: () => RNSensorModule.stopMotionDetector(),
|
|
30
28
|
// --- Location Control ---
|
|
31
|
-
setLocationUpdateInterval: ms =>
|
|
29
|
+
setLocationUpdateInterval: ms => RNSensorModule.setLocationUpdateInterval(ms),
|
|
32
30
|
// --- Alerts & Notifications ---
|
|
33
|
-
fireGeofenceAlert: (type, userName) =>
|
|
34
|
-
fireGenericAlert: (title, body, id) =>
|
|
35
|
-
cancelGenericAlert: id =>
|
|
31
|
+
fireGeofenceAlert: (type, userName) => RNSensorModule.fireGeofenceAlert(type, userName),
|
|
32
|
+
fireGenericAlert: (title, body, id) => RNSensorModule.fireGenericAlert(title, body, id),
|
|
33
|
+
cancelGenericAlert: id => RNSensorModule.cancelGenericAlert(id),
|
|
36
34
|
// --- GPS Status ---
|
|
37
|
-
registerGpsListener: () =>
|
|
35
|
+
registerGpsListener: () => RNSensorModule.registerGpsListener(),
|
|
38
36
|
// --- Event Listeners ---
|
|
39
37
|
// Note: We cast event to 'any' to avoid TS strict object checks,
|
|
40
38
|
// and return EventSubscription (modern) instead of EmitterSubscription (deprecated).
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","LINKING_ERROR","select","ios","default","
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","LINKING_ERROR","select","ios","default","RNSensorModule","Proxy","get","Error","emitter","startForegroundService","title","body","id","stopForegroundService","updateServiceNotification","startMotionDetector","confidence","stopMotionDetector","setLocationUpdateInterval","ms","fireGeofenceAlert","type","userName","fireGenericAlert","cancelGenericAlert","registerGpsListener","addGpsStatusListener","cb","addListener","event","addMotionListener","addLocationLogListener","addLocationErrorListener"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AACnB;;AAEvD,MAAMC,aAAa,GACjB,wFAAwF,GACxFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGP,aAAa,CAACO,cAAc,GAC/CP,aAAa,CAACO,cAAc,GAC5B,IAAIC,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEH,MAAMQ,OAAO,GAAG,IAAIV,kBAAkB,CAACM,cAAc,CAAC;;AAEtD;;AAoBA;AACA,eAAe;EACb;EACAK,sBAAsB,EAAEA,CAACC,KAAa,EAAEC,IAAY,EAAEC,EAAU,KAC9DR,cAAc,CAACK,sBAAsB,CAACC,KAAK,EAAEC,IAAI,EAAEC,EAAE,CAAC;EAExDC,qBAAqB,EAAEA,CAAA,KACrBT,cAAc,CAACS,qBAAqB,CAAC,CAAC;EAExCC,yBAAyB,EAAEA,CAACJ,KAAa,EAAEC,IAAY,KACrDP,cAAc,CAACU,yBAAyB,CAACJ,KAAK,EAAEC,IAAI,CAAC;EAEvD;EACAI,mBAAmB,EAAEA,CAACC,UAAkB,GAAG,EAAE,KAC3CZ,cAAc,CAACW,mBAAmB,CAACC,UAAU,CAAC;EAEhDC,kBAAkB,EAAEA,CAAA,KAClBb,cAAc,CAACa,kBAAkB,CAAC,CAAC;EAErC;EACAC,yBAAyB,EAAGC,EAAU,IACpCf,cAAc,CAACc,yBAAyB,CAACC,EAAE,CAAC;EAE9C;EACAC,iBAAiB,EAAEA,CAACC,IAAkB,EAAEC,QAAgB,KACtDlB,cAAc,CAACgB,iBAAiB,CAACC,IAAI,EAAEC,QAAQ,CAAC;EAElDC,gBAAgB,EAAEA,CAACb,KAAa,EAAEC,IAAY,EAAEC,EAAU,KACxDR,cAAc,CAACmB,gBAAgB,CAACb,KAAK,EAAEC,IAAI,EAAEC,EAAE,CAAC;EAElDY,kBAAkB,EAAGZ,EAAU,IAC7BR,cAAc,CAACoB,kBAAkB,CAACZ,EAAE,CAAC;EAEvC;EACAa,mBAAmB,EAAEA,CAAA,KACnBrB,cAAc,CAACqB,mBAAmB,CAAC,CAAC;EAEtC;EACA;EACA;;EAEAC,oBAAoB,EAAGC,EAAyC,IAC9DnB,OAAO,CAACoB,WAAW,CAAC,oBAAoB,EAAGC,KAAU,IAAKF,EAAE,CAACE,KAAK,CAAC,CAAC;EAEtEC,iBAAiB,EAAGH,EAAgC,IAClDnB,OAAO,CAACoB,WAAW,CAAC,sBAAsB,EAAGC,KAAU,IAAKF,EAAE,CAACE,KAAK,CAAC,CAAC;EAExEE,sBAAsB,EAAGJ,EAAkC,IACzDnB,OAAO,CAACoB,WAAW,CAAC,eAAe,EAAGC,KAAU,IAAKF,EAAE,CAACE,KAAK,CAAC,CAAC;EAEjEG,wBAAwB,EAAGL,EAA+B,IACxDnB,OAAO,CAACoB,WAAW,CAAC,iBAAiB,EAAGC,KAAU,IAAKF,EAAE,CAACE,KAAK,CAAC;AACpE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAsBtD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;IACpF,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;;oCAKiC,MAAM,QAAQ,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;iCAGxD,OAAO,CAAC,OAAO,CAAC;uCAGR,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;uCAIxC,MAAM,KAAQ,OAAO,CAAC,OAAO,CAAC;8BAGxC,OAAO,CAAC,OAAO,CAAC;oCAIR,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;8BAI5B,IAAI,GAAG,KAAK,YAAY,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;8BAGjD,MAAM,QAAQ,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;6BAGpD,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;+BAIzB,OAAO,CAAC,OAAO,CAAC;+BAOd,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,KAAG,iBAAiB;4BAG5D,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,KAAG,iBAAiB;iCAG3C,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,KAAG,iBAAiB;mCAGhD,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,KAAG,iBAAiB;;AAjDhF,wBAmDE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-geo-activity-kit",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Battery-efficient location tracking with motion detection and native notifications.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
package/src/index.tsx
CHANGED
|
@@ -7,19 +7,18 @@ const LINKING_ERROR =
|
|
|
7
7
|
'- You rebuilt the app after installing the package\n' +
|
|
8
8
|
'- You are not using Expo Go\n';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
const GeoActivityKit = NativeModules.GeoActivityKit
|
|
10
|
+
const RNSensorModule = NativeModules.RNSensorModule
|
|
12
11
|
? NativeModules.RNSensorModule
|
|
13
12
|
: new Proxy(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
{},
|
|
14
|
+
{
|
|
15
|
+
get() {
|
|
16
|
+
throw new Error(LINKING_ERROR);
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
);
|
|
21
20
|
|
|
22
|
-
const emitter = new NativeEventEmitter(
|
|
21
|
+
const emitter = new NativeEventEmitter(RNSensorModule);
|
|
23
22
|
|
|
24
23
|
// 2. Define Types
|
|
25
24
|
export interface LocationEvent {
|
|
@@ -45,43 +44,43 @@ export interface ErrorEvent {
|
|
|
45
44
|
export default {
|
|
46
45
|
// --- Service Control ---
|
|
47
46
|
startForegroundService: (title: string, body: string, id: number): Promise<boolean> =>
|
|
48
|
-
|
|
47
|
+
RNSensorModule.startForegroundService(title, body, id),
|
|
49
48
|
|
|
50
49
|
stopForegroundService: (): Promise<boolean> =>
|
|
51
|
-
|
|
50
|
+
RNSensorModule.stopForegroundService(),
|
|
52
51
|
|
|
53
52
|
updateServiceNotification: (title: string, body: string): Promise<boolean> =>
|
|
54
|
-
|
|
53
|
+
RNSensorModule.updateServiceNotification(title, body),
|
|
55
54
|
|
|
56
55
|
// --- Motion & Intelligence ---
|
|
57
56
|
startMotionDetector: (confidence: number = 75): Promise<boolean> =>
|
|
58
|
-
|
|
57
|
+
RNSensorModule.startMotionDetector(confidence),
|
|
59
58
|
|
|
60
59
|
stopMotionDetector: (): Promise<boolean> =>
|
|
61
|
-
|
|
60
|
+
RNSensorModule.stopMotionDetector(),
|
|
62
61
|
|
|
63
62
|
// --- Location Control ---
|
|
64
63
|
setLocationUpdateInterval: (ms: number): Promise<void> =>
|
|
65
|
-
|
|
64
|
+
RNSensorModule.setLocationUpdateInterval(ms),
|
|
66
65
|
|
|
67
66
|
// --- Alerts & Notifications ---
|
|
68
67
|
fireGeofenceAlert: (type: 'IN' | 'OUT', userName: string): Promise<boolean> =>
|
|
69
|
-
|
|
68
|
+
RNSensorModule.fireGeofenceAlert(type, userName),
|
|
70
69
|
|
|
71
70
|
fireGenericAlert: (title: string, body: string, id: number): Promise<boolean> =>
|
|
72
|
-
|
|
71
|
+
RNSensorModule.fireGenericAlert(title, body, id),
|
|
73
72
|
|
|
74
73
|
cancelGenericAlert: (id: number): Promise<boolean> =>
|
|
75
|
-
|
|
74
|
+
RNSensorModule.cancelGenericAlert(id),
|
|
76
75
|
|
|
77
76
|
// --- GPS Status ---
|
|
78
77
|
registerGpsListener: (): Promise<boolean> =>
|
|
79
|
-
|
|
78
|
+
RNSensorModule.registerGpsListener(),
|
|
80
79
|
|
|
81
80
|
// --- Event Listeners ---
|
|
82
81
|
// Note: We cast event to 'any' to avoid TS strict object checks,
|
|
83
82
|
// and return EventSubscription (modern) instead of EmitterSubscription (deprecated).
|
|
84
|
-
|
|
83
|
+
|
|
85
84
|
addGpsStatusListener: (cb: (event: { enabled: boolean }) => void): EventSubscription =>
|
|
86
85
|
emitter.addListener('onGpsStatusChanged', (event: any) => cb(event)),
|
|
87
86
|
|