-
Notifications
You must be signed in to change notification settings - Fork 435
Description
Required Reading
- Confirmed
Plugin Version
4.17.1
Mobile operating-system(s)
- iOS
- Android
Device Manufacturer(s) and Model(s)
One Plus CPH2465
Device operating-systems(s)
Android 15
React Native / Expo version
0.74.0
What happened?
Issue Title: Android 15: App comes to foreground on background mock location updates
Is this a [BUG REPORT] or [FEATURE REQUEST]?
[BUG REPORT]
Description:
On Android 15 (API 35), when the app is in the background and react-native-background-geolocation is actively tracking locations using mock location data, the app unexpectedly comes to the foreground upon receiving location updates. This behavior does not occur on previous Android versions (e.g., Android 14) or when using real GPS location data.
This issue persists even after removing other custom background location services from the AndroidManifest.xml, indicating it's likely related to the react-native-background-geolocation plugin's interaction with Android 15's stricter background execution and mock location policies.
Expected Behavior:
The react-native-background-geolocation plugin should continue to track locations in the background, even with mock location data, without bringing the app to the foreground. The foreground service notification should remain active, and location updates should be processed silently in the background (via headless task or foreground service).
Actual Behavior:
When the app is in the background and mock location updates are supplied, the app launches itself to the foreground, disrupting the user experience.
Steps to Reproduce:
Ensure Developer Options are enabled on an Android 15 device/emulator.
Set "Select mock location app" to your application in Developer Options.
Install the React Native app with react-native-background-geolocation configured as described below.
Launch the app and grant all necessary location permissions (especially "Allow all the time").
Background the application (e.g., press the home button).
Start sending mock location updates to the device (e.g., via Android Studio's emulator controls, or a third-party mock location app).
Observe the app unexpectedly launching itself back to the foreground with each mock location update.
Environment:
react-native-background-geolocation version: 4.17.1
React Native version: 0.74.0
Android OS version: Android 15 (API 35)
Device/Emulator: One Plus CPH2465
Using Mock Location app
Plugin Code and/or Config
BackgroundGeolocation.ready(
{
desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
distanceFilter: [YOUR_DISTANCE_FILTER_VALUE], // e.g., 10 (meters)
stopOnTerminate: false,
startOnBoot: true,
enableHeadless: true,
activityType: BackgroundGeolocation.ACTIVITY_TYPE_AUTOMOTIVE_NAVIGATION,
debug: true, // Enable for more logs
logLevel: BackgroundGeolocation.LOG_LEVEL_VERBOSE, // Enable for detailed logs
// Any other relevant config options you have
},
state => {
if (!state.enabled) {
BackgroundGeolocation.start();
}
},
);
BackgroundGeolocation.onLocation(
async location => {
console.log('[onLocation] Received location:', location);
// ... your dispatch and state update logic ...
// ... your fetchgentLogs logic ...
},
error => {
console.error('[onLocation] ERROR -', error);
},
);
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.royodriverapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:name=".MainApplication"
android:allowBackup="false"
android:enableOnBackInvokedCallback="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<service
android:name="com.transistorsoft.locationmanager.GeofenceService"
android:foregroundServiceType="location"
android:permission="android.permission.BIND_JOB_SERVICE" />
<meta-data
android:name="com.transistorsoft.locationmanager.license"
android:value="[YOUR_LICENSE_KEY_HERE_IF_APPLICABLE]" />
</application>
</manifest>
Relevant log output
07-22 11:11:40.725 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:40.730 20734 20734 D TSLocationManager: [c.t.l.l.LifecycleManager onStart] ☯️ onStart
07-22 11:11:40.732 20734 20734 D TSLocationManager: [c.t.l.l.LifecycleManager onResume] ☯️ onResume
07-22 11:11:40.867 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
07-22 11:11:41.526 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:41.526 20734 20734 D TSLocationManager: 🎾 3:10 [LocationRequestService startId: 10, eventCount: 1]
07-22 11:11:41.530 20734 23082 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:41.530 20734 23082 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:41.530 20734 23082 I TSLocationManager: ║ providerchange LocationResult: 10 (51ms old)
07-22 11:11:41.530 20734 23082 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:41.530 20734 23082 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m38s285ms alt=25.0 vAcc=0.1 vel=13.861112 sAcc=0.01 bear=263.31082 bAcc=0.1 mock], time: 1753168301477
07-22 11:11:41.549 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:41.549 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 11, eventCount: 2]
07-22 11:11:41.550 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:41.550 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 11, eventCount: 1, sticky: false]
07-22 11:11:41.552 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:41.552 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:41.552 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:41.552 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:41.552 20734 20734 I TSLocationManager: ╟─ GPS: true
07-22 11:11:41.552 20734 20734 I TSLocationManager: ╟─ Network: true
07-22 11:11:41.552 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:41.554 20734 22955 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:41.554 20734 22955 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:41.554 20734 22955 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:41.554 20734 22955 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:41.554 20734 22955 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:41.678 20734 23082 I TSLocationManager: [c.t.l.l.TSLocationManager onSingleLocationResult]
07-22 11:11:41.678 20734 23082 I TSLocationManager: 🔵 Acquired providerchange position
07-22 11:11:41.682 20734 23082 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:41.683 20734 23082 D TSLocationManager: [c.t.l.l.TSLocationManager c] Odometer: 26728.633
07-22 11:11:41.694 20734 23082 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:41.694 20734 23082 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 10, eventCount: 0, sticky: false]
07-22 11:11:41.694 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:41.694 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:41.694 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 11 (216ms old)
07-22 11:11:41.694 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:41.694 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m38s285ms alt=25.0 vAcc=0.1 vel=13.861112 sAcc=0.01 bear=263.31082 bAcc=0.1 mock], time: 1753168301477
07-22 11:11:41.696 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:41.700 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:41.700 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:41.702 20734 22955 I TSLocationManager: [c.t.l.d.s.SQLiteLocationDAO persist]
07-22 11:11:41.702 20734 22955 I TSLocationManager: ✅ INSERT: 4a154f9d-d702-4a2a-8535-b180101997e3
07-22 11:11:41.714 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager$c onLocation]
07-22 11:11:41.714 20734 20734 D TSLocationManager: ℹ️ Distance from last location: 67.56406
07-22 11:11:41.730 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:41.730 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 12, eventCount: 1]
07-22 11:11:41.731 20734 22955 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:41.731 20734 22955 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 11]
07-22 11:11:41.735 20734 22955 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:41.735 20734 22955 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 12, eventCount: 0, sticky: true]
07-22 11:11:41.779 20734 20734 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot]
07-22 11:11:41.779 20734 20734 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending
07-22 11:11:41.806 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:41.806 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:41.942 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
07-22 11:11:42.561 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:42.561 20734 20734 D TSLocationManager: 🎾 3:11 [LocationRequestService startId: 13, eventCount: 1]
07-22 11:11:42.562 20734 22955 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:42.562 20734 22955 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:42.562 20734 22955 I TSLocationManager: ║ providerchange LocationResult: 11 (76ms old)
07-22 11:11:42.562 20734 22955 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:42.562 20734 22955 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m39s294ms alt=25.0 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=252.82889 bAcc=0.1 mock], time: 1753168302486
07-22 11:11:42.564 20734 22955 I TSLocationManager: [c.t.l.l.TSLocationManager onSingleLocationResult]
07-22 11:11:42.564 20734 22955 I TSLocationManager: 🔵 Acquired providerchange position
07-22 11:11:42.564 20734 22955 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:42.565 20734 22955 D TSLocationManager: [c.t.l.l.TSLocationManager c] Odometer: 26742.312
07-22 11:11:42.570 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager$c onLocation]
07-22 11:11:42.570 20734 20734 D TSLocationManager: ℹ️ Distance from last location: 67.08882
07-22 11:11:42.570 20734 22955 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:42.570 20734 22955 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 13, eventCount: 0, sticky: false]
07-22 11:11:42.574 20734 23082 I TSLocationManager: [c.t.l.d.s.SQLiteLocationDAO persist]
07-22 11:11:42.574 20734 23082 I TSLocationManager: ✅ INSERT: 30155b82-a4b0-415d-96ab-fd95bcd9294d
07-22 11:11:42.589 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:42.589 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 14, eventCount: 1]
07-22 11:11:42.589 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:42.589 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 14, eventCount: 0, sticky: false]
07-22 11:11:42.826 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService f]
07-22 11:11:42.826 20734 20734 D TSLocationManager: ⚙️︎ LocationRequestService.stopSelfResult(14): true
07-22 11:11:42.833 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService onDestroy]
07-22 11:11:42.833 20734 20734 D TSLocationManager: 🔴 LocationRequestService stopped
07-22 11:11:43.505 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:43.505 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:43.505 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:43.505 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:43.505 20734 20734 I TSLocationManager: ╟─ GPS: false
07-22 11:11:43.505 20734 20734 I TSLocationManager: ╟─ Network: true
07-22 11:11:43.505 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:43.507 20734 23082 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:43.507 20734 23082 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:43.507 20734 23082 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:43.507 20734 23082 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:43.507 20734 23082 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:43.524 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:43.524 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:43.524 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 12 (1037ms old)
07-22 11:11:43.524 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:43.524 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m39s294ms alt=25.0 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=252.82889 bAcc=0.1 mock], time: 1753168302486
07-22 11:11:43.572 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:43.576 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:43.576 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:43.625 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:43.625 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 1, eventCount: 1]
07-22 11:11:43.629 20734 23082 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:43.629 20734 23082 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 12]
07-22 11:11:43.645 20734 23082 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:43.645 20734 23082 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 1, eventCount: 0, sticky: true]
07-22 11:11:43.739 20734 20734 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot]
07-22 11:11:43.739 20734 20734 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending
07-22 11:11:43.773 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:43.773 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:43.899 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
07-22 11:11:44.501 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:44.501 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:44.501 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:44.501 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:44.501 20734 20734 I TSLocationManager: ╟─ GPS: true
07-22 11:11:44.501 20734 20734 I TSLocationManager: ╟─ Network: true
07-22 11:11:44.501 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:44.502 20734 23082 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:44.502 20734 23082 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:44.502 20734 23082 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:44.502 20734 23082 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:44.502 20734 23082 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:44.515 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:44.515 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:44.515 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 13 (1026ms old)
07-22 11:11:44.515 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:44.515 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m40s296ms alt=25.0 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=318.39185 bAcc=0.1 mock], time: 1753168303488
07-22 11:11:44.580 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:44.583 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:44.583 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:44.589 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:44.589 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 2, eventCount: 1]
07-22 11:11:44.589 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:44.589 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 2, eventCount: 0, sticky: false]
07-22 11:11:44.603 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:44.603 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 3, eventCount: 1]
07-22 11:11:44.603 20734 23082 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:44.603 20734 23082 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 13]
07-22 11:11:44.605 20734 23082 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:44.605 20734 23082 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 3, eventCount: 0, sticky: true]
07-22 11:11:44.726 20734 20734 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot]
07-22 11:11:44.726 20734 20734 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending
07-22 11:11:44.754 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:44.754 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:44.873 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
07-22 11:11:45.605 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.605 20734 20734 D TSLocationManager: 🎾 3:13 [LocationRequestService startId: 4, eventCount: 1]
07-22 11:11:45.611 20734 23082 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:45.611 20734 23082 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:45.611 20734 23082 I TSLocationManager: ║ providerchange LocationResult: 13 (99ms old)
07-22 11:11:45.611 20734 23082 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:45.611 20734 23082 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m42s317ms alt=24.48844786 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=323.32535 bAcc=0.1 mock], time: 1753168305509
07-22 11:11:45.621 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.621 20734 20734 D TSLocationManager: 🎾 start [TrackingService startId: 3, eventCount: 1]
07-22 11:11:45.622 20734 20734 D TSLocationManager: [c.t.l.service.TrackingService c]
07-22 11:11:45.622 20734 20734 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:45.622 20734 20734 D TSLocationManager: ║ TrackingService: LocationResult
07-22 11:11:45.622 20734 20734 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:45.622 20734 20734 D TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m42s317ms alt=24.48844786 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=323.32535 bAcc=0.1 mock]
07-22 11:11:45.622 20734 20734 D TSLocationManager: ╟─ Age: 112ms, time: 1753168305509
07-22 11:11:45.622 20734 20734 D TSLocationManager: [c.t.l.service.TrackingService a] 🐞 Mock location detected with motion-activity STILL: stopTimeout timer would normally be initiated here 🐞.
07-22 11:11:45.623 20734 20734 W TSLocationManager: [c.t.l.service.TrackingService b]
07-22 11:11:45.623 20734 20734 W TSLocationManager: ⚠️ performStopDetection found mStoppedAtLocation == null
07-22 11:11:45.623 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.623 20734 20734 D TSLocationManager: ⚙️︎ FINISH [TrackingService startId: 3, eventCount: 0, sticky: true]
07-22 11:11:45.631 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:45.631 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 5, eventCount: 2]
07-22 11:11:45.632 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.632 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 5, eventCount: 1, sticky: false]
07-22 11:11:45.712 20734 23082 I TSLocationManager: [c.t.l.l.TSLocationManager onSingleLocationResult]
07-22 11:11:45.712 20734 23082 I TSLocationManager: 🔵 Acquired providerchange position
07-22 11:11:45.712 20734 23082 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:45.713 20734 23082 D TSLocationManager: [c.t.l.l.TSLocationManager c] Odometer: 26783.947
07-22 11:11:45.725 20734 23082 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.725 20734 23082 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 4, eventCount: 0, sticky: false]
07-22 11:11:45.726 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager$c onLocation]
07-22 11:11:45.726 20734 20734 D TSLocationManager: ℹ️ Distance from last location: 67.63437
07-22 11:11:45.728 20734 22955 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult]
07-22 11:11:45.728 20734 22955 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:45.728 20734 22955 D TSLocationManager: ║ Process LocationResult
07-22 11:11:45.728 20734 22955 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:45.728 20734 22955 I TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult]
07-22 11:11:45.728 20734 22955 I TSLocationManager: 🔵 Re-scaled distanceFilter: 50.0->200.0)
07-22 11:11:45.731 20734 23444 I TSLocationManager: [c.t.l.d.s.SQLiteLocationDAO persist]
07-22 11:11:45.731 20734 23444 I TSLocationManager: ✅ INSERT: 55535ed4-fbaf-4a39-a3ae-9eca3e5ed43e
07-22 11:11:45.733 20734 22955 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult]
07-22 11:11:45.733 20734 22955 D TSLocationManager: ℹ️ IGNORED: same as last location
07-22 11:11:45.769 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.769 20734 20734 D TSLocationManager: 🎾 start [TrackingService startId: 4, eventCount: 1]
07-22 11:11:45.770 20734 20734 D TSLocationManager: [c.t.l.service.TrackingService c]
07-22 11:11:45.770 20734 20734 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:45.770 20734 20734 D TSLocationManager: ║ TrackingService: LocationResult
07-22 11:11:45.770 20734 20734 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:45.770 20734 20734 D TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m42s317ms alt=24.48844786 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=323.32535 bAcc=0.1 mock]
07-22 11:11:45.770 20734 20734 D TSLocationManager: ╟─ Age: 260ms, time: 1753168305509
07-22 11:11:45.770 20734 20734 D TSLocationManager: [c.t.l.service.TrackingService a] 🐞 Mock location detected with motion-activity STILL: stopTimeout timer would normally be initiated here 🐞.
07-22 11:11:45.771 20734 20734 W TSLocationManager: [c.t.l.service.TrackingService b]
07-22 11:11:45.771 20734 20734 W TSLocationManager: ⚠️ performStopDetection found mStoppedAtLocation == null
07-22 11:11:45.771 20734 23444 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult]
07-22 11:11:45.771 20734 23444 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:45.771 20734 23444 D TSLocationManager: ║ Process LocationResult
07-22 11:11:45.771 20734 23444 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:45.771 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:45.771 20734 20734 D TSLocationManager: ⚙️︎ FINISH [TrackingService startId: 4, eventCount: 0, sticky: true]
07-22 11:11:45.772 20734 23444 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult]
07-22 11:11:45.772 20734 23444 D TSLocationManager: ℹ️ IGNORED: same as last location
07-22 11:11:45.930 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService f]
07-22 11:11:45.930 20734 20734 D TSLocationManager: ⚙️︎ LocationRequestService.stopSelfResult(5): true
07-22 11:11:45.933 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService onDestroy]
07-22 11:11:45.933 20734 20734 D TSLocationManager: 🔴 LocationRequestService stopped
07-22 11:11:47.495 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:47.495 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:47.495 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:47.495 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:47.495 20734 20734 I TSLocationManager: ╟─ GPS: true
07-22 11:11:47.495 20734 20734 I TSLocationManager: ╟─ Network: false
07-22 11:11:47.495 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:47.500 20734 23444 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:47.500 20734 23444 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:47.500 20734 23444 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:47.500 20734 23444 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:47.500 20734 23444 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:47.504 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:47.504 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:47.504 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 14 (1010ms old)
07-22 11:11:47.504 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:47.504 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m43s301ms alt=23.17678526 vAcc=0.1 vel=13.861112 sAcc=0.01 bear=224.44534 bAcc=0.1 mock], time: 1753168306492
07-22 11:11:47.558 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:47.561 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:47.561 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:47.581 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:47.581 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 1, eventCount: 1]
07-22 11:11:47.583 20734 23444 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:47.583 20734 23444 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 14]
07-22 11:11:47.590 20734 23444 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:47.590 20734 23444 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 1, eventCount: 0, sticky: true]
07-22 11:11:47.722 20734 20734 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot]
07-22 11:11:47.722 20734 20734 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending
07-22 11:11:47.746 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:47.747 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:47.865 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
07-22 11:11:48.239 20734 20734 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot]
07-22 11:11:48.239 20734 20734 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending
07-22 11:11:48.275 20734 23444 I TSLocationManager: [c.t.l.scheduler.ScheduleEvent a]
07-22 11:11:48.275 20734 23444 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:48.275 20734 23444 I TSLocationManager: ║ ⏰ OneShot event fired: TERMINATE_EVENT
07-22 11:11:48.275 20734 23444 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:48.277 20734 23444 D TSLocationManager: [c.t.l.event.TerminateEvent$a onChange]
07-22 11:11:48.277 20734 23444 D TSLocationManager: ℹ️ TERMINATE_EVENT ignored (MainActivity is still active).
07-22 11:11:48.508 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:48.508 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:48.508 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:48.508 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:48.508 20734 20734 I TSLocationManager: ╟─ GPS: true
07-22 11:11:48.508 20734 20734 I TSLocationManager: ╟─ Network: true
07-22 11:11:48.508 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:48.510 20734 23444 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:48.510 20734 23444 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:48.510 20734 23444 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:48.510 20734 23444 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:48.510 20734 23444 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:48.533 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:48.533 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:48.533 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 15 (36ms old)
07-22 11:11:48.533 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:48.533 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m45s305ms alt=22.2121827 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=225.76045 bAcc=0.1 mock], time: 1753168308496
07-22 11:11:48.608 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:48.612 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:48.612 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:48.629 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:48.629 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 2, eventCount: 1]
07-22 11:11:48.629 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:48.629 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 2, eventCount: 0, sticky: false]
07-22 11:11:48.643 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:48.643 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 3, eventCount: 1]
07-22 11:11:48.644 20734 23444 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:48.644 20734 23444 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 15]
07-22 11:11:48.650 20734 23444 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:48.650 20734 23444 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 3, eventCount: 0, sticky: true]
07-22 11:11:48.916 20734 20734 D TSLocationManager: [c.t.l.l.LifecycleManager onPause] ☯️ onPause
07-22 11:11:48.918 20734 20734 D TSLocationManager: [c.t.l.l.LifecycleManager onStop] ☯️ onStop
07-22 11:11:49.502 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:49.502 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:49.502 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:49.502 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:49.502 20734 20734 I TSLocationManager: ╟─ GPS: false
07-22 11:11:49.502 20734 20734 I TSLocationManager: ╟─ Network: true
07-22 11:11:49.502 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:49.505 20734 23444 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:49.505 20734 23444 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:49.505 20734 23444 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:49.505 20734 23444 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:49.505 20734 23444 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:49.526 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:49.526 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:49.526 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 16 (1028ms old)
07-22 11:11:49.526 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:49.526 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=13.0 et=+1h55m45s305ms alt=22.2121827 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=225.76045 bAcc=0.1 mock], time: 1753168308496
07-22 11:11:49.620 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:49.626 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:49.626 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:49.633 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:49.633 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 4, eventCount: 1]
07-22 11:11:49.633 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:49.633 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 4, eventCount: 0, sticky: false]
07-22 11:11:49.665 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:49.665 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 5, eventCount: 1]
07-22 11:11:49.666 20734 23444 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:49.666 20734 23444 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 16]
07-22 11:11:49.680 20734 23444 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:49.680 20734 23444 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 5, eventCount: 0, sticky: true]
07-22 11:11:49.755 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:49.755 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:49.759 20734 20734 D TSLocationManager: [c.t.l.l.LifecycleManager onStart] ☯️ onStart
07-22 11:11:49.761 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:49.761 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:49.762 20734 20734 D TSLocationManager: [c.t.l.l.LifecycleManager onResume] ☯️ onResume
07-22 11:11:50.206 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
07-22 11:11:50.498 20734 20734 I TSLocationManager: [c.t.l.p.TSProviderManager a]
07-22 11:11:50.498 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:50.498 20734 20734 I TSLocationManager: ║ Location-provider change: true
07-22 11:11:50.498 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:50.498 20734 20734 I TSLocationManager: ╟─ GPS: true
07-22 11:11:50.498 20734 20734 I TSLocationManager: ╟─ Network: true
07-22 11:11:50.498 20734 20734 I TSLocationManager: ╟─ AP Mode: false
07-22 11:11:50.500 20734 23444 D TSLocationManager: [c.t.l.g.TSGeofenceManager$e run]
07-22 11:11:50.500 20734 23444 D TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:50.500 20734 23444 D TSLocationManager: ║ TSGeofenceManager monitoring 0/0
07-22 11:11:50.500 20734 23444 D TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:50.500 20734 23444 D TSLocationManager: ╚═════════════════════════════════════════════
07-22 11:11:50.521 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService b]
07-22 11:11:50.521 20734 20734 D TSLocationManager: 🎾 STOP [LocationRequestService startId: 6, eventCount: 1]
07-22 11:11:50.522 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:50.522 20734 20734 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 6, eventCount: 0, sticky: false]
07-22 11:11:50.524 20734 20734 I TSLocationManager: [c.t.l.l.TSLocationManager a]
07-22 11:11:50.524 20734 20734 I TSLocationManager: ╔═════════════════════════════════════════════
07-22 11:11:50.524 20734 20734 I TSLocationManager: ║ providerchange LocationResult: 17 (1033ms old)
07-22 11:11:50.524 20734 20734 I TSLocationManager: ╠═════════════════════════════════════════════
07-22 11:11:50.524 20734 20734 I TSLocationManager: ╟─ 📍 Location[gps 23.59****,58.53**** hAcc=7.0 et=+1h55m46s298ms alt=22.2121827 vAcc=0.1 vel=13.916666 sAcc=0.01 bear=238.77596 bAcc=0.1 mock], time: 1753168309489
07-22 11:11:50.624 20734 20734 D TSLocationManager: [c.t.l.l.TSLocationManager a] Median accuracy: 13.0
07-22 11:11:50.626 20734 20734 D TSLocationManager: [c.t.l.u.LocationAuthorization withPermission]
07-22 11:11:50.626 20734 20734 D TSLocationManager: ℹ️ LocationAuthorization: Permission granted
07-22 11:11:50.638 20734 20734 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:50.638 20734 20734 D TSLocationManager: 🎾 start [LocationRequestService startId: 7, eventCount: 1]
07-22 11:11:50.639 20734 23444 I TSLocationManager: [c.t.l.l.SingleLocationRequest startUpdatingLocation]
07-22 11:11:50.639 20734 23444 I TSLocationManager: 🔵 [SingleLocationRequest start, action: 3, requestId: 17]
07-22 11:11:50.641 20734 23444 D TSLocationManager: [c.t.l.service.AbstractService a]
07-22 11:11:50.641 20734 23444 D TSLocationManager: ⚙️︎ FINISH [LocationRequestService startId: 7, eventCount: 0, sticky: true]
07-22 11:11:50.715 20734 20734 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot]
07-22 11:11:50.715 20734 20734 I TSLocationManager: ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588)
07-22 11:11:50.754 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity a] locationsettings
07-22 11:11:50.754 20734 20734 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1
07-22 11:11:50.894 20734 20734 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] locationsettings
0