react-native-background-geolocation
react-native-background-geolocation copied to clipboard
Location does not update on Motion transition
Bellow is my customer tracking log, he approved always permission. From 10-10 07:55:49 to 10-10 13:36:56, He moved by car but there is no location recorded. I see some motion transition logs, and this:
╔═════════════════════════════════════════════
║ ⚠️ Background location-updates forbidden (WhenInUse)
╠═════════════════════════════════════════════
╟─ Cannot initiate location requests in the background/headless with WhenInUse authorization.
╟─ Location updates must have previously been initiated with your app in the foreground. Eg: .changePace(true).
╟─ useSignificantChangesOnly cannot continue location-updates after app terminate.
╟─ You may want to configure stopOnTerminate: true
╚═════════════════════════════════════════════
Please take a look and explain how it does not record any location in that range time.
Thanks !!!
Your Environment
- Plugin version: 4.10.1
- Platform: Android
- OS version: 11
- Device manufacturer / model: SamSung SM-A145F
- React Native version (
react-native -v): 0.63.5 - Plugin config
{
locationAuthorizationRequest: 'Always',
backgroundPermissionRationale: {
title:
'Cho phép {applicationName} truy cập vị trí thiết bị ở nền ?',
message: 'Vui lòng đồng ý quyền truy cập vị trí "Luôn cho phép"',
positiveAction: 'Chuyển sang "Luôn cho phép"',
negativeAction: 'Huỷ',
},
speedJumpFilter: 30,
disableElasticity: true,
//force location service never turn off
disableStopDetection: true,
reset: true,
useSignificantChangesOnly: true,
// Geolocation Config
desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_MEDIUM,
locationTemplate:
'{"uuid":\'<%=uuid%>\',"event":\'<%=event%>\',"accuracy":<%=accuracy%>,"is_moving":<%=is_moving%>,"mocked":<%=mock%>,"latitude":<%=latitude%>,"longitude":<%=longitude%>,"odometer":<%=odometer%>,"speed":<%=speed%>,"heading":<%=heading%>,"altitude_accuracy":<%=altitude_accuracy%>,"altitude":<%=altitude%>,"activity_type":"<%=activity.type%>","activity_confidence":"<%=activity.confidence%>","battery_level":"<%=battery.level%>","timestamp":"<%=timestamp%>"}',
distanceFilter: distanceTracking,
scheduleUseAlarmManager: true,
// Application config
logMaxDays: 3,
stopOnTerminate: false, // <-- Allow the background-service to continue tracking when user closes the app.
startOnBoot: true, // <-- Auto start tracking when device is powered-up.
enableHeadless: false, //fix white screen bug when open from background
heartbeatInterval: 60,
stopTimeout: 5,
batchSync: true, // <-- [Default: false] Set true to sync locations to server in a single HTTP request.
autoSync: true, // <-- [Default: true] Set true to sync each location to server as it arrives.
autoSyncThreshold: 2,
notification: {
sticky: true,
title: '',
text: utils
.getIntl()
.formatMessage(Messages.notification_tracking_desc),
},
url,
debug, // <-- enable this hear sounds for background-geolocation life-cycle.
logLevel,
headers: {
// <-- Optional HTTP headers
Authorization: 'Bearer ' + token,
},
extras: {
shiftId: shift.id,
shiftStartTime: shift.start_time,
shiftEndTime: shift.end_time,
},
params: {
shift: {
id: shift.id,
start_time: shift.start_time,
end_time: shift.end_time,
},
},
maxDaysToPersist: 5,
isMoving: true,
}
Debug logs
10-10 06:28:30.015 INFO [LoggerFacade$a a]
╔═════════════════════════════════════════════
║ DEVICE SENSORS
╠═════════════════════════════════════════════
╟─ ✅ ACCELEROMETER: {Sensor name="LIS2DLC12 Accelerometer", vendor="STM", version=1, type=1, maxRange=78.4532, resolution=0.0023942017, power=0.15, minDelay=5000}
╟─ ⚠️ GYROSCOPE: none. Motion-detection system performance will be degraded
╟─ ✅ MAGNETOMETER: {Sensor name="AK09918C Magnetometer", vendor="Asahi Kasei Microdevices", version=2, type=2, maxRange=4900.02, resolution=0.06, power=1.1, minDelay=10000}
╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="Significant Motion", vendor="Samsung Inc.", version=2, type=17, maxRange=1.0, resolution=1.0, power=0.16, minDelay=-1}
╚═════════════════════════════════════════════
10-10 06:28:30.076 DEBUG [TSSQLiteAppender$c run]
ℹ️ Cleared logs older than 72 hours
10-10 06:47:40.935 INFO [LoggerFacade$a a]
╔═════════════════════════════════════════════
║ TSLocationManager version: 3.3.1 (418)
╠═════════════════════════════════════════════
╟─ samsung SM-A145F @ 13 (react-native)
{
"activityRecognitionInterval": 10000,
"allowIdenticalLocations": false,
"authorization": {},
"autoSync": true,
"autoSyncThreshold": 2,
"backgroundPermissionRationale": {
"title": "Cho phép {applicationName} truy cập vị trí thiết bị ở nền ?",
"message": "Vui lòng đồng ý quyền truy cập vị trí \"Luôn cho phép\"",
"positiveAction": "Chuyển sang \"Luôn cho phép\"",
"negativeAction": "Huỷ"
},
"batchSync": true,
"configUrl": "",
"debug": false,
"deferTime": 0,
"desiredAccuracy": 10,
"desiredOdometerAccuracy": 100,
"disableAutoSyncOnCellular": false,
"disableElasticity": true,
"disableLocationAuthorizationAlert": false,
"disableMotionActivityUpdates": false,
"disableProviderChangeRecord": false,
"disableStopDetection": true,
"distanceFilter": 100,
"elasticityMultiplier": 1,
"enableHeadless": false,
"enableTimestampMeta": false,
"extras": {
"shiftId": "64e11b67cb3d23fcb411a1a9",
"shiftStartTime": "2023-09-30 08:00:00",
"shiftEndTime": "2023-09-30 20:00:00"
},
"fastestLocationUpdateInterval": -1,
"foregroundService": true,
"geofenceInitialTriggerEntry": true,
"geofenceModeHighAccuracy": false,
"geofenceProximityRadius": 1000,
"geofenceTemplate": "",
"headers": {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vYXBpLnRhbmNhLmlvL2FwaS92NC9hdXRoL3NpZ25pbi9waG9uZSIsImlhdCI6MTY4OTY2MjAxNywibmJmIjoxNjg5NjYyMDE3LCJqdGkiOiJ6ZTRUZndnU1FnMzdrcnlRIiwic3ViIjoiNjNmZjBjNDYwNWFjYkJsenMiLCJwcnYiOiIxYzU1MjBmNzBiYWE2NTVkZGM1NzQ2YTY3NjRmMzcyYTFiNjU1YWE2Iiwic2hvcF9pZCI6IjYzNzFjMTU2NzFkZTA4YjBlNzA0YWU5YiIsInNob3BfdXNlcm5hbWUiOiJjdHlkaWVudHV0aGllbnRoYW5oZGF0Y29uZyIsInNob3BfcHJlZml4IjoiYyIsInR5cGUiOiJhcGkifQ.b1dyY46UIaVVPV8SH7ubPmYDoPJ-UoQePH4K7j1ELyg"
},
"headlessJobService": "com.transistorsoft.rnbackgroundgeolocation.HeadlessTask",
"heartbeatInterval": 60,
"httpRootProperty": "location",
"httpTimeout": 60000,
"isMoving": false,
"locationAuthorizationRequest": "Always",
"locationTemplate": "{\"uuid\":'<%=uuid%>',\"event\":'<%=event%>',\"accuracy\":<%=accuracy%>,\"is_moving\":<%=is_moving%>,\"mocked\":<%=mock%>,\"latitude\":<%=latitude%>,\"longitude\":<%=longitude%>,\"odometer\":<%=odometer%>,\"speed\":<%=speed%>,\"heading\":<%=heading%>,\"altitude_accuracy\":<%=altitude_accuracy%>,\"altitude\":<%=altitude%>,\"activity_type\":\"<%=activity.type%>\",\"activity_confidence\":\"<%=activity.confidence%>\",\"battery_level\":\"<%=battery.level%>\",\"timestamp\":\"<%=timestamp%>\"}",
"locationTimeout": 60,
"locationUpdateInterval": 1000,
"locationsOrderDirection": "ASC",
"logLevel": 5,
"logMaxDays": 3,
"maxBatchSize": -1,
"maxDaysToPersist": 5,
"maxRecordsToPersist": -1,
"method": "POST",
"minimumActivityRecognitionConfidence": 75,
"motionTriggerDelay": 0,
"notification": {
"layout": "",
"title": "xxx",
"text": " sử dụng vị trí của bạn trong ca làm",
"color": "",
"channelName": "TSLocationManager",
"channelId": "",
"smallIcon": "",
"largeIcon": "",
"priority": 0,
"sticky": true,
"strings": {},
"actions": []
},
"params": {
"shift": {
"end_time": "2023-09-30 20:00:00",
"start_time": "2023-09-30 08:00:00",
"id": "64e11b67cb3d23fcb411a1a9"
}
},
"persist": true,
"persistMode": 2,
"schedule": [],
"scheduleUseAlarmManager": true,
"speedJumpFilter": 30,
"startOnBoot": true,
"stationaryRadius": 25,
"stopAfterElapsedMinutes": 0,
"stopOnStationary": false,
"stopOnTerminate": false,
"stopTimeout": 5,
"triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking",
"url": "https://xxxx/employee-tracker-v3",
"useSignificantChangesOnly": true,
"enabled": false,
"schedulerEnabled": false,
"trackingMode": 1,
"odometer": 51418.43359375,
"isFirstBoot": false,
"didLaunchInBackground": false,
"didDeviceReboot": false
}
10-10 06:47:40.937 INFO [LoggerFacade$a a]
╔═════════════════════════════════════════════
║ DEVICE SENSORS
╠═════════════════════════════════════════════
╟─ ✅ ACCELEROMETER: {Sensor name="LIS2DLC12 Accelerometer", vendor="STM", version=1, type=1, maxRange=78.4532, resolution=0.0023942017, power=0.15, minDelay=5000}
╟─ ⚠️ GYROSCOPE: none. Motion-detection system performance will be degraded
╟─ ✅ MAGNETOMETER: {Sensor name="AK09918C Magnetometer", vendor="Asahi Kasei Microdevices", version=2, type=2, maxRange=4900.02, resolution=0.06, power=1.1, minDelay=10000}
╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="Significant Motion", vendor="Samsung Inc.", version=2, type=17, maxRange=1.0, resolution=1.0, power=0.16, minDelay=-1}
╚═════════════════════════════════════════════
10-10 06:47:40.997 DEBUG [TSSQLiteAppender$c run]
ℹ️ Cleared logs older than 72 hours
10-10 07:42:30.402 INFO [LoggerFacade$a a]
╔═════════════════════════════════════════════
║ TSLocationManager version: 3.3.1 (418)
╠═════════════════════════════════════════════
╟─ samsung SM-A145F @ 13 (react-native)
{
"activityRecognitionInterval": 10000,
"allowIdenticalLocations": false,
"authorization": {},
"autoSync": true,
"autoSyncThreshold": 2,
"backgroundPermissionRationale": {
"title": "Cho phép {applicationName} truy cập vị trí thiết bị ở nền ?",
"message": "Vui lòng đồng ý quyền truy cập vị trí \"Luôn cho phép\"",
"positiveAction": "Chuyển sang \"Luôn cho phép\"",
"negativeAction": "Huỷ"
},
"batchSync": true,
"configUrl": "",
"debug": false,
"deferTime": 0,
"desiredAccuracy": 10,
"desiredOdometerAccuracy": 100,
"disableAutoSyncOnCellular": false,
"disableElasticity": true,
"disableLocationAuthorizationAlert": false,
"disableMotionActivityUpdates": false,
"disableProviderChangeRecord": false,
"disableStopDetection": true,
"distanceFilter": 100,
"elasticityMultiplier": 1,
"enableHeadless": false,
"enableTimestampMeta": false,
"extras": {
"shiftId": "64e11b67cb3d23fcb411a1a9",
"shiftStartTime": "2023-09-30 08:00:00",
"shiftEndTime": "2023-09-30 20:00:00"
},
"fastestLocationUpdateInterval": -1,
"foregroundService": true,
"geofenceInitialTriggerEntry": true,
"geofenceModeHighAccuracy": false,
"geofenceProximityRadius": 1000,
"geofenceTemplate": "",
"headers": {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vYXBpLnRhbmNhLmlvL2FwaS92NC9hdXRoL3NpZ25pbi9waG9uZSIsImlhdCI6MTY4OTY2MjAxNywibmJmIjoxNjg5NjYyMDE3LCJqdGkiOiJ6ZTRUZndnU1FnMzdrcnlRIiwic3ViIjoiNjNmZjBjNDYwNWFjYkJsenMiLCJwcnYiOiIxYzU1MjBmNzBiYWE2NTVkZGM1NzQ2YTY3NjRmMzcyYTFiNjU1YWE2Iiwic2hvcF9pZCI6IjYzNzFjMTU2NzFkZTA4YjBlNzA0YWU5YiIsInNob3BfdXNlcm5hbWUiOiJjdHlkaWVudHV0aGllbnRoYW5oZGF0Y29uZyIsInNob3BfcHJlZml4IjoiYyIsInR5cGUiOiJhcGkifQ.b1dyY46UIaVVPV8SH7ubPmYDoPJ-UoQePH4K7j1ELyg"
},
"headlessJobService": "com.transistorsoft.rnbackgroundgeolocation.HeadlessTask",
"heartbeatInterval": 60,
"httpRootProperty": "location",
"httpTimeout": 60000,
"isMoving": false,
"locationAuthorizationRequest": "Always",
"locationTemplate": "{\"uuid\":'<%=uuid%>',\"event\":'<%=event%>',\"accuracy\":<%=accuracy%>,\"is_moving\":<%=is_moving%>,\"mocked\":<%=mock%>,\"latitude\":<%=latitude%>,\"longitude\":<%=longitude%>,\"odometer\":<%=odometer%>,\"speed\":<%=speed%>,\"heading\":<%=heading%>,\"altitude_accuracy\":<%=altitude_accuracy%>,\"altitude\":<%=altitude%>,\"activity_type\":\"<%=activity.type%>\",\"activity_confidence\":\"<%=activity.confidence%>\",\"battery_level\":\"<%=battery.level%>\",\"timestamp\":\"<%=timestamp%>\"}",
"locationTimeout": 60,
"locationUpdateInterval": 1000,
"locationsOrderDirection": "ASC",
"logLevel": 5,
"logMaxDays": 3,
"maxBatchSize": -1,
"maxDaysToPersist": 5,
"maxRecordsToPersist": -1,
"method": "POST",
"minimumActivityRecognitionConfidence": 75,
"motionTriggerDelay": 0,
"notification": {
"layout": "",
"title": "xxxx",
"text": "xxx sử dụng vị trí của bạn trong ca làm",
"color": "",
"channelName": "TSLocationManager",
"channelId": "",
"smallIcon": "",
"largeIcon": "",
"priority": 0,
"sticky": true,
"strings": {},
"actions": []
},
"params": {
"shift": {
"end_time": "2023-09-30 20:00:00",
"start_time": "2023-09-30 08:00:00",
"id": "64e11b67cb3d23fcb411a1a9"
}
},
"persist": true,
"persistMode": 2,
"schedule": [],
"scheduleUseAlarmManager": true,
"speedJumpFilter": 30,
"startOnBoot": true,
"stationaryRadius": 25,
"stopAfterElapsedMinutes": 0,
"stopOnStationary": false,
"stopOnTerminate": false,
"stopTimeout": 5,
"triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking",
"url": "xxxx/employee-tracker-v3",
"useSignificantChangesOnly": true,
"enabled": false,
"schedulerEnabled": false,
"trackingMode": 1,
"odometer": 51418.43359375,
"isFirstBoot": false,
"didLaunchInBackground": false,
"didDeviceReboot": false
}
10-10 07:42:30.404 INFO [LoggerFacade$a a]
╔═════════════════════════════════════════════
║ DEVICE SENSORS
╠═════════════════════════════════════════════
╟─ ✅ ACCELEROMETER: {Sensor name="LIS2DLC12 Accelerometer", vendor="STM", version=1, type=1, maxRange=78.4532, resolution=0.0023942017, power=0.15, minDelay=5000}
╟─ ⚠️ GYROSCOPE: none. Motion-detection system performance will be degraded
╟─ ✅ MAGNETOMETER: {Sensor name="AK09918C Magnetometer", vendor="Asahi Kasei Microdevices", version=2, type=2, maxRange=4900.02, resolution=0.06, power=1.1, minDelay=10000}
╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="Significant Motion", vendor="Samsung Inc.", version=2, type=17, maxRange=1.0, resolution=1.0, power=0.16, minDelay=-1}
╚═════════════════════════════════════════════
10-10 07:42:30.500 DEBUG [TSSQLiteAppender$c run]
ℹ️ Cleared logs older than 72 hours
10-10 07:55:09.345 DEBUG [LifecycleManager onCreate] ☯️ onCreate
10-10 07:55:09.346 DEBUG [LifecycleManager onStart] ☯️ onStart
10-10 07:55:09.347 INFO [BackgroundGeolocation <init>]
✅ Google Play Services: connected (version code:12451000)
10-10 07:55:09.371 INFO [TSProviderManager startMonitoring]
🎾 Start monitoring location-provider changes
10-10 07:55:09.397 DEBUG [b prune]
ℹ️ PRUNE -5 days
10-10 07:55:09.404 DEBUG [LifecycleManager onResume] ☯️ onResume
10-10 07:55:12.320 DEBUG [TSLocationManager clearLastOdometerLocation]
ℹ️ Clear last odometer location
10-10 07:55:12.326 INFO [ActivityRecognitionService stop]
🔴 Stop motion-activity updates
10-10 07:55:12.331 INFO [HeartbeatService stop]
🔴 Stop heartbeat
10-10 07:55:12.332 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: []
10-10 07:55:12.333 DEBUG [TSGeofenceManager f]
🔴 Stop monitoring geofences
10-10 07:55:12.334 DEBUG [HttpService stopMonitoringConnectivityChanges]
🔴 Stop monitoring connectivity changes
10-10 07:55:27.334 DEBUG [TSConfig d] ℹ️ Persist config, dirty: [autoSyncThreshold, backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, backgroundPermissionRationale.positiveAction, backgroundPermissionRationale.negativeAction, batchSync, desiredAccuracy, disableElasticity, disableStopDetection, distanceFilter, extras, headers, headlessJobService, heartbeatInterval, isMoving, locationTemplate, logLevel, maxDaysToPersist, notification, notification.title, notification.text, notification.sticky, params, scheduleUseAlarmManager, speedJumpFilter, startOnBoot, stopOnTerminate, url, useSignificantChangesOnly]
10-10 07:55:27.342 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 0)
╠═════════════════════════════════════════════
10-10 07:55:27.695 INFO [TSLocationManager setOdometer]
ℹ️ setOdometer: 0.0, isMoving: true
10-10 07:55:27.695 INFO [c g]
🔵 LocationAuthorization: Requesting Background permission
10-10 07:55:27.696 DEBUG [TSLocationManager clearLastOdometerLocation]
ℹ️ Clear last odometer location
10-10 07:55:27.699 INFO [c h]
🔵 LocationAuthorization: Requesting permission
10-10 07:55:27.701 INFO [c$j onPermissionGranted]
✅ LocationAuthorization: Permission granted
10-10 07:55:27.701 INFO [c e]
🔵 Should show backgroundPermissionRationale? false
10-10 07:55:27.749 DEBUG [AbstractService start]
🎾 LocationRequestService [eventCount: 1]
10-10 07:55:27.752 INFO [SingleLocationRequest startUpdatingLocation]
🔵 [SingleLocationRequest start, action: 2, requestId: 1]
10-10 07:55:27.755 DEBUG [AbstractService finish] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: true]
10-10 07:55:28.436 DEBUG [HttpService startMonitoringConnectivityChanges]
🎾 Start monitoring connectivity changes
10-10 07:55:28.441 DEBUG [DeviceSettings startMonitoringPowerSaveChanges]
🎾 Start monitoring powersave changes
10-10 07:55:28.446 INFO [HeartbeatService stop]
🔴 Stop heartbeat
10-10 07:55:28.449 INFO [c h]
🔵 LocationAuthorization: Requesting permission
10-10 07:55:28.449 DEBUG [HttpService a]
╔═════════════════════════════════════════════
║ 📶 Connectivity change: connected? true
╠═════════════════════════════════════════════
10-10 07:55:28.450 INFO [TrackingService changePace]
🔵 setPace: true → true
10-10 07:55:28.470 INFO [c$j onPermissionGranted]
✅ LocationAuthorization: Permission granted
10-10 07:55:28.497 DEBUG [AbstractService start]
🎾 LocationRequestService [eventCount: 1]
10-10 07:55:28.498 INFO [SingleLocationRequest startUpdatingLocation]
🔵 [SingleLocationRequest start, action: 1, requestId: 2]
10-10 07:55:28.500 INFO [ActivityRecognitionService start]
🎾 Start motion-activity updates
10-10 07:55:28.505 DEBUG [AbstractService finish] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: true]
10-10 07:55:28.679 INFO [TSScheduleManager oneShot]
⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588)
10-10 07:55:28.731 DEBUG [TSLocationManagerActivity execute] locationsettings
10-10 07:55:28.733 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): 10
10-10 07:55:28.868 DEBUG [TSLocationManagerActivity stop] eventCount: 0
10-10 07:55:29.107 DEBUG [TSLocationManagerActivity onDestroy]
10-10 07:55:29.327 DEBUG [BackgroundGeolocation b]
🔴 Cleared callbacks
10-10 07:55:29.336 INFO [TSScheduleManager cancelOneShot]
⏰ Cancel OneShot: TERMINATE_EVENT
10-10 07:55:29.345 DEBUG [LifecycleManager a]
╔═════════════════════════════════════════════
║ ☯️ HeadlessMode? true
╠═════════════════════════════════════════════
10-10 07:55:29.362 DEBUG [BackgroundGeolocation b]
🔴 Cleared callbacks
10-10 07:55:29.365 INFO [BackgroundGeolocation$l0 run]
╔═════════════════════════════════════════════
║ MainActivity was destroyed
╠═════════════════════════════════════════════
╟─ stopOnTerminate: false
╟─ enabled: true
10-10 07:55:29.519 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 0)
╠═════════════════════════════════════════════
10-10 07:55:29.589 DEBUG [LifecycleManager onPause] ☯️ onPause
10-10 07:55:29.590 DEBUG [LifecycleManager onStop] ☯️ onStop
10-10 07:55:29.793 DEBUG [TSConfig d] ℹ️ Persist config, dirty: [autoSyncThreshold, backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, backgroundPermissionRationale.positiveAction, backgroundPermissionRationale.negativeAction, batchSync, desiredAccuracy, disableElasticity, disableStopDetection, distanceFilter, extras, headers, headlessJobService, heartbeatInterval, isMoving, locationTemplate, logLevel, maxDaysToPersist, notification, notification.title, notification.text, notification.sticky, params, schedule, scheduleUseAlarmManager, speedJumpFilter, startOnBoot, stopOnTerminate, url, useSignificantChangesOnly]
10-10 07:55:29.817 DEBUG [TSConfig d] ℹ️ Persist config, dirty: [autoSyncThreshold, backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, backgroundPermissionRationale.positiveAction, backgroundPermissionRationale.negativeAction, batchSync, desiredAccuracy, disableElasticity, disableStopDetection, distanceFilter, extras, headers, headlessJobService, heartbeatInterval, isMoving, locationTemplate, logLevel, maxDaysToPersist, notification, notification.title, notification.text, notification.sticky, params, scheduleUseAlarmManager, speedJumpFilter, startOnBoot, stopOnTerminate, url, useSignificantChangesOnly]
10-10 07:55:29.823 INFO [ActivityRecognitionService start]
🎾 Start motion-activity updates
10-10 07:55:29.827 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 0)
╠═════════════════════════════════════════════
10-10 07:55:29.836 INFO [c g]
🔵 LocationAuthorization: Requesting Background permission
10-10 07:55:29.841 INFO [c e]
🔵 Should show backgroundPermissionRationale? false
10-10 07:55:31.781 DEBUG [AbstractService start]
🎾 LocationRequestService [eventCount: 1]
10-10 07:55:31.784 INFO [LocationRequestService handleLocationResult]
╔═════════════════════════════════════════════
║ getCurrentPosition LocationResult: 1
╠═════════════════════════════════════════════
╟─ 📍 Location[fused 10.027125,105.747909 hAcc=9.0 et=+29d1h55m57s591ms alt=-2.9000000953674316 vAcc=1.1098391 vel=1.5642838 sAcc=0.87 bear=355.17538 bAcc=180.0], age: 46ms, time: 1696899331736
10-10 07:55:31.789 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
10-10 07:55:31.790 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 9.0
10-10 07:55:31.792 DEBUG [AbstractService start]
🎾 LocationRequestService [eventCount: 2]
10-10 07:55:31.795 INFO [LocationRequestService handleLocationResult]
╔═════════════════════════════════════════════
║ motionchange LocationResult: 2
╠═════════════════════════════════════════════
╟─ 📍 Location[fused 10.027125,105.747909 hAcc=9.0 et=+29d1h55m57s591ms alt=-2.9000000953674316 vAcc=1.1098391 vel=1.5642838 sAcc=0.87 bear=355.17538 bAcc=180.0], age: 57ms, time: 1696899331736
10-10 07:55:31.801 DEBUG [AbstractService finish] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false]
10-10 07:55:31.815 DEBUG [AbstractService onDestroy]
🔴 LocationRequestService stopped
10-10 07:55:31.821 DEBUG [LocationRequestService handleLocationResult] SingleLocationRequest 1 isFinished? true
10-10 07:55:31.822 DEBUG [AbstractService finish] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false]
10-10 07:55:31.824 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired motionchange position, isMoving: true
10-10 07:55:31.825 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 9.0
10-10 07:55:31.843 INFO [TSLocationManager requestLocationUpdates]
🎾 Location-services: ON
10-10 07:55:31.844 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): 10
10-10 07:55:31.850 DEBUG [LocationRequestService handleLocationResult] SingleLocationRequest 2 isFinished? true
10-10 07:55:31.855 INFO [ActivityRecognitionService start]
🎾 Start motion-activity updates
10-10 07:55:31.857 DEBUG [AbstractService finish] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false]
10-10 07:55:31.866 INFO [b persist]
✅ INSERT: dd43302d-b930-46c4-aabc-128141041ee2
10-10 07:55:31.894 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 1)
╠═════════════════════════════════════════════
10-10 07:55:31.927 DEBUG [AbstractService start]
🎾 TrackingService [eventCount: 1]
10-10 07:55:31.933 DEBUG [TrackingService handleLocationResult]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused 10.027125,105.747909 hAcc=9.0 et=+29d1h55m57s591ms alt=-2.9000000953674316 vAcc=1.1098391 vel=1.5642838 sAcc=0.87 bear=355.17538 bAcc=180.0]
╟─ Age: 195ms, time: 1696899331736
10-10 07:55:31.934 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════
10-10 07:55:31.934 DEBUG [AbstractService finish] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true]
10-10 07:55:31.935 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
10-10 07:55:31.999 DEBUG [AbstractService start]
🎾 BackgroundTaskService [eventCount: 1]
10-10 07:55:32.001 INFO [BackgroundTaskManager$Task start] ⏳ startBackgroundTask: 1
10-10 07:55:32.007 DEBUG [b allWithLocking]
✅ Locked 1 records
10-10 07:55:32.008 INFO [HttpService a]
🔵 HTTP POST batch (1)
10-10 07:55:32.425 INFO [HttpService$h onResponse]
🔵 Response: 200
10-10 07:55:32.430 DEBUG [b destroyAll]
✅ DELETED: (1)
10-10 07:55:32.436 DEBUG [b allWithLocking]
✅ Locked 0 records
10-10 07:55:32.437 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 1
10-10 07:55:32.438 DEBUG [AbstractService finish] ⚙️︎ finish BackgroundTaskService [eventCount: 0, sticky: false]
10-10 07:55:32.474 DEBUG [AbstractService onDestroy]
🔴 BackgroundTaskService stopped
10-10 07:55:34.141 DEBUG [AbstractService start]
🎾 TrackingService [eventCount: 1]
10-10 07:55:34.141 INFO [TrackingService handleLocationAvailability]
ℹ️ Location availability: false
10-10 07:55:34.142 DEBUG [AbstractService finish] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true]
10-10 07:55:49.922 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 07:55:49.926 DEBUG [ActivityRecognitionService handleActivityRecognitionResult]
🚘 ️DetectedActivity [type=TILTING, confidence=100]
10-10 07:55:49.930 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 07:55:49.941 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 07:55:49.942 DEBUG [ActivityRecognitionService handleActivityRecognitionResult]
🚘 ️DetectedActivity [type=UNKNOWN, confidence=40]
10-10 07:55:49.944 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 07:55:50.950 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 08:10:36.088 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 08:10:36.113 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 08:10:36.120 INFO [TSScheduleManager oneShot]
⏰ Scheduled OneShot: MOTION_TRIGGER_DELAY in 60000ms (jobID: 396116787)
10-10 08:10:36.127 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 08:10:36.128 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 08:10:36.384 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 08:11:36.136 INFO [ScheduleEvent onOneShot]
╔═════════════════════════════════════════════
║ ⏰ OneShot event fired: MOTION_TRIGGER_DELAY
╠═════════════════════════════════════════════
10-10 08:11:36.143 INFO [HeartbeatService stop]
🔴 Stop heartbeat
10-10 08:11:36.157 WARN [SingleLocationRequest start]
╔═════════════════════════════════════════════
║ ⚠️ Background location-updates forbidden (WhenInUse)
╠═════════════════════════════════════════════
╟─ Cannot initiate location requests in the background/headless with WhenInUse authorization.
╟─ Location updates must have previously been initiated with your app in the foreground. Eg: .changePace(true).
╟─ useSignificantChangesOnly cannot continue location-updates after app terminate.
╟─ You may want to configure stopOnTerminate: true
╚═════════════════════════════════════════════
10-10 08:11:36.159 INFO [TSLocationManager removeLocationUpdates]
🔴 Location-services: OFF
10-10 08:11:36.163 INFO [TSLocationManager requestLocationUpdates]
🎾 Location-services: ON
10-10 08:11:36.164 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): 10
10-10 08:11:36.175 INFO [c g]
🔵 LocationAuthorization: Requesting Background permission
10-10 08:11:36.181 INFO [c e]
🔵 Should show backgroundPermissionRationale? false
10-10 08:11:36.183 INFO [TrackingService changePace]
🔵 setPace: true → true
10-10 08:11:43.114 DEBUG [AbstractService start]
🎾 TrackingService [eventCount: 1]
10-10 08:11:43.116 DEBUG [AbstractService finish] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true]
10-10 08:17:58.996 DEBUG [HttpService a]
╔═════════════════════════════════════════════
║ 📶 Connectivity change: connected? true
╠═════════════════════════════════════════════
10-10 08:18:00.004 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 0)
╠═════════════════════════════════════════════
10-10 08:29:13.023 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 08:29:13.082 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 08:29:13.089 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: in_vehicle
╟─ 🎾 ENTER: walking
╚═════════════════════════════════════════════
10-10 08:29:13.090 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 08:29:13.347 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 08:32:06.573 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 08:32:06.576 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 08:32:06.577 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: walking
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 08:32:06.578 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 08:32:14.130 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 08:46:01.505 DEBUG [HttpService a]
╔═════════════════════════════════════════════
║ 📶 Connectivity change: connected? false
╠═════════════════════════════════════════════
10-10 08:46:02.470 DEBUG [HttpService a]
╔═════════════════════════════════════════════
║ 📶 Connectivity change: connected? true
╠═════════════════════════════════════════════
10-10 08:46:03.480 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 0)
╠═════════════════════════════════════════════
10-10 08:46:40.111 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 08:46:40.121 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 08:47:43.027 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 08:47:43.028 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 08:47:43.285 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 09:28:56.632 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 09:29:15.082 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 09:29:15.082 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: in_vehicle
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 09:29:15.083 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 09:29:15.339 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 09:39:16.135 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 09:39:16.137 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 09:39:16.141 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 09:39:16.142 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 09:39:18.200 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:00:49.410 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:00:49.413 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 10:00:49.416 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: in_vehicle
╟─ 🎾 ENTER: walking
╚═════════════════════════════════════════════
10-10 10:00:49.417 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:00:53.022 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:06:08.581 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:06:08.584 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 10:06:08.585 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: walking
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 10:06:08.586 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:06:15.137 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:23:46.898 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:23:46.948 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 10:23:46.959 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 10:23:46.960 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:23:47.216 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:50:35.135 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:50:35.192 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 10:50:35.193 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: in_vehicle
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 10:50:35.196 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:50:35.453 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:51:20.270 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:51:20.272 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 10:51:20.274 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: walking
╚═════════════════════════════════════════════
10-10 10:51:20.275 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:51:35.028 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:55:31.235 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:55:31.241 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 10:55:31.241 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: walking
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 10:55:31.242 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:55:31.497 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 10:58:09.618 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 10:58:09.625 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 10:58:09.634 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 10:58:09.635 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 10:58:09.890 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 11:08:11.179 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 11:08:11.187 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 11:08:11.188 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: in_vehicle
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 11:08:11.189 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 11:08:15.029 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 13:02:51.266 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 13:02:51.299 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 13:02:51.304 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 13:02:51.305 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 13:02:51.563 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 13:19:21.136 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 13:19:21.179 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: false, startedMoving: false, justStopped; true
10-10 13:19:21.179 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: in_vehicle
╟─ 🎾 ENTER: still
╚═════════════════════════════════════════════
10-10 13:19:21.180 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 13:19:21.437 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 13:31:55.604 DEBUG [AbstractService start]
🎾 ActivityRecognitionService [eventCount: 1]
10-10 13:31:55.607 DEBUG [ActivityRecognitionService handleActivityTransitionResult] *** wasMoving: true, nowMoving: true, startedMoving: false, justStopped; false
10-10 13:31:55.623 INFO [ActivityRecognitionService handleActivityTransitionResult]
╔═════════════════════════════════════════════
║ Motion Transition Result
╠═════════════════════════════════════════════
╟─ 🔴 EXIT: still
╟─ 🎾 ENTER: in_vehicle
╚═════════════════════════════════════════════
10-10 13:31:55.623 DEBUG [AbstractService finish] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false]
10-10 13:32:15.034 DEBUG [AbstractService onDestroy]
🔴 ActivityRecognitionService stopped
10-10 13:36:56.100 WARN [SingleLocationRequest start]
╔═════════════════════════════════════════════
║ ⚠️ Background location-updates forbidden (WhenInUse)
╠═════════════════════════════════════════════
╟─ Cannot initiate location requests in the background/headless with WhenInUse authorization.
╟─ Location updates must have previously been initiated with your app in the foreground. Eg: .changePace(true).
╟─ useSignificantChangesOnly cannot continue location-updates after app terminate.
╟─ You may want to configure stopOnTerminate: true
╚═════════════════════════════════════════════
10-10 13:36:56.120 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired providerchange position
10-10 13:36:56.124 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 9.0
10-10 13:36:56.140 INFO [c g]
🔵 LocationAuthorization: Requesting Background permission
10-10 13:36:56.146 INFO [c e]
🔵 Should show backgroundPermissionRationale? false
10-10 13:36:56.151 INFO [TSProviderManager handleProviderChangeEvent]
╔═════════════════════════════════════════════
║ Location-provider change: true
╠═════════════════════════════════════════════
╟─ GPS: true
╟─ Network: false
╟─ AP Mode: false
10-10 13:36:56.152 INFO [b persist]
✅ INSERT: fe67acc8-59bc-452e-85da-401db20b4eb9
10-10 13:36:57.276 WARN [SingleLocationRequest start]
╔═════════════════════════════════════════════
║ ⚠️ Background location-updates forbidden (WhenInUse)
╠═════════════════════════════════════════════
╟─ Cannot initiate location requests in the background/headless with WhenInUse authorization.
╟─ Location updates must have previously been initiated with your app in the foreground. Eg: .changePace(true).
╟─ useSignificantChangesOnly cannot continue location-updates after app terminate.
╟─ You may want to configure stopOnTerminate: true
╚═════════════════════════════════════════════
10-10 13:36:57.279 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired providerchange position
10-10 13:36:57.280 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 9.0
10-10 13:36:57.293 INFO [c g]
🔵 LocationAuthorization: Requesting Background permission
10-10 13:36:57.298 INFO [c e]
🔵 Should show backgroundPermissionRationale? false
10-10 13:36:57.301 INFO [b persist]
✅ INSERT: 271600c1-9945-427f-9ed7-6420bc9be07c
10-10 13:36:57.303 INFO [TSProviderManager handleProviderChangeEvent]
╔═════════════════════════════════════════════
║ Location-provider change: true
╠═════════════════════════════════════════════
╟─ GPS: true
╟─ Network: true
╟─ AP Mode: false
10-10 13:36:57.307 INFO [HttpService flush]
╔═════════════════════════════════════════════
║ HTTP Service (count: 2)
╠═════════════════════════════════════════════
When you see this:
Background location-updates forbidden (WhenInUse)
Your app had WhenInUse permission at that time.
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 14 days since being marked as stale.