react-native-background-geolocation 5.0.0 → 5.0.2
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.
- package/RNBackgroundGeolocation.podspec +1 -1
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTask.java +7 -7
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTaskManager.java +6 -6
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocationModule.java +3 -15
- package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.mm +1 -1
- package/package.json +1 -1
|
@@ -27,7 +27,7 @@ Pod::Spec.new do |s|
|
|
|
27
27
|
s.preserve_paths = 'docs', 'CHANGELOG.md', 'LICENSE', 'package.json', 'RNBackgroundGeolocation.ios.js'
|
|
28
28
|
|
|
29
29
|
s.dependency 'CocoaLumberjack', '~> 3.8.5'
|
|
30
|
-
s.dependency 'TSLocationManager', '~> 4.0.
|
|
30
|
+
s.dependency 'TSLocationManager', '~> 4.0.10'
|
|
31
31
|
|
|
32
32
|
s.libraries = 'sqlite3', 'z', 'stdc++'
|
|
33
33
|
s.resource_bundles = {
|
package/android/build.gradle
CHANGED
|
@@ -4,8 +4,8 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
// Android dependencies
|
|
7
|
-
def DEFAULT_COMPILE_SDK_VERSION =
|
|
8
|
-
def DEFAULT_TARGET_SDK_VERSION =
|
|
7
|
+
def DEFAULT_COMPILE_SDK_VERSION = 35
|
|
8
|
+
def DEFAULT_TARGET_SDK_VERSION = 35
|
|
9
9
|
|
|
10
10
|
// Plugin dependencies
|
|
11
11
|
def DEFAULT_PLAY_SERVICES_LOCATION_VERSION = "21.3.0"
|
|
@@ -39,7 +39,7 @@ public class HeadlessTask {
|
|
|
39
39
|
TSConfig config = TSConfig.getInstance(event.getContext());
|
|
40
40
|
|
|
41
41
|
String name = event.getName();
|
|
42
|
-
TSLog.
|
|
42
|
+
TSLog.d("\uD83D\uDC80 event: " + name);
|
|
43
43
|
|
|
44
44
|
WritableMap clientEvent = new WritableNativeMap();
|
|
45
45
|
Map<String, ?> params = null;
|
|
@@ -83,7 +83,7 @@ public class HeadlessTask {
|
|
|
83
83
|
} else if (name.equals(EventName.AUTHORIZATION)) {
|
|
84
84
|
params = event.getAuthorizationEvent().toMap();
|
|
85
85
|
} else {
|
|
86
|
-
TSLog.
|
|
86
|
+
TSLog.w(TSLog.warn("Unknown Headless Event: " + name));
|
|
87
87
|
clientEvent.putString("error", "Unknown event: " + name);
|
|
88
88
|
clientEvent.putNull("params");
|
|
89
89
|
}
|
|
@@ -98,18 +98,18 @@ public class HeadlessTask {
|
|
|
98
98
|
.setParams(clientEvent)
|
|
99
99
|
.setTimeout(TASK_TIMEOUT)
|
|
100
100
|
.setOnInvokeCallback((reactContext, task) -> {
|
|
101
|
-
//TSLog.
|
|
101
|
+
//TSLog.d("*** onInvoke: " + task.getId());
|
|
102
102
|
})
|
|
103
103
|
.setOnFinishCallback(taskId -> {
|
|
104
|
-
//TSLog.
|
|
104
|
+
//TSLog.d("*** onFinish: " + taskId);
|
|
105
105
|
})
|
|
106
106
|
.setOnErrorCallback((task, e) -> {
|
|
107
|
-
TSLog.
|
|
107
|
+
TSLog.w("⚠\uFE0F HeadlessTaskError: " + e.getMessage() + ": " + task.toString());
|
|
108
108
|
})
|
|
109
109
|
.build()
|
|
110
110
|
);
|
|
111
111
|
} catch (Exception e) {
|
|
112
|
-
TSLog.
|
|
112
|
+
TSLog.w("Failed invoke HeadlessTask " + name + ". Task ignored: " + e.getMessage());
|
|
113
113
|
e.printStackTrace();
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -124,7 +124,7 @@ public class HeadlessTask {
|
|
|
124
124
|
try {
|
|
125
125
|
HeadlessTaskManager.getInstance().finishTask(event.getContext(), event.getTaskId());
|
|
126
126
|
} catch (Exception e) {
|
|
127
|
-
TSLog.
|
|
127
|
+
TSLog.w(e.getMessage());
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTaskManager.java
CHANGED
|
@@ -161,7 +161,7 @@ public class HeadlessTaskManager implements HeadlessJsTaskEventListener {
|
|
|
161
161
|
removeTask(task);
|
|
162
162
|
task.onFinish();
|
|
163
163
|
|
|
164
|
-
TSLog.
|
|
164
|
+
TSLog.d("[onHeadlessJsTaskFinish] taskId: " + taskId);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
private ReactNativeHost getReactNativeHost(Context context) {
|
|
@@ -189,7 +189,7 @@ public class HeadlessTaskManager implements HeadlessJsTaskEventListener {
|
|
|
189
189
|
Method getCurrentReactContext = reactHost.getClass().getMethod("getCurrentReactContext");
|
|
190
190
|
return (ReactContext) getCurrentReactContext.invoke(reactHost);
|
|
191
191
|
} catch (Exception e) {
|
|
192
|
-
TSLog.
|
|
192
|
+
TSLog.e(TSLog.error( "Reflection error getCurrentReactContext: " + e.getMessage()), e);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
final ReactInstanceManager reactInstanceManager = getReactNativeHost(context).getReactInstanceManager();
|
|
@@ -206,7 +206,7 @@ public class HeadlessTaskManager implements HeadlessJsTaskEventListener {
|
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
208
|
if (mIsInitializingReactContext.compareAndSet(false, true)) {
|
|
209
|
-
TSLog.
|
|
209
|
+
TSLog.d( "[createReactContextAndScheduleTask] initialize ReactContext");
|
|
210
210
|
final Object reactHost = getReactHost(context);
|
|
211
211
|
if (isBridglessArchitectureEnabled()) { // NEW arch
|
|
212
212
|
ReactInstanceEventListener callback = new ReactInstanceEventListener() {
|
|
@@ -218,7 +218,7 @@ public class HeadlessTaskManager implements HeadlessJsTaskEventListener {
|
|
|
218
218
|
Method removeReactInstanceEventListener = reactHost.getClass().getMethod("removeReactInstanceEventListener", ReactInstanceEventListener.class);
|
|
219
219
|
removeReactInstanceEventListener.invoke(reactHost, this);
|
|
220
220
|
} catch (Exception e) {
|
|
221
|
-
TSLog.
|
|
221
|
+
TSLog.e(TSLog.error("HeadlessTask reflection error removeReactInstanceEventListener: ") + e);
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
};
|
|
@@ -228,7 +228,7 @@ public class HeadlessTaskManager implements HeadlessJsTaskEventListener {
|
|
|
228
228
|
Method startReactHost = reactHost.getClass().getMethod("start");
|
|
229
229
|
startReactHost.invoke(reactHost);
|
|
230
230
|
} catch (Exception e) {
|
|
231
|
-
TSLog.
|
|
231
|
+
TSLog.e(TSLog.error("HeadlessTask reflection error ReactHost start: " + e.getMessage()), e);
|
|
232
232
|
}
|
|
233
233
|
} else { // OLD arch
|
|
234
234
|
final ReactInstanceManager reactInstanceManager = getReactNativeHost(context).getReactInstanceManager();
|
|
@@ -363,7 +363,7 @@ public class HeadlessTaskManager implements HeadlessJsTaskEventListener {
|
|
|
363
363
|
|
|
364
364
|
boolean invoke(ReactContext reactContext) throws IllegalStateException {
|
|
365
365
|
if (mReactTaskId > 0) {
|
|
366
|
-
TSLog.
|
|
366
|
+
TSLog.w(TSLog.warn("Task already invoked <IGNORED>: " + this));
|
|
367
367
|
return true;
|
|
368
368
|
}
|
|
369
369
|
HeadlessJsTaskContext headlessJsTaskContext = HeadlessJsTaskContext.getInstance(reactContext);
|
|
@@ -326,18 +326,13 @@ public class RNBackgroundGeolocationModule
|
|
|
326
326
|
|
|
327
327
|
@Override
|
|
328
328
|
public void onHostPause() {
|
|
329
|
-
|
|
330
|
-
TSConfig config = TSConfig.getInstance(context);
|
|
331
|
-
if (config.getEnabled()) {
|
|
332
|
-
TSScheduleManager.getInstance(context).oneShot(TerminateEvent.ACTION, 10000);
|
|
333
|
-
}
|
|
329
|
+
|
|
334
330
|
}
|
|
335
331
|
@Override
|
|
336
332
|
public void onHostDestroy() {
|
|
337
333
|
mInitialized = false;
|
|
338
334
|
mReady = false;
|
|
339
335
|
removeAllListeners();
|
|
340
|
-
getAdapter().onActivityDestroy();
|
|
341
336
|
}
|
|
342
337
|
|
|
343
338
|
@Override
|
|
@@ -1017,8 +1012,7 @@ public class RNBackgroundGeolocationModule
|
|
|
1017
1012
|
private void removeAllListeners() {
|
|
1018
1013
|
synchronized (mListeners) {
|
|
1019
1014
|
mListeners.clear();
|
|
1020
|
-
}
|
|
1021
|
-
getAdapter().removeListeners();
|
|
1015
|
+
}
|
|
1022
1016
|
}
|
|
1023
1017
|
|
|
1024
1018
|
private void onLocationError(Integer code) {
|
|
@@ -1274,11 +1268,5 @@ public class RNBackgroundGeolocationModule
|
|
|
1274
1268
|
|
|
1275
1269
|
private BackgroundGeolocation getAdapter() {
|
|
1276
1270
|
return BackgroundGeolocation.getInstance(getReactApplicationContext());
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1279
|
-
@Override
|
|
1280
|
-
public void onCatalystInstanceDestroy() {
|
|
1281
|
-
mInitialized = false;
|
|
1282
|
-
removeAllListeners();
|
|
1283
|
-
}
|
|
1271
|
+
}
|
|
1284
1272
|
}
|
|
@@ -363,7 +363,7 @@ RCT_EXPORT_METHOD(getCurrentPosition:(NSDictionary*)options resolve:(RCTPromiseR
|
|
|
363
363
|
RCT_EXPORT_METHOD(watchPosition:(NSDictionary*)options resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
364
364
|
{
|
|
365
365
|
TSWatchPositionRequest *request = [TSWatchPositionRequest requestWithSuccess:^(TSLocationStreamEvent *event) {
|
|
366
|
-
[self sendEvent:EVENT_WATCHPOSITION body:[event toDictionary]];
|
|
366
|
+
[self sendEvent:EVENT_WATCHPOSITION body:[event.locationEvent toDictionary]];
|
|
367
367
|
} failure:^(NSError *error) {
|
|
368
368
|
// No reject; stream API
|
|
369
369
|
}];
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
|
|
3
3
|
"name": "react-native-background-geolocation",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.2",
|
|
5
5
|
"description": "The most sophisticated cross-platform background location-tracking & geofencing module with battery-conscious motion-detection intelligence",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "yarn run build:expo",
|