transistorsoft / flutter_background_geolocation

Sophisticated, battery-conscious background-geolocation & geofencing with motion-detection
https://www.transistorsoft.com/shop/products/flutter-background-geolocation
Other
642 stars 237 forks source link

Draining battery #195

Closed goranristic123 closed 4 years ago

goranristic123 commented 4 years ago

Your Environment

Future debugLogToServer(Map<String, dynamic> data) async { data['now'] = DateTime.now().toUtc().toIso8601String();

http .post('endpoint', body: data) .then((http.Response response) { // print('[${DateTime.now()}] ${response.statusCode}'); }).catchError((e) { print(e); }); }

void backgroundGeolocationHeadlessTask(bg.HeadlessEvent headlessEvent) async { print('headless task ' + headlessEvent.name); Map<String, dynamic> data = <String, dynamic>{}; data['message'] = 'headless task - $headlessEvent'; debugLogToServer(data);

switch (headlessEvent.name) { case bg.Event.BOOT: bg.BackgroundGeolocation.sync(); break; case bg.Event.TERMINATE: bg.BackgroundGeolocation.sync(); break;

case bg.Event.HEARTBEAT:
  bg.BackgroundGeolocation.getCurrentPosition(samples: 1, persist: true)
      .then((bg.Location location) {
    bg.BackgroundGeolocation.sync();
  });
  break;

} }

void main() { bg.BackgroundGeolocation.stop(); bg.BackgroundGeolocation.removeListeners();

runZoned(() { runApp(configuredApp); }, onError: (error, stackTrace) { _reportError(error, stackTrace); });

bg.BackgroundGeolocation.registerHeadlessTask( backgroundGeolocationHeadlessTask); }

// map.dart class Map extends StatefulWidget { @override _MapState createState() => _MapState(); }

class _MapState extends State with TickerProviderStateMixin { @override void initState() { _initPlatformState(); super.initState(); }

Future _initPlatformState() async { bg.BackgroundGeolocation.onAuthorization(_onAuthorization); bg.BackgroundGeolocation.onLocation(_onLocation); bg.BackgroundGeolocation.onHeartbeat(_onHeartbeat);

// Configure background geolocation
bg.BackgroundGeolocation.ready(
  bg.Config(
      desiredAccuracy: bg.Config.DESIRED_ACCURACY_HIGH,
      distanceFilter: 200,
      stopOnTerminate: false,
      startOnBoot: true,
      reset: true,
      debug: false,
      enableHeadless: true,
      heartbeatInterval: 1200,
      triggerActivities: 'on_foot,walking,running',
      foregroundService: true,
      stopTimeout: 1,
      logLevel:
          bg.Config.LOG_LEVEL_VERBOSE,
      headers: {
        'Accept': 'application/json',
        "Content-Type": "application/json",
      },
      authorization: bg.Authorization(
        strategy: bg.Authorization.STRATEGY_JWT,
        accessToken: await authService.getAccessToken,
        refreshToken: await authService.getRefreshToken,
        refreshUrl: Config().apiBaseUrl + '/oauth/token',
        refreshPayload: {
          "grant_type": "refresh_token",
          "refresh_token": '{refreshToken}',
          "client_id": Config().passportClientId,
          "client_secret": Config().passportClientSecret,
          "scope": ""
        },
      ),
      params: {
        "autoSync": true,
      },
      url: Config().apiBaseUrl + '/locations',
      httpRootProperty: 'locations',
      locationTemplate:
          '{"latitude":<%= latitude %>,"longitude":<%= longitude %>,"timestamp": "<%= timestamp %>","accuracy": <%= accuracy %>, "speed": "<%= speed %>", "mock": "<%= mock %>"}',
      batchSync: true,
      autoSync: true,
      autoSyncThreshold: 5,
      maxDaysToPersist: 1,
      maxBatchSize: 50,
      maxRecordsToPersist: 50,
      encrypt: false,
      locationAuthorizationAlert: {
        'titleWhenNotEnabled': 'Location services not available',
        'titleWhenOff': 'Location services are disabled',
        'instructions':
            "You must enable 'Always' in location services for best results with crossing detections",
        'cancelButton': 'Cancel',
        'settingsButton': 'Settings'
      }),
).then((bg.State state) async {
  if (!state.enabled) {
    bg.BackgroundGeolocation.start();
  }
});

}

void _onAuthorization(bg.AuthorizationEvent event) async { if (!event.success) { return; }

await authService.setTokens({
  "access_token": event.response['token']['access_token'],
  "refresh_token": event.response['refresh_token'],
  "expires_in": event.response['token']['expires_at'],
  "firebase_token": event.response['firebase_token'],
});

bg.BackgroundGeolocation.setConfig(bg.Config(
  url: Config().apiBaseUrl + '/locations',
));

}

void _onLocation(bg.Location location) { userModel.updateLocation(location, notifyListeners: false); }

void _onHeartbeat(bg.HeartbeatEvent event) async { print('[onHeartbeat] ${event}');

bg.BackgroundGeolocation.getCurrentPosition(samples: 1, persist: true)
    .then((bg.Location location) {
  bg.BackgroundGeolocation.sync();
});

}

@override Widget build(BuildContext context) { // .... } }


## Expected Behavior
I need to have user location within 250m, I've set distanceFilter to 200 due to the accuracy not being 100%. I'm not interested in his location when he is driving or on bicycle. But often when I'm driving and then being stationary on one location, plugin doesn't pick up on that and never triggers location updates. That's why I have heartbeat set to 1200s ( 20 minutes ), to persist current location.

1. On my phone I get notification:
"AppName may drain your battery by constantly refreshing in the background."
and
2. "AppName may drain your battery by constantly checking your location."

Also last day heartbeat never fired in the headless, while day before it did. I reopened the app and closed it again in case it got blocked by the OS, but it didn't work.

And when I'm at home for example, plugin sometimes stays activated for 30 minutes, even though I set stopTimeout to 1. And it thinks I'm on the bicycle with accuracy of 100% when I'm just sitting with my phone on the table (that may cause it to not stop).

## Actual Behavior
I expect to get user location within 250m when walking, running, or on bicycle. When driving location doesn't need to be on, but somehow needs to be synced when user gets into stationary mode, or starts walking, running, .. All of that without OS complaining about battery draining due to checking locations and refreshing in background. 

## Steps to Reproduce
I don't know how to reproduce the notification, it appears randomly throughout the day.

## Context

## Debug logs
<details>
    <summary>Logs</summary>

02-19 11:54:30.211 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.211 11339 11468 I flutter : ║ TSLocationManager version: 3.0.45 (345) 02-19 11:54:30.211 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.211 11339 11468 I flutter : ╟─ HUAWEI COL-L29 @ 9 (flutter) 02-19 11:54:30.211 11339 11468 I flutter : { 02-19 11:54:30.211 11339 11468 I flutter : "activityRecognitionInterval": 10000, 02-19 11:54:30.211 11339 11468 I flutter : "allowIdenticalLocations": false, 02-19 11:54:30.211 11339 11468 I flutter : "authorization": { 02-19 11:54:30.211 11339 11468 I flutter : "strategy": "jwt", 02-19 11:54:30.212 11339 11468 I flutter : "accessToken": "eyJ0e", 02-19 11:54:30.212 11339 11468 I flutter : "refreshToken": "def50", 02-19 11:54:30.212 11339 11468 I flutter : "refreshUrl": "https:\/\/api.joinspotty.com\/api\/oauth\/token", 02-19 11:54:30.212 11339 11468 I flutter : "refreshPayload": { 02-19 11:54:30.212 11339 11468 I flutter : "refresh_token": "{refreshToken}", 02-19 11:54:30.212 11339 11468 I flutter : "grant_type": "refresh_token", 02-19 11:54:30.212 11339 11468 I flutter : "scope": "", 02-19 11:54:30.212 11339 11468 I flutter : "client_secret": "Fmm8ht5OvtsqP3YAW2vu4EIEZAGGV5J7ZJd8AatL", 02-19 11:54:30.212 11339 11468 I flutter : "client_id": "2" 02-19 11:54:30.212 11339 11468 I flutter : }, 02-19 11:54:30.212 11339 11468 I flutter : "expires": -1 02-19 11:54:30.212 11339 11468 I flutter : }, 02-19 11:54:30.212 11339 11468 I flutter : "autoSync": true, 02-19 11:54:30.212 11339 11468 I flutter : "autoSyncThreshold": 5, 02-19 11:54:30.212 11339 11468 I flutter : "batchSync": true, 02-19 11:54:30.212 11339 11468 I flutter : "configUrl": "", 02-19 11:54:30.212 11339 11468 I flutter : "debug": false, 02-19 11:54:30.212 11339 11468 I flutter : "deferTime": 0, 02-19 11:54:30.212 11339 11468 I flutter : "desiredAccuracy": -1, 02-19 11:54:30.212 11339 11468 I flutter : "desiredOdometerAccuracy": 100, 02-19 11:54:30.212 11339 11468 I flutter : "disableAutoSyncOnCellular": false, 02-19 11:54:30.212 11339 11468 I flutter : "disableElasticity": false, 02-19 11:54:30.212 11339 11468 I flutter : "disableLocationAuthorizationAlert": false, 02-19 11:54:30.212 11339 11468 I flutter : "disableMotionActivityUpdates": false, 02-19 11:54:30.212 11339 11468 I flutter : "disableStopDetection": false, 02-19 11:54:30.212 11339 11468 I flutter : "distanceFilter": 150, 02-19 11:54:30.212 11339 11468 I flutter : "elasticityMultiplier": 1, 02-19 11:54:30.212 11339 11468 I flutter : "enableHeadless": true, 02-19 11:54:30.212 11339 11468 I flutter : "enableTimestampMeta": false, 02-19 11:54:30.212 11339 11468 I flutter : "encrypt": false, 02-19 11:54:30.212 11339 11468 I flutter : "extras": {}, 02-19 11:54:30.212 11339 11468 I flutter : "fastestLocationUpdateInterval": -1, 02-19 11:54:30.212 11339 11468 I flutter : "forceReloadOnBoot": false, 02-19 11:54:30.212 11339 11468 I flutter : "forceReloadOnGeofence": false, 02-19 11:54:30.212 11339 11468 I flutter : "forceReloadOnHeartbeat": false, 02-19 11:54:30.212 11339 11468 I flutter : "forceReloadOnLocationChange": false, 02-19 11:54:30.212 11339 11468 I flutter : "forceReloadOnMotionChange": false, 02-19 11:54:30.212 11339 11468 I flutter : "forceReloadOnSchedule": false, 02-19 11:54:30.212 11339 11468 I flutter : "foregroundService": true, 02-19 11:54:30.212 11339 11468 I flutter : "geofenceInitialTriggerEntry": true, 02-19 11:54:30.212 11339 11468 I flutter : "geofenceModeHighAccuracy": false, 02-19 11:54:30.212 11339 11468 I flutter : "geofenceProximityRadius": 1000, 02-19 11:54:30.212 11339 11468 I flutter : "geofenceTemplate": "", 02-19 11:54:30.212 11339 11468 I flutter : "headers": { 02-19 11:54:30.212 11339 11468 I flutter : "Accept": "application\/json", 02-19 11:54:30.212 11339 11468 I flutter : "Content-Type": "application\/json" 02-19 11:54:30.212 11339 11468 I flutter : }, 02-19 11:54:30.212 11339 11468 I flutter : "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", 02-19 11:54:30.212 11339 11468 I flutter : "heartbeatInterval": 1200, 02-19 11:54:30.213 11339 11468 I flutter : "httpRootProperty": "locations", 02-19 11:54:30.213 11339 11468 I flutter : "httpTimeout": 60000, 02-19 11:54:30.213 11339 11468 I flutter : "isMoving": false, 02-19 11:54:30.213 11339 11468 I flutter : "locationAuthorizationRequest": "Always", 02-19 11:54:30.213 11339 11468 I flutter : "locationTemplate": "{\"latitude\":<%= latitude %>,\"longitude\":<%= longitude %>,\"timestamp\": \"<%= timestamp %>\",\"accuracy\": <%= accuracy %>, \"speed\": \"<%= speed %>\"}", 02-19 11:54:30.213 11339 11468 I flutter : "locationTimeout": 60, 02-19 11:54:30.213 11339 11468 I flutter : "locationUpdateInterval": 1000, 02-19 11:54:30.213 11339 11468 I flutter : "locationsOrderDirection": "ASC", 02-19 11:54:30.213 11339 11468 I flutter : "logLevel": 5, 02-19 11:54:30.213 11339 11468 I flutter : "logMaxDays": 3, 02-19 11:54:30.213 11339 11468 I flutter : "maxBatchSize": 50, 02-19 11:54:30.213 11339 11468 I flutter : "maxDaysToPersist": 1, 02-19 11:54:30.213 11339 11468 I flutter : "maxRecordsToPersist": 50, 02-19 11:54:30.213 11339 11468 I flutter : "method": "POST", 02-19 11:54:30.213 11339 11468 I flutter : "minimumActivityRecognitionConfidence": 75, 02-19 11:54:30.213 11339 11468 I flutter : "notification": { 02-19 11:54:30.213 11339 11468 I flutter : "layout": "", 02-19 11:54:30.213 11339 11468 I flutter : "title": "", 02-19 11:54:30.213 11339 11468 I flutter : "text": "Location Service activated", 02-19 11:54:30.213 11339 11468 I flutter : "color": "", 02-19 11:54:30.213 11339 11468 I flutter : "channelName": "TSLocationManager", 02-19 11:54:30.213 11339 11468 I flutter : "smallIcon": "", 02-19 11:54:30.213 11339 11468 I flutter : "largeIcon": "", 02-19 11:54:30.213 11339 11468 I flutter : "priority": 0, 02-19 11:54:30.213 11339 11468 I flutter : "strings": {}, 02-19 11:54:30.213 11339 11468 I flutter : "actions": [] 02-19 11:54:30.213 11339 11468 I flutter : }, 02-19 11:54:30.213 11339 11468 I flutter : "params": { 02-19 11:54:30.213 11339 11468 I flutter : "autoSync": true 02-19 11:54:30.213 11339 11468 I flutter : }, 02-19 11:54:30.213 11339 11468 I flutter : "persist": true, 02-19 11:54:30.213 11339 11468 I flutter : "persistMode": 2, 02-19 11:54:30.213 11339 11468 I flutter : "schedule": [], 02-19 11:54:30.213 11339 11468 I flutter : "scheduleUseAlarmManager": false, 02-19 11:54:30.213 11339 11468 I flutter : "speedJumpFilter": 300, 02-19 11:54:30.213 11339 11468 I flutter : "startOnBoot": true, 02-19 11:54:30.213 11339 11468 I flutter : "stationaryRadius": 25, 02-19 11:54:30.213 11339 11468 I flutter : "stopAfterElapsedMinutes": 0, 02-19 11:54:30.213 11339 11468 I flutter : "stopOnStationary": false, 02-19 11:54:30.213 11339 11468 I flutter : "stopOnTerminate": false, 02-19 11:54:30.213 11339 11468 I flutter : "stopTimeout": 1, 02-19 11:54:30.213 11339 11468 I flutter : "triggerActivities": "still,on_foot,walking,running", 02-19 11:54:30.213 11339 11468 I flutter : "url": "https:\/\/api.joinspotty.com\/api\/locations", 02-19 11:54:30.213 11339 11468 I flutter : "useSignificantChangesOnly": false, 02-19 11:54:30.213 11339 11468 I flutter : "enabled": true, 02-19 11:54:30.213 11339 11468 I flutter : "schedulerEnabled": false, 02-19 11:54:30.213 11339 11468 I flutter : "trackingMode": 1, 02-19 11:54:30.213 11339 11468 I flutter : "odometer": 7838.3251953125, 02-19 11:54:30.213 11339 11468 I flutter : "isFirstBoot": false, 02-19 11:54:30.213 11339 11468 I flutter : "didLaunchInBackground": false 02-19 11:54:30.213 11339 11468 I flutter : } 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.412 INFO [TSConfig print] 02-19 11:54:30.214 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.214 11339 11468 I flutter : ║ DEVICE SENSORS 02-19 11:54:30.214 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.214 11339 11468 I flutter : ╟─ ✅ ACCELEROMETER: {Sensor name="accelerometer-lsm6ds3-c", vendor="st", version=1, type=1, maxRange=78.4532, resolution=9.576806E-6, power=0.23, minDelay=4000} 02-19 11:54:30.214 11339 11468 I flutter : ╟─ ✅ GYROSCOPE: {Sensor name="gyroscope-lsm6ds3-c", vendor="st", version=1, type=4, maxRange=34.906586, resolution=1.7453292E-5, power=6.1, minDelay=4000} 02-19 11:54:30.214 11339 11468 I flutter : ╟─ ✅ MAGNETOMETER: {Sensor name="akm-akm09918", vendor="akm", version=1001, type=2, maxRange=2000.0, resolution=0.0625, power=6.8, minDelay=10000} 02-19 11:54:30.214 11339 11468 I flutter : ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="significant Motion", vendor="huawei", version=1, type=17, maxRange=2.14748365E9, resolution=1.0, power=0.23, minDelay=-1} 02-19 11:54:30.214 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.532 WARN [TSConfig a] 02-19 11:54:30.214 11339 11468 I flutter : ‼️ CONFIGURE ERROR: Unknown activity-name in #triggerActivities: still 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.559 INFO [BackgroundGeolocation ] 02-19 11:54:30.214 11339 11468 I flutter : ✅ Google Play Services: connected (version code:12451000) 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.744 DEBUG [TSLocationManager$4 run] 02-19 11:54:30.214 11339 11468 I flutter : ℹ️ Load last odometer location: Location[TSLocationManager 45**,18** hAcc=16 t=?!? et=?!? vAcc=??? sAcc=??? bAcc=???] 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.792 DEBUG [b prune] 02-19 11:54:30.214 11339 11468 I flutter : ℹ️ PRUNE -1 days 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.859 DEBUG [HttpService startMonitoringConnectivityChanges] 02-19 11:54:30.214 11339 11468 I flutter : 🎾 Start monitoring connectivity changes 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.899 DEBUG [HttpService a] 02-19 11:54:30.214 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.214 11339 11468 I flutter : ║ 📶 Connectivity change: connected? true 02-19 11:54:30.214 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.927 INFO [BackgroundGeolocation e] 02-19 11:54:30.214 11339 11468 I flutter : 🎾 Start monitoring location-provider changes 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.963 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/location 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.977 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/motionchange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.980 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/activitychange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:17.983 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/geofenceschange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.016 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/geofence 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.018 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/heartbeat 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.026 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/http 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.032 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/schedule 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.035 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/connectivitychange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.037 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/enabledchange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.039 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/providerchange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.057 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/powersavechange 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.059 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/notificationaction 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.073 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/authorization 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.282 INFO [TSScheduleManager oneShot] 02-19 11:54:30.214 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.214 11339 11468 I flutter : 02-18 13:54:18.940 INFO [HttpService flush] 02-19 11:54:30.214 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.214 11339 11468 I flutter : ║ HTTP Service (count: 1) 02-19 11:54:30.214 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:28.420 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.215 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.215 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.215 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:28.437 DEBUG [TerminateEvent ] 02-19 11:54:30.215 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.404 DEBUG [TSLocationManager clearLastOdometerLocation] 02-19 11:54:30.215 11339 11468 I flutter : ℹ️ Clear last odometer location 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.408 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.413 DEBUG [TSGeofenceManager stopMonitoringStationaryRegion] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 Stop monitoring stationary region 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.420 DEBUG [TSGeofenceManager c] ℹ️ Persist monitored geofences: [] 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.422 DEBUG [TSGeofenceManager b] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 Stop monitoring geofences 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.428 INFO [ActivityRecognitionService b] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 Stop motion-activity updates 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.440 INFO [HeartbeatService a] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 Stop heartbeat 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.446 DEBUG [HttpService stopMonitoringConnectivityChanges] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 Stop monitoring connectivity changes 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.652 DEBUG [GeofencingService onStartCommand] - GeofencingService action: stop 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.735 DEBUG [TrackingService onDestroy] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.755 DEBUG [GeofencingService onDestroy] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 GeofencingService destroyed 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:54:54.758 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.215 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:03.461 DEBUG [StreamHandler onListen] authorization 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:03.463 DEBUG [StreamHandler onListen] location 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:03.465 DEBUG [StreamHandler onListen] heartbeat 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.391 DEBUG [TSConfig c] ℹ️ Persist config, dirty: [authorization, authorization.strategy, authorization.refreshPayload, autoSyncThreshold, batchSync, desiredAccuracy, distanceFilter, enableHeadless, headers, headlessJobService, heartbeatInterval, httpRootProperty, locationTemplate, logLevel, maxBatchSize, maxRecordsToPersist, params, startOnBoot, stopOnTerminate, stopTimeout, triggerActivities, url] 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.401 INFO [HttpService flush] 02-19 11:54:30.215 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.215 11339 11468 I flutter : ║ HTTP Service (count: 0) 02-19 11:54:30.215 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.404 WARN [TSConfig a] 02-19 11:54:30.215 11339 11468 I flutter : ‼️ CONFIGURE ERROR: Unknown activity-name in #triggerActivities: still 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.413 DEBUG [BackgroundGeolocation ready] LocationPermission :true 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.666 DEBUG [b a] 02-19 11:54:30.215 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.743 INFO [ActivityRecognitionService a] 02-19 11:54:30.215 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.215 11339 11468 I flutter : 02-18 13:55:04.757 INFO [TSGeofenceManager start] 02-19 11:54:30.216 11339 11468 I flutter : 🎾 Start monitoring geofences 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.760 DEBUG [HttpService startMonitoringConnectivityChanges] 02-19 11:54:30.216 11339 11468 I flutter : 🎾 Start monitoring connectivity changes 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.777 DEBUG [a c] 02-19 11:54:30.216 11339 11468 I flutter : 🎾 Start monitoring powersave changes 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.780 DEBUG [HttpService a] 02-19 11:54:30.216 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : ║ 📶 Connectivity change: connected? true 02-19 11:54:30.216 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.785 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.216 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.791 INFO [HeartbeatService b] 02-19 11:54:30.216 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.817 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.821 DEBUG [b b] 02-19 11:54:30.216 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.824 INFO [TrackingService a] 02-19 11:54:30.216 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:04.988 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.216 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:05.098 INFO [ActivityRecognitionService a] 02-19 11:54:30.216 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.216 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.216 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:05.105 INFO [TSScheduleManager oneShot] 02-19 11:54:30.216 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:05.220 INFO [LocationRequestService b] 02-19 11:54:30.216 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:05.350 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.216 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:05.786 INFO [HttpService flush] 02-19 11:54:30.216 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : ║ HTTP Service (count: 0) 02-19 11:54:30.216 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:06.024 INFO [LocationRequestService a] 02-19 11:54:30.216 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : ║ motionchange LocationResult: 1 02-19 11:54:30.216 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.216 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h25m48s765ms vAcc=??? sAcc=??? bAcc=???], age: 142ms, time: 1582030505879 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:06.031 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.216 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:06.032 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 16.0 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:06.042 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:06.067 DEBUG [LocationRequestService a] SingleLocationRequest 1 isFinished? true 02-19 11:54:30.216 11339 11468 I flutter : 02-18 13:55:06.069 INFO [ActivityRecognitionService a] 02-19 11:54:30.217 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.072 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.217 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.7160945,18.0795533 hAcc=16.0) 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.091 INFO [b persist] 02-19 11:54:30.217 11339 11468 I flutter : ✅ INSERT: 77303ffe-c3b0-4d42-805b-0bb6ee142d88 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.092 DEBUG [b a] 02-19 11:54:30.217 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.098 INFO [TrackingService h] 02-19 11:54:30.217 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.217 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.100 INFO [HttpService flush] 02-19 11:54:30.217 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : ║ HTTP Service (count: 1) 02-19 11:54:30.217 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.123 INFO [BackgroundTaskManager onStartJob] ⏳ startBackgroundTask: 1 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.149 DEBUG [b allWithLocking] 02-19 11:54:30.217 11339 11468 I flutter : ✅ Locked 1 records 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.161 INFO [HttpService a] 02-19 11:54:30.217 11339 11468 I flutter : 🔵 HTTP POST batch (1) 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.210 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.217 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.282 INFO [ActivityRecognitionService a] 02-19 11:54:30.217 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.217 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.217 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.354 DEBUG [TrackingService onDestroy] 02-19 11:54:30.217 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.481 INFO [HttpService$c onResponse] 02-19 11:54:30.217 11339 11468 I flutter : 🔵 Response: 200 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.484 DEBUG [b destroyAll] 02-19 11:54:30.217 11339 11468 I flutter : ✅ DELETED: (1) 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.490 DEBUG [b allWithLocking] 02-19 11:54:30.217 11339 11468 I flutter : ✅ Locked 0 records 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.491 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 1 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.495 DEBUG [BackgroundTaskService onDestroy] 02-19 11:54:30.217 11339 11468 I flutter : 02-18 13:55:06.539 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.217 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.217 11339 11468 I flutter : 02-18 14:00:18.245 INFO [TSScheduleManager oneShot] 02-19 11:54:30.217 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.217 11339 11468 I flutter : 02-18 14:00:28.304 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.217 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.217 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.217 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:28.314 DEBUG [TerminateEvent ] 02-19 11:54:30.218 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:43.832 DEBUG [b b] 02-19 11:54:30.218 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:43.842 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.218 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:43.849 INFO [HeartbeatService b] 02-19 11:54:30.218 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:43.917 DEBUG [b b] 02-19 11:54:30.218 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:43.932 INFO [TrackingService a] 02-19 11:54:30.218 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:43.978 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.218 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.218 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.218 11339 11468 I flutter : ╟─ Network: true 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:44.033 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:44.110 INFO [LocationRequestService b] 02-19 11:54:30.218 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:44.175 INFO [TSScheduleManager oneShot] 02-19 11:54:30.218 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:44.246 INFO [LocationRequestService b] 02-19 11:54:30.218 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.004 INFO [LocationRequestService a] 02-19 11:54:30.218 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : ║ motionchange LocationResult: 3 02-19 11:54:30.218 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=6 et=+3d22h31m27s756ms alt=0.0 vel=13.888889 bear=11.806954 vAcc=??? sAcc=??? bAcc=??? mock], age: 121ms, time: 1582030844870 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.017 INFO [LocationRequestService a] 02-19 11:54:30.218 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : ║ providerchange LocationResult: 2 02-19 11:54:30.218 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.218 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=6 et=+3d22h31m27s756ms alt=0.0 vel=13.888889 bear=11.806954 vAcc=??? sAcc=??? bAcc=??? mock], age: 138ms, time: 1582030844870 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.036 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.218 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.038 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 10.885445 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.043 DEBUG [TSLocationManager incrementOdometer] Odometer: 8136.452 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.057 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.218 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.060 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.7708893 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.081 DEBUG [LocationRequestService a] SingleLocationRequest 3 isFinished? true 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.095 INFO [b persist] 02-19 11:54:30.218 11339 11468 I flutter : ✅ INSERT: 930cd0e0-26eb-4887-8eb3-86b9978518a9 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.096 DEBUG [LocationRequestService a] SingleLocationRequest 2 isFinished? true 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.110 INFO [b persist] 02-19 11:54:30.218 11339 11468 I flutter : ✅ INSERT: 42c0f94e-9b72-47b1-b2f5-e1194aafb07a 02-19 11:54:30.218 11339 11468 I flutter : 02-18 14:00:45.131 DEBUG [b a] 02-19 11:54:30.219 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.138 DEBUG [b a] 02-19 11:54:30.219 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.140 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.159 INFO [ActivityRecognitionService a] 02-19 11:54:30.219 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.162 INFO [HttpService flush] 02-19 11:54:30.219 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : ║ HTTP Service (count: 2) 02-19 11:54:30.219 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.163 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.219 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.71531494712375,18.083153485851625 hAcc=5.7708893) 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.247 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.219 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.255 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.282 INFO [BackgroundTaskManager onStartJob] ⏳ startBackgroundTask: 2 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.300 INFO [TrackingService h] 02-19 11:54:30.219 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.219 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.312 DEBUG [b allWithLocking] 02-19 11:54:30.219 11339 11468 I flutter : ✅ Locked 2 records 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.315 INFO [HttpService a] 02-19 11:54:30.219 11339 11468 I flutter : 🔵 HTTP POST batch (2) 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.316 INFO [ActivityRecognitionService a] 02-19 11:54:30.219 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.219 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.219 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.583 DEBUG [TrackingService onDestroy] 02-19 11:54:30.219 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.587 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.219 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.800 INFO [HttpService$c onResponse] 02-19 11:54:30.219 11339 11468 I flutter : 🔵 Response: 200 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.809 DEBUG [b destroyAll] 02-19 11:54:30.219 11339 11468 I flutter : ✅ DELETED: (2) 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.819 DEBUG [b allWithLocking] 02-19 11:54:30.219 11339 11468 I flutter : ✅ Locked 0 records 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.821 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 2 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:45.823 DEBUG [BackgroundTaskService onDestroy] 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:54.259 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.219 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.219 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.219 11339 11468 I flutter : 02-18 14:00:54.269 DEBUG [TerminateEvent ] 02-19 11:54:30.220 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.334 DEBUG [b b] 02-19 11:54:30.220 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.362 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.220 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.387 INFO [HeartbeatService b] 02-19 11:54:30.220 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.398 DEBUG [b b] 02-19 11:54:30.220 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.399 INFO [TrackingService a] 02-19 11:54:30.220 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.450 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.220 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.220 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.220 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.220 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.220 11339 11468 I flutter : ╟─ Network: true 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.671 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:21.829 INFO [TSScheduleManager oneShot] 02-19 11:54:30.220 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.026 INFO [LocationRequestService b] 02-19 11:54:30.220 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.041 INFO [LocationRequestService b] 02-19 11:54:30.220 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.587 INFO [LocationRequestService a] 02-19 11:54:30.220 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.220 11339 11468 I flutter : ║ motionchange LocationResult: 5 02-19 11:54:30.220 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.220 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h32m5s418ms vel=0.18553409 bear=251.75589 vAcc=??? sAcc=??? bAcc=???], age: 54ms, time: 1582030882532 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.593 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.220 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.595 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 10.885445 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.598 DEBUG [TSLocationManager incrementOdometer] Odometer: 8434.686 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.601 INFO [LocationRequestService a] 02-19 11:54:30.220 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.220 11339 11468 I flutter : ║ providerchange LocationResult: 4 02-19 11:54:30.220 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.220 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h32m5s418ms vel=0.18553409 bear=251.75589 vAcc=??? sAcc=??? bAcc=???], age: 68ms, time: 1582030882532 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.609 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.220 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.613 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 16.0 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.623 DEBUG [LocationRequestService a] SingleLocationRequest 5 isFinished? true 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.627 INFO [b persist] 02-19 11:54:30.220 11339 11468 I flutter : ✅ INSERT: 66aa8c19-e13c-4323-8415-937979304554 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.636 DEBUG [LocationRequestService a] SingleLocationRequest 4 isFinished? true 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.651 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.220 11339 11468 I flutter : 02-18 14:01:22.656 INFO [b persist] 02-19 11:54:30.221 11339 11468 I flutter : ✅ INSERT: 9849dd0e-0124-4202-8560-93f9e4856510 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.663 INFO [ActivityRecognitionService a] 02-19 11:54:30.221 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.666 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.221 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.7160945,18.0795519 hAcc=16.0) 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.708 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.719 DEBUG [b a] 02-19 11:54:30.221 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.722 DEBUG [b a] 02-19 11:54:30.221 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.725 INFO [TrackingService h] 02-19 11:54:30.221 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.221 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.725 INFO [HttpService flush] 02-19 11:54:30.221 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : ║ HTTP Service (count: 2) 02-19 11:54:30.221 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.745 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.221 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.764 INFO [BackgroundTaskManager onStartJob] ⏳ startBackgroundTask: 3 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.770 DEBUG [b allWithLocking] 02-19 11:54:30.221 11339 11468 I flutter : ✅ Locked 2 records 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.770 INFO [HttpService a] 02-19 11:54:30.221 11339 11468 I flutter : 🔵 HTTP POST batch (2) 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.814 INFO [ActivityRecognitionService a] 02-19 11:54:30.221 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.221 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.221 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.903 INFO [HttpService$c onResponse] 02-19 11:54:30.221 11339 11468 I flutter : 🔵 Response: 200 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.905 DEBUG [b destroyAll] 02-19 11:54:30.221 11339 11468 I flutter : ✅ DELETED: (2) 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.911 DEBUG [b allWithLocking] 02-19 11:54:30.221 11339 11468 I flutter : ✅ Locked 0 records 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.911 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 3 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.913 DEBUG [BackgroundTaskService onDestroy] 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:22.982 DEBUG [TrackingService onDestroy] 02-19 11:54:30.221 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:23.072 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.221 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.221 11339 11468 I flutter : 02-18 14:01:31.932 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.221 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.221 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.221 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:01:31.956 DEBUG [TerminateEvent ] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:32.634 DEBUG [b b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.162 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.222 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.168 INFO [HeartbeatService b] 02-19 11:54:30.222 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.184 DEBUG [b b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.185 INFO [TrackingService a] 02-19 11:54:30.222 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.218 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.222 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.222 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.222 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.222 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.222 11339 11468 I flutter : ╟─ Network: false 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.230 DEBUG [b b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.248 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.222 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.249 INFO [HeartbeatService b] 02-19 11:54:30.222 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.254 DEBUG [b b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.255 INFO [TrackingService a] 02-19 11:54:30.222 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.264 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.222 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.222 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.222 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.222 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.222 11339 11468 I flutter : ╟─ Network: false 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.296 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.413 INFO [TSScheduleManager oneShot] 02-19 11:54:30.222 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.470 INFO [LocationRequestService b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.473 INFO [LocationRequestService b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.477 INFO [LocationRequestService b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.482 INFO [LocationRequestService b] 02-19 11:54:30.222 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.222 11339 11468 I flutter : 02-18 14:04:34.573 INFO [LocationRequestService a] 02-19 11:54:30.222 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.222 11339 11468 I flutter : ║ providerchange LocationResult: 6 02-19 11:54:30.222 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=5 et=+3d22h35m17s319ms alt=0.0 vel=13.888889 bear=11.806933 vAcc=??? sAcc=??? bAcc=??? mock], age: 35ms, time: 1582031074535 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.585 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.223 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.586 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 10.546261 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.589 INFO [LocationRequestService a] 02-19 11:54:30.223 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ║ motionchange LocationResult: 9 02-19 11:54:30.223 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=5 et=+3d22h35m17s319ms alt=0.0 vel=13.888889 bear=11.806933 vAcc=??? sAcc=??? bAcc=??? mock], age: 50ms, time: 1582031074535 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.604 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.223 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.604 INFO [LocationRequestService a] 02-19 11:54:30.223 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ║ motionchange LocationResult: 7 02-19 11:54:30.223 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=5 et=+3d22h35m17s319ms alt=0.0 vel=13.888889 bear=11.806933 vAcc=??? sAcc=??? bAcc=??? mock], age: 66ms, time: 1582031074535 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.606 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.607 DEBUG [LocationRequestService a] SingleLocationRequest 6 isFinished? true 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.610 INFO [b persist] 02-19 11:54:30.223 11339 11468 I flutter : ✅ INSERT: cd45aa2e-4824-415f-a9d2-f1ce0059f685 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.612 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.223 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.613 DEBUG [b a] 02-19 11:54:30.223 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.617 DEBUG [TSLocationManager incrementOdometer] Odometer: 8732.097 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.618 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.626 INFO [LocationRequestService a] 02-19 11:54:30.223 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ║ providerchange LocationResult: 8 02-19 11:54:30.223 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.223 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=5 et=+3d22h35m17s319ms alt=0.0 vel=13.888889 bear=11.806933 vAcc=??? sAcc=??? bAcc=??? mock], age: 86ms, time: 1582031074535 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.642 DEBUG [LocationRequestService a] SingleLocationRequest 7 isFinished? true 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.642 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.223 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.642 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.650 DEBUG [LocationRequestService a] SingleLocationRequest 8 isFinished? true 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.653 INFO [b persist] 02-19 11:54:30.223 11339 11468 I flutter : ✅ INSERT: 79193ef0-0054-4d89-996b-7bd34273d7ff 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.656 DEBUG [LocationRequestService a] SingleLocationRequest 9 isFinished? true 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.660 INFO [b persist] 02-19 11:54:30.223 11339 11468 I flutter : ✅ INSERT: ce6ba226-4fbf-4f97-b205-c683d3bbca05 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.665 INFO [b persist] 02-19 11:54:30.223 11339 11468 I flutter : ✅ INSERT: c07d3995-f3fb-4e98-bcef-47e69bb9f64b 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.670 DEBUG [b a] 02-19 11:54:30.223 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.223 11339 11468 I flutter : 02-18 14:04:34.671 DEBUG [b a] 02-19 11:54:30.223 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.673 DEBUG [b a] 02-19 11:54:30.224 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.674 INFO [HttpService flush] 02-19 11:54:30.224 11339 11468 I flutter : ℹ️ HttpService is busy 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.680 INFO [HttpService flush] 02-19 11:54:30.224 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : ║ HTTP Service (count: 4) 02-19 11:54:30.224 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.685 INFO [ActivityRecognitionService a] 02-19 11:54:30.224 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.689 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.224 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.715420648874854,18.083184474161957 hAcc=5.0925207) 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.694 INFO [ActivityRecognitionService a] 02-19 11:54:30.224 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.699 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.224 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.715420648874854,18.083184474161957 hAcc=5.0925207) 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.788 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.224 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.814 INFO [BackgroundTaskManager onStartJob] ⏳ startBackgroundTask: 4 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.831 INFO [TrackingService h] 02-19 11:54:30.224 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.224 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.841 INFO [TrackingService h] 02-19 11:54:30.224 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.224 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.867 DEBUG [b allWithLocking] 02-19 11:54:30.224 11339 11468 I flutter : ✅ Locked 4 records 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.869 INFO [HttpService a] 02-19 11:54:30.224 11339 11468 I flutter : 🔵 HTTP POST batch (4) 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.876 INFO [ActivityRecognitionService a] 02-19 11:54:30.224 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.224 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.224 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:34.908 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.113 DEBUG [TrackingService onDestroy] 02-19 11:54:30.224 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.129 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.224 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.335 INFO [HttpService$c onResponse] 02-19 11:54:30.224 11339 11468 I flutter : 🔵 Response: 200 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.338 DEBUG [b destroyAll] 02-19 11:54:30.224 11339 11468 I flutter : ✅ DELETED: (4) 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.346 DEBUG [b allWithLocking] 02-19 11:54:30.224 11339 11468 I flutter : ✅ Locked 0 records 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.348 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 4 02-19 11:54:30.224 11339 11468 I flutter : 02-18 14:04:35.353 DEBUG [BackgroundTaskService onDestroy] 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:04:44.502 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.225 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.225 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.225 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:04:44.529 DEBUG [TerminateEvent ] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:35.470 DEBUG [b b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:35.592 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.225 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.122 INFO [HeartbeatService b] 02-19 11:54:30.225 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.141 DEBUG [b b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.143 INFO [TrackingService a] 02-19 11:54:30.225 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.195 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.225 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.225 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.225 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.225 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.225 11339 11468 I flutter : ╟─ Network: true 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.204 DEBUG [b b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.208 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.225 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.225 INFO [HeartbeatService b] 02-19 11:54:30.225 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.230 DEBUG [b b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.231 INFO [TrackingService a] 02-19 11:54:30.225 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.239 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.225 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.225 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.225 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.225 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.225 11339 11468 I flutter : ╟─ Network: true 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.270 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.362 INFO [LocationRequestService b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.372 INFO [LocationRequestService b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.225 11339 11468 I flutter : 02-18 14:06:37.377 INFO [LocationRequestService b] 02-19 11:54:30.225 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:37.415 INFO [TSScheduleManager oneShot] 02-19 11:54:30.226 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:37.467 INFO [LocationRequestService b] 02-19 11:54:30.226 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:37.988 INFO [LocationRequestService a] 02-19 11:54:30.226 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ║ providerchange LocationResult: 10 02-19 11:54:30.226 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h37m20s692ms vel=0.048231326 bear=285.4258 vAcc=??? sAcc=??? bAcc=???], age: 76ms, time: 1582031197909 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:37.999 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.226 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.005 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.017 INFO [LocationRequestService a] 02-19 11:54:30.226 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ║ providerchange LocationResult: 12 02-19 11:54:30.226 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h37m20s692ms vel=0.048231326 bear=285.4258 vAcc=??? sAcc=??? bAcc=???], age: 107ms, time: 1582031197909 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.027 INFO [LocationRequestService a] 02-19 11:54:30.226 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ║ motionchange LocationResult: 13 02-19 11:54:30.226 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h37m20s692ms vel=0.048231326 bear=285.4258 vAcc=??? sAcc=??? bAcc=???], age: 116ms, time: 1582031197909 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.029 DEBUG [LocationRequestService a] SingleLocationRequest 10 isFinished? true 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.032 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.032 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.226 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.034 DEBUG [TSLocationManager incrementOdometer] Odometer: 9029.423 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.036 INFO [LocationRequestService a] 02-19 11:54:30.226 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ║ motionchange LocationResult: 11 02-19 11:54:30.226 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.226 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=16 et=+3d22h37m20s692ms vel=0.048231326 bear=285.4258 vAcc=??? sAcc=??? bAcc=???], age: 126ms, time: 1582031197909 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.036 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.226 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.040 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.043 INFO [b persist] 02-19 11:54:30.226 11339 11468 I flutter : ✅ INSERT: e4186d6a-8263-4ed1-9715-449b5f7f42e9 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.045 DEBUG [b a] 02-19 11:54:30.226 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.051 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.226 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.063 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 16.0 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.071 DEBUG [LocationRequestService a] SingleLocationRequest 11 isFinished? true 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.074 DEBUG [LocationRequestService a] SingleLocationRequest 12 isFinished? true 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.082 INFO [b persist] 02-19 11:54:30.226 11339 11468 I flutter : ✅ INSERT: ed830662-f594-4066-9697-150d832d68dd 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.085 DEBUG [LocationRequestService a] SingleLocationRequest 13 isFinished? true 02-19 11:54:30.226 11339 11468 I flutter : 02-18 14:06:38.094 INFO [b persist] 02-19 11:54:30.227 11339 11468 I flutter : ✅ INSERT: ef4b14e4-c423-4c14-b6fc-34ed5ecda6f2 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.117 DEBUG [b a] 02-19 11:54:30.227 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.121 INFO [b persist] 02-19 11:54:30.227 11339 11468 I flutter : ✅ INSERT: f65691b2-7251-4379-92ac-a1a64490288d 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.125 DEBUG [b a] 02-19 11:54:30.227 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.127 DEBUG [b a] 02-19 11:54:30.227 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.133 INFO [HttpService flush] 02-19 11:54:30.227 11339 11468 I flutter : ℹ️ HttpService is busy 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.135 INFO [ActivityRecognitionService a] 02-19 11:54:30.227 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.135 INFO [HttpService flush] 02-19 11:54:30.227 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : ║ HTTP Service (count: 4) 02-19 11:54:30.227 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.137 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.227 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.7160945,18.079553 hAcc=16.0) 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.141 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.143 INFO [ActivityRecognitionService a] 02-19 11:54:30.227 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.151 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.227 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.7160945,18.079553 hAcc=16.0) 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.200 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.233 INFO [BackgroundTaskManager onStartJob] ⏳ startBackgroundTask: 5 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.261 INFO [TrackingService h] 02-19 11:54:30.227 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.227 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.277 INFO [TrackingService h] 02-19 11:54:30.227 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.227 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.295 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.227 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.321 DEBUG [b allWithLocking] 02-19 11:54:30.227 11339 11468 I flutter : ✅ Locked 4 records 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.323 INFO [HttpService a] 02-19 11:54:30.227 11339 11468 I flutter : 🔵 HTTP POST batch (4) 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.350 INFO [ActivityRecognitionService a] 02-19 11:54:30.227 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.227 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.227 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.227 11339 11468 I flutter : 02-18 14:06:38.533 DEBUG [TrackingService onDestroy] 02-19 11:54:30.228 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:38.603 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.228 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:38.702 INFO [HttpService$c onResponse] 02-19 11:54:30.228 11339 11468 I flutter : 🔵 Response: 200 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:38.705 DEBUG [b destroyAll] 02-19 11:54:30.228 11339 11468 I flutter : ✅ DELETED: (4) 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:38.714 DEBUG [b allWithLocking] 02-19 11:54:30.228 11339 11468 I flutter : ✅ Locked 0 records 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:38.715 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 5 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:38.718 DEBUG [BackgroundTaskService onDestroy] 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:47.507 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.228 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.228 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.228 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:06:47.526 DEBUG [TerminateEvent ] 02-19 11:54:30.228 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:36.918 DEBUG [b b] 02-19 11:54:30.228 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:36.930 INFO [TSGeofenceManager stopMonitoringSignificantLocationChanges] 02-19 11:54:30.228 11339 11468 I flutter : 🔴 Stop monitoring significant location changes 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:36.933 INFO [HeartbeatService b] 02-19 11:54:30.228 11339 11468 I flutter : 🎾 Start heartbeat (1200s) 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:36.947 DEBUG [b b] 02-19 11:54:30.228 11339 11468 I flutter : ℹ️ LocationAuthorization: Permission granted 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:36.948 INFO [TrackingService a] 02-19 11:54:30.228 11339 11468 I flutter : 🔵 setPace: false → false 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:36.984 INFO [BackgroundGeolocation$h onReceive] 02-19 11:54:30.228 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.228 11339 11468 I flutter : ║ Location-provider change: true 02-19 11:54:30.228 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.228 11339 11468 I flutter : ╟─ GPS: true 02-19 11:54:30.228 11339 11468 I flutter : ╟─ Network: false 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:37.044 DEBUG [TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:37.286 INFO [LocationRequestService b] 02-19 11:54:30.228 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:37.322 INFO [LocationRequestService b] 02-19 11:54:30.228 11339 11468 I flutter : ℹ️ Location availability: true 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:37.866 INFO [LocationRequestService a] 02-19 11:54:30.228 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.228 11339 11468 I flutter : ║ motionchange LocationResult: 15 02-19 11:54:30.228 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.228 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=4 et=+3d22h39m20s605ms alt=0.0 vel=1.6666666 bear=11.806957 vAcc=??? sAcc=??? bAcc=??? mock], age: 43ms, time: 1582031317822 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:37.869 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.228 11339 11468 I flutter : 🔵 Acquired motionchange position, isMoving: false 02-19 11:54:30.228 11339 11468 I flutter : 02-18 14:08:37.870 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 16.0 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.873 INFO [LocationRequestService a] 02-19 11:54:30.229 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : ║ providerchange LocationResult: 14 02-19 11:54:30.229 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : ╟─ 📍 Location[fused 45**,18** hAcc=4 et=+3d22h39m20s605ms alt=0.0 vel=1.6666666 bear=11.806957 vAcc=??? sAcc=??? bAcc=??? mock], age: 47ms, time: 1582031317822 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.874 INFO [TSLocationManager onSingleLocationResult] 02-19 11:54:30.229 11339 11468 I flutter : 🔵 Acquired providerchange position 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.875 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 5.0925207 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.879 DEBUG [TSLocationManager incrementOdometer] Odometer: 9329.129 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.902 DEBUG [LocationRequestService a] SingleLocationRequest 15 isFinished? true 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.907 INFO [b persist] 02-19 11:54:30.229 11339 11468 I flutter : ✅ INSERT: ba3269a5-75d9-4496-9e1e-8c7a7a357582 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.908 DEBUG [LocationRequestService a] SingleLocationRequest 14 isFinished? true 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.910 DEBUG [b a] 02-19 11:54:30.229 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.914 INFO [b persist] 02-19 11:54:30.229 11339 11468 I flutter : ✅ INSERT: 681feb3e-1a38-4fbf-a2b1-384872a4a630 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.915 DEBUG [b a] 02-19 11:54:30.229 11339 11468 I flutter : ℹ️ SHRINK: 50 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.916 DEBUG [LocationRequestService onDestroy] 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.917 INFO [HttpService flush] 02-19 11:54:30.229 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : ║ HTTP Service (count: 2) 02-19 11:54:30.229 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.924 INFO [ActivityRecognitionService a] 02-19 11:54:30.229 11339 11468 I flutter : 🎾 Start motion-activity updates 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.926 DEBUG [TSGeofenceManager startMonitoringStationaryRegion] 02-19 11:54:30.229 11339 11468 I flutter : 🎾 Start monitoring stationary region (radius: 150.0m 44.71519224069206,18.083117512322847 hAcc=4.0645833) 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.962 INFO [BackgroundTaskManager onStartJob] ⏳ startBackgroundTask: 6 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.973 INFO [TrackingService h] 02-19 11:54:30.229 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : ║ TrackingService motionchange: false 02-19 11:54:30.229 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.977 DEBUG [b allWithLocking] 02-19 11:54:30.229 11339 11468 I flutter : ✅ Locked 2 records 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.984 INFO [HttpService a] 02-19 11:54:30.229 11339 11468 I flutter : 🔵 HTTP POST batch (2) 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:37.999 DEBUG [ActivityRecognitionService a] 02-19 11:54:30.229 11339 11468 I flutter : 🚘 ️DetectedActivity [type=STILL, confidence=100] 02-19 11:54:30.229 11339 11468 I flutter : 02-18 14:08:38.061 INFO [ActivityRecognitionService a] 02-19 11:54:30.229 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : ║ Motion Transition Result 02-19 11:54:30.229 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.229 11339 11468 I flutter : ╟─ 🎾 ENTER: on_bicycle 02-19 11:54:30.229 11339 11468 I flutter : ╚═════════════════════════════════════════════ 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.226 DEBUG [TrackingService onDestroy] 02-19 11:54:30.230 11339 11468 I flutter : 🔴 TrackingService destroyed 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.277 INFO [HttpService$c onResponse] 02-19 11:54:30.230 11339 11468 I flutter : 🔵 Response: 200 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.278 DEBUG [b destroyAll] 02-19 11:54:30.230 11339 11468 I flutter : ✅ DELETED: (2) 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.281 DEBUG [b allWithLocking] 02-19 11:54:30.230 11339 11468 I flutter : ✅ Locked 0 records 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.281 INFO [BackgroundTaskManager$Task stop] ⏳ stopBackgroundTask: 6 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.282 DEBUG [BackgroundTaskService onDestroy] 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:38.313 DEBUG [ActivityRecognitionService onDestroy] 02-19 11:54:30.230 11339 11468 I flutter : 🔴 ActivityRecognitionService destroyed 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:47.022 INFO [TSScheduleManager oneShot] 02-19 11:54:30.230 11339 11468 I flutter : ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:57.099 INFO [ScheduleEvent onOneShot] 02-19 11:54:30.230 11339 11468 I flutter : ╔═════════════════════════════════════════════ 02-19 11:54:30.230 11339 11468 I flutter : ║ ⏰ OneShot event fired: TERMINATE_EVENT 02-19 11:54:30.230 11339 11468 I flutter : ╠═════════════════════════════════════════════ 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:08:57.113 DEBUG [TerminateEvent ] 02-19 11:54:30.230 11339 11468 I flutter : ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 02-19 11:54:30.230 11339 11468 I flutter : 02-18 14:12:15.986 INFO [TSConfig print]



</details>

I'm working on this app for a few months, and never got this location working 100% the right way.
Can you tell me if my use case is even feasible (to track user within 250m when app is in background), and how I might adjust the code to meet that criteria?

p.s In the logs it says that heartbeat started, but it didn't hit server. Nothing appears in logs.
christocracy commented 4 years ago

Adjusting distanceFilter doesn't have a very large affect on battery consumption. Location-services is full-time ON, regardless of distanceFilter: 0 or distanceFilter: 10000000000. distanceFilter merely controls the rate which locations are delivered to your app from the location stream.

If you're having a problem with triggering location tracking on some device (particularly Chinese-made devices), see http://dontkillmyapp.com

christocracy commented 4 years ago

Also, heartbeatInterval will have a big impact on battery-consumption, particularly if you're requesting a location in the callback.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. You may also mark this issue as a "discussion" and I will leave this open.

goranristic123 commented 4 years ago

Hey sorry for late response, I fixed it to some extend but wanted to test it for a week to make sure it gives me consistent results. First here is my new config:

bg.Config(
    desiredAccuracy: bg.Config.DESIRED_ACCURACY_HIGH,
    distanceFilter: 20,
    stopOnTerminate: false,
    startOnBoot: true,
    reset: true,
    debug: false,
    enableHeadless: true,
    stopTimeout: 1,
    triggerActivities: 'on_foot,walking,running,on_bicycle,in_vehicle',
    allowIdenticalLocations: false,
    logLevel: bg.Config.LOG_LEVEL_OFF, // LOG_LEVEL_OFF, LOG_LEVEL_VERBOSE
    headers: {
    'Accept': 'application/json',
    "Content-Type": "application/json",
    },
    authorization: bg.Authorization(
    strategy: bg.Authorization.STRATEGY_JWT,
    accessToken: await authService.getAccessToken,
    refreshToken: await authService.getRefreshToken,
    refreshUrl: Config().apiBaseUrl + '/oauth/token',
    refreshPayload: {
        "grant_type": "refresh_token",
        "refresh_token": '{refreshToken}',
        "client_id": Config().passportClientId,
        "client_secret": Config().passportClientSecret,
        "scope": ""
    },
    ),
    url: Config().apiBaseUrl + '/locations',
    httpRootProperty: 'locations',
    locationTemplate:
        '{"latitude":<%= latitude %>,"longitude":<%= longitude %>,"timestamp": "<%= timestamp %>","accuracy": <%= accuracy %>, "speed": "<%= speed %>", "mock": "<%= mock %>", "activity_type": "<%= activity.type %>"}',
    batchSync: true,
    autoSyncThreshold: 20,
    maxDaysToPersist: 1,
    maxBatchSize: 25,
    maxRecordsToPersist: 500,
    encrypt: false,
    locationAuthorizationAlert: {
    'titleWhenNotEnabled': tr('Location services not available'),
    'titleWhenOff': tr('Location services are disabled'),
    'instructions': tr(
        "You must enable 'Always' in location services for best results with crossing detections"),
    'cancelButton': tr('Cancel'),
    'settingsButton': tr('Settings')
}),

I noticed that battery consumption without internet connection per 1 hour of walking was 3.5% of my battery which is about 119mAh. With internet connection same 1 hour of walking uses 10% which is about 340mAh. So it uses almost 3 times more when I'm using location with network connection.

Looking into the accuracy of the locations I didn't notice any difference in accuracy. In fact it looks to my that accuracy was a bit better without internet connection.

Note: I'm not using heartbeat and fetching user location anymore. I'm not familiar with plugin internals or it has to do with the operating system and what providers it uses to get user location, maybe with internet connection on it is using something more sophisticated and that causes that difference in battery consumption. Which then leads me to question why are the accuracies better without network (and most importantly using significantly less battery).

Am I missing on something here? What can I do?

christocracy commented 4 years ago

Which then leads me to question why are the accuracies better without network

You'll have to provide a lot of evidence to support that.

You might also be interested in the Android-only Config.deferTime, which corresponds to LocationRequest.setMaxWaitTime()

goranristic123 commented 4 years ago

I can five you logs from the database, if it is helpful. Also is there any way to tell it to use same providers than the ones it is using without network?

If there is anything else you need tell me

christocracy commented 4 years ago

I can five you logs from the database

You need to provide a spreadsheet of hundreds of locations for both cases.

Also is there any way to tell it to use same providers than the ones it is using without network?

No. Location.accuracy and Location.speed corresponds to where the location came from.

goranristic123 commented 4 years ago

okay, so here are the locations, timestamp and accuracy information with and without network.

locations.txt

And here are the battery usages:

With network connection: 98830031_1152717845061434_7655679922655985664_n

Without network connection: 98361597_3112008382184314_6543148750062223360_n

The difference in hours on the screenshot and the locations is because locations on the server are stored in utc timezone and I'm in utc+2 hours. So 14hours in the locations relates to the 16hours in the battery usage chart.

You can clearly see far more usage with the mobile network, and accuracies are better without it.

christocracy commented 4 years ago

Obviously there's far more battery usage when HTTP requests are involved. HTTP requests consume far more energy/second than GPS.

goranristic123 commented 4 years ago

Yes I know, but look at my config I'm using batched requests

autoSyncThreshold is set to 20. So for 100 locations with internet connection I made 5 requests right? and maxBatchSize is 25 so that means that for 148 locations without network I made 6 requests when I connected. Which is more

And yet significantly less battery is used

christocracy commented 4 years ago

It's an interesting observation about accuracy but there's nothing that can be done. The plugin uses FusedLocationProviderClient from play-services. It's a black box. The accuracy are well within the range of acceptability.

goranristic123 commented 4 years ago

My problem is not about accuracies they are more than acceptable for me. It's in battery usage, why is it using this much more battery?

christocracy commented 4 years ago

Also, your accuracy results are probably highly dependant upon the device model / vendor OS.

goranristic123 commented 4 years ago

That's fine I'm using Samsung S10 / Android 10. Look at my previous answer. It's not like battery usages are a bit off, 5% for a 30-40 minutes walk between 2.7% is huge considering only one variable changed.

christocracy commented 4 years ago

And your battery consumption too is probably highly dependant upon device model / vendor OS.

I just took a 14km bike ride with a number of devices all starting at 100% charge. My Pixel 3a (with network connection) and OnePlus A5010 (no network;no sim) show identical battery drain at 4%. My old Pixel @ 10 (no network; no sim) has a nearly shot battery ended the ride down 33%.

goranristic123 commented 4 years ago

I see, I will download your sample flutter app and test to see what the results will be

goranristic123 commented 4 years ago

Sorry for the inconvenience, it was problem on my end. Now it works perfectly 👌