transistorsoft / flutter_background_geolocation

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

App suddenly restart or close when it's in background mode after run for 3 to 4 hours. #646

Closed gcivicodev closed 2 years ago

gcivicodev commented 2 years ago

Your Environment

• No issues found!

* Plugin config: 
```dart <-- Syntax highlighting: DO NOT REMOVE -->import 'package:flutter/material.dart';
import 'package:flutter_background_geolocation/flutter_background_geolocation.dart' as bg;
import 'dart:convert';

import 'package:my_old_san_juan/src/services/config.dart';
JsonEncoder encoder = new JsonEncoder.withIndent("     ");

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'BackgroundGeolocation Demo',
      theme: new ThemeData(
        primarySwatch: Colors.amber,
      ),
      home: new MyHomePage(title: 'BackgroundGeolocation Demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late bool _isMoving;
  late bool _enabled;
  late String _motionActivity;
  late String _odometer;
  late String _content;

  @override
  void initState() {
    _isMoving = false;
    _enabled = false;
    _content = '';
    _motionActivity = 'UNKNOWN';
    _odometer = '0';

    // 1.  Listen to events (See docs for all 12 available events).
    bg.BackgroundGeolocation.onLocation(_onLocation);
    bg.BackgroundGeolocation.onMotionChange(_onMotionChange);
    bg.BackgroundGeolocation.onActivityChange(_onActivityChange);
    bg.BackgroundGeolocation.onProviderChange(_onProviderChange);
    bg.BackgroundGeolocation.onConnectivityChange(_onConnectivityChange);

    // 2.  Configure the plugin
    bg.BackgroundGeolocation.ready(bg.Config(
      locationAuthorizationRequest: 'Always',
      activityType: bg.Config.ACTIVITY_TYPE_OTHER,
      desiredAccuracy: bg.Config.DESIRED_ACCURACY_HIGH,
      distanceFilter: 2,
      stopOnTerminate: true,
      startOnBoot: false,
      debug: true,
      reset: true,
      logLevel: bg.Config.LOG_LEVEL_OFF,
      logMaxDays: 0,
      /* Android */ foregroundService: true,
      // desiredOdometerAccuracy: 10,
      // /* Android */ locationUpdateInterval: 1000,
      /* Android */ fastestLocationUpdateInterval: 3000,
      // /* Android */ fastestLocationUpdateInterval: 10000,
      /* Android */ deferTime: 0,
      /* Android */ allowIdenticalLocations: false,
      url: 'my api url',
      method: "POST",
      params: {
        "garita": '',
        "driver": '',
        "route": '',
      },
      stopTimeout: 1,
    )).then((bg.State state) {
      setState(() {
        _enabled = state.enabled;
        _isMoving = state.isMoving!;
      });
    });
  }

  void _onClickEnable(enabled) {
    if (enabled) {
      bg.BackgroundGeolocation.start().then((bg.State state) {
        print('[start] success $state');
        setState(() {
          _enabled = state.enabled;
          _isMoving = state.isMoving!;
        });
      });
    } else {
      bg.BackgroundGeolocation.stop().then((bg.State state) {
        print('[stop] success: $state');
        // Reset odometer.
        bg.BackgroundGeolocation.setOdometer(0.0);

        setState(() {
          _odometer = '0.0';
          _enabled = state.enabled;
          _isMoving = state.isMoving!;
        });
      });
    }
  }

  // Manually toggle the tracking state:  moving vs stationary
  void _onClickChangePace() {
    setState(() {
      _isMoving = !_isMoving;
    });
    print("[onClickChangePace] -> $_isMoving");

    bg.BackgroundGeolocation.changePace(_isMoving).then((bool isMoving) {
      print('[changePace] success $isMoving');
    }).catchError((e) {
      print('[changePace] ERROR: ' + e.code.toString());
    });
  }

  // Manually fetch the current position.
  void _onClickGetCurrentPosition() {
    bg.BackgroundGeolocation.getCurrentPosition(
        persist: false,     // <-- do not persist this location
        desiredAccuracy: 0, // <-- desire best possible accuracy
        timeout: 30000,     // <-- wait 30s before giving up.
        samples: 3          // <-- sample 3 location before selecting best.
    ).then((bg.Location location) {
      print('[getCurrentPosition] - $location');
    }).catchError((error) {
      print('[getCurrentPosition] ERROR: $error');
    });
  }

  ////
  // Event handlers
  //

  void _onLocation(bg.Location location) {
    print('[location] - $location');

    String odometerKM = (location.odometer / 1000.0).toStringAsFixed(1);

    setState(() {
      _content = encoder.convert(location.toMap());
      _odometer = odometerKM;
    });
  }

  void _onMotionChange(bg.Location location) {
    print('[motionchange] - $location');
  }

  void _onActivityChange(bg.ActivityChangeEvent event) {
    print('[activitychange] - $event');
    setState(() {
      _motionActivity = event.activity;
    });
  }

  void _onProviderChange(bg.ProviderChangeEvent event) {
    print('$event');

    setState(() {
      _content = encoder.convert(event.toMap());
    });
  }

  void _onConnectivityChange(bg.ConnectivityChangeEvent event) {
    print('$event');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
          title: const Text('Background Geolocation'),
          actions: <Widget>[
            Switch(
                value: _enabled,
                onChanged: _onClickEnable
            ),
          ]
      ),
      body: SingleChildScrollView(
          child: Text('$_content')
      ),
      bottomNavigationBar: BottomAppBar(
          child: Container(
              padding: const EdgeInsets.only(left: 5.0, right: 5.0),
              child: Row(
                  mainAxisSize: MainAxisSize.max,
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    IconButton(
                      icon: Icon(Icons.gps_fixed),
                      onPressed: _onClickGetCurrentPosition,
                    ),
                    Text('$_motionActivity · $_odometer km'),
                    MaterialButton(
                        minWidth: 50.0,
                        child: Icon((_isMoving) ? Icons.pause : Icons.play_arrow, color: Colors.white),
                        color: (_isMoving) ? Colors.red : Colors.green,
                        onPressed: _onClickChangePace
                    )
                  ]
              )
          )
      ),
    );
  }
}

Expected Behavior

Mobile app can run without restarting (or closing) suddenly for more than 5 hours on background and occasionally on foreground.

Actual Behavior

Mobile app runs and geolocation works in foreground and background as expected but the app beguin to restart (or close) suddenly few hours (3 - 4) later.

Steps to Reproduce

  1. Create flutter app (android studio)
  2. Fallow all android steps here, here and here
  3. Use my plugin's configuration above. But witout the config params: url, method and params.
  4. Run the app, start the background geolocation, turn app to background and wait 3 to 4 hours.

Context

We have some vehicles (golf carts) that runs in a place with littles streets and often with traffic congestion. The golf carts most of the time are equally fast than a person doing jogging. Drivers aren't tech guys so they only want to open the app and used it without more complications. But they need to do so for minimun 6 hours daily. Problem is that the app start to restart (or close) suddenly few hours later and stop to comunicate with server too. Is my configuration wrong? Is normal that behavior after 3 - 4 hours? We have the same issue using the same configuration in an Ionic app for Android.

Debug logs

Logs ``` Microsoft Windows [Version 10.0.19043.1237] (c) Microsoft Corporation. All rights reserved. E:\flutter>adb logcat -s TSLocationManager --------- beginning of crash --------- beginning of system --------- beginning of main 10-01 08:38:50.028 31768 31812 E TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:38:50.028 31768 31812 E TSLocationManager: ║ LICENSE VALIDATION FAILURE: com.developerscourt.garita.my_old_san_juan 10-01 08:38:50.028 31768 31812 E TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:38:50.028 31768 31812 E TSLocationManager: ╟─ Invalid license key: YOUR_LICENCE_KEY_HERE 10-01 08:38:50.028 31768 31812 E TSLocationManager: ╟─ BackgroundGeolocation is fully functional in DEBUG builds without a license. 10-01 08:38:50.028 31768 31812 E TSLocationManager: ╚═════════════════════════════════════════════ 10-01 08:38:50.062 31768 31816 I TSLocationManager: [c.t.l.logger.LoggerFacade$a a] 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:38:50.062 31768 31816 I TSLocationManager: ║ TSLocationManager version: 3.1.33 (389) 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╟─ Xiaomi M2007J3SG @ 11 (flutter) 10-01 08:38:50.062 31768 31816 I TSLocationManager: { 10-01 08:38:50.062 31768 31816 I TSLocationManager: "activityRecognitionInterval": 10000, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "allowIdenticalLocations": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "authorization": {}, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "autoSync": true, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "autoSyncThreshold": 0, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "backgroundPermissionRationale": { 10-01 08:38:50.062 31768 31816 I TSLocationManager: "title": "Allow {applicationName} to access this device's location even when closed or not in use?", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "message": "[CHANGEME] This app collects location data for FEATURE X and FEATURE Y.", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "negativeAction": "" 10-01 08:38:50.062 31768 31816 I TSLocationManager: }, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "batchSync": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "configUrl": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "debug": true, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "deferTime": 0, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "desiredAccuracy": -1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "desiredOdometerAccuracy": 100, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "disableAutoSyncOnCellular": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "disableElasticity": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "disableLocationAuthorizationAlert": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "disableMotionActivityUpdates": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "disableStopDetection": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "distanceFilter": 10, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "elasticityMultiplier": 1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "enableHeadless": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "enableTimestampMeta": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "extras": {}, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "fastestLocationUpdateInterval": -1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "foregroundService": true, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "geofenceInitialTriggerEntry": true, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "geofenceModeHighAccuracy": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "geofenceProximityRadius": 1000, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "geofenceTemplate": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "headers": {}, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "heartbeatInterval": -1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "httpRootProperty": "location", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "httpTimeout": 60000, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "isMoving": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "locationAuthorizationRequest": "Always", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "locationTemplate": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "locationTimeout": 60, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "locationUpdateInterval": 1000, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "locationsOrderDirection": "ASC", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "logLevel": 5, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "logMaxDays": 3, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "maxBatchSize": -1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "maxDaysToPersist": 1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "maxRecordsToPersist": -1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "method": "POST", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "minimumActivityRecognitionConfidence": 75, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "motionTriggerDelay": 0, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "notification": { 10-01 08:38:50.062 31768 31816 I TSLocationManager: "layout": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "title": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "text": "Location Service activated", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "color": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "channelName": "TSLocationManager", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "smallIcon": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "largeIcon": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "priority": 0, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "sticky": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "strings": {}, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "actions": [] 10-01 08:38:50.062 31768 31816 I TSLocationManager: }, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "params": {}, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "persist": true, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "persistMode": 2, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "schedule": [], 10-01 08:38:50.062 31768 31816 I TSLocationManager: "scheduleUseAlarmManager": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "speedJumpFilter": 300, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "startOnBoot": true, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "stationaryRadius": 25, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "stopAfterElapsedMinutes": 0, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "stopOnStationary": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "stopOnTerminate": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "stopTimeout": 5, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "url": "", 10-01 08:38:50.062 31768 31816 I TSLocationManager: "useSignificantChangesOnly": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "enabled": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "schedulerEnabled": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "trackingMode": 1, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "odometer": 0, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "isFirstBoot": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "didLaunchInBackground": false, 10-01 08:38:50.062 31768 31816 I TSLocationManager: "didDeviceReboot": false 10-01 08:38:50.062 31768 31816 I TSLocationManager: } 10-01 08:38:50.062 31768 31816 I TSLocationManager: [c.t.l.logger.LoggerFacade$a a] 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:38:50.062 31768 31816 I TSLocationManager: ║ DEVICE SENSORS 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=142854, type=1, maxRange=78.45318, resolution=0.0023928226, power=0.17, minDelay=240 4} 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=142854, type=4, maxRange=17.452745, resolution=6.1084726E-4, power=0.55, minDelay=2404} 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=146965, type=2, maxRange=4911.994, resolution=0.15, power=1.1, minDelay=10000} 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="sns_smd Wakeup", vendor="qualcomm", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.025, minDelay=-1} 10-01 08:38:50.062 31768 31816 I TSLocationManager: ╚═════════════════════════════════════════════ 10-01 08:38:50.065 31768 31816 I TSLocationManager: [c.t.l.logger.LoggerFacade$a a] 10-01 08:38:50.065 31768 31816 I TSLocationManager: ✅ Google Play Services: connected (version code:12451000) 10-01 08:38:50.066 31768 31816 I TSLocationManager: [c.t.l.logger.LoggerFacade$a a] 10-01 08:38:50.066 31768 31816 I TSLocationManager: � Start monitoring location-provider changes 10-01 08:38:50.072 31768 31817 D TSLocationManager: [c.t.l.data.sqlite.b prune] 10-01 08:38:50.072 31768 31817 D TSLocationManager: ℹ️ PRUNE -1 days 10-01 08:38:50.073 31768 31812 D TSLocationManager: [c.t.l.a.BackgroundGeolocation a] 10-01 08:38:50.073 31768 31812 D TSLocationManager: � Cleared callbacks 10-01 08:38:50.074 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/location 10-01 08:38:50.075 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/motionchange 10-01 08:38:50.076 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/activitychange 10-01 08:38:50.076 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/geofenceschange 10-01 08:38:50.076 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/geofence 10-01 08:38:50.077 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/heartbeat 10-01 08:38:50.077 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/http 10-01 08:38:50.077 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/schedule 10-01 08:38:50.077 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/connectivitychange 10-01 08:38:50.078 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/enabledchange 10-01 08:38:50.079 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/providerchange 10-01 08:38:50.079 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/powersavechange 10-01 08:38:50.082 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/notificationaction 10-01 08:38:50.082 31768 31812 D TSLocationManager: [c.t.f.b.streams.StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/authorization 10-01 08:38:51.387 31768 31768 D TSLocationManager: [c.t.f.b.streams.StreamHandler onListen] location 10-01 08:38:51.388 31768 31768 D TSLocationManager: [c.t.f.b.streams.StreamHandler onListen] motionchange 10-01 08:38:51.389 31768 31768 D TSLocationManager: [c.t.f.b.streams.StreamHandler onListen] activitychange 10-01 08:38:51.390 31768 31768 D TSLocationManager: [c.t.f.b.streams.StreamHandler onListen] providerchange 10-01 08:38:51.390 31768 31768 D TSLocationManager: [c.t.f.b.streams.StreamHandler onListen] connectivitychange 10-01 08:38:51.407 31768 31768 D TSLocationManager: [c.t.l.adapter.TSConfig d] ℹ️ Persist config, dirty: [debug, desiredAccuracy, headlessJobService, logLevel, startOnBoot, stopOnTerminate] 10-01 08:41:22.783 31768 31768 I TSLocationManager: [c.t.locationmanager.util.c g] 10-01 08:41:22.783 31768 31768 I TSLocationManager: � LocationAuthorization: Requesting Background permission 10-01 08:41:22.784 31768 31768 I TSLocationManager: [c.t.locationmanager.util.c e] 10-01 08:41:22.784 31768 31768 I TSLocationManager: � Should show backgroundPermissionRationale? false 10-01 08:41:22.940 31768 32055 I TSLocationManager: - Enable: false → true, trackingMode: 1 10-01 08:41:22.954 31768 32055 I TSLocationManager: [c.t.l.s.ActivityRecognitionService b] 10-01 08:41:22.954 31768 32055 I TSLocationManager: � Start motion-activity updates 10-01 08:41:22.984 31768 31768 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity execute] locationsettings 10-01 08:41:22.984 31768 31768 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 10-01 08:41:22.987 31768 32055 D TSLocationManager: [c.t.l.http.HttpService startMonitoringConnectivityChanges] 10-01 08:41:22.987 31768 32055 D TSLocationManager: � Start monitoring connectivity changes 10-01 08:41:22.994 31768 32055 D TSLocationManager: [c.t.locationmanager.device.a c] 10-01 08:41:22.994 31768 32055 D TSLocationManager: � Start monitoring powersave changes 10-01 08:41:23.000 31768 32085 D TSLocationManager: [c.t.l.http.HttpService a] 10-01 08:41:23.000 31768 32085 D TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:23.000 31768 32085 D TSLocationManager: ║ � Connectivity change: connected? true 10-01 08:41:23.000 31768 32085 D TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:23.001 31768 32055 I TSLocationManager: [c.t.l.service.HeartbeatService c] 10-01 08:41:23.001 31768 32055 I TSLocationManager: � Stop heartbeat 10-01 08:41:23.003 31768 32055 I TSLocationManager: [c.t.locationmanager.util.c h] 10-01 08:41:23.003 31768 32055 I TSLocationManager: � LocationAuthorization: Requesting permission 10-01 08:41:23.003 31768 32055 I TSLocationManager: [c.t.l.service.TrackingService a] 10-01 08:41:23.003 31768 32055 I TSLocationManager: � setPace: false → false 10-01 08:41:23.013 31768 31768 I TSLocationManager: [c.t.locationmanager.util.c$k onPermissionGranted] 10-01 08:41:23.013 31768 31768 I TSLocationManager: ✅ LocationAuthorization: Permission granted 10-01 08:41:23.041 31768 31768 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity stop] eventCount: 0 10-01 08:41:23.078 31768 31768 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot] 10-01 08:41:23.078 31768 31768 I TSLocationManager: ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 10-01 08:41:23.089 31768 31768 D TSLocationManager: [c.t.l.a.TSLocationManagerActivity onDestroy] 10-01 08:41:23.116 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:23.116 31768 31768 D TSLocationManager: � LocationRequestService [eventCount: 1] 10-01 08:41:23.118 31768 32088 I TSLocationManager: [c.t.l.s.LocationRequestService a] 10-01 08:41:23.118 31768 32088 I TSLocationManager: ℹ️ Location availability: false 10-01 08:41:23.118 31768 32088 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:41:23.371 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:41:23.371 31768 31768 D TSLocationManager: � LocationRequestService destroyed 10-01 08:41:23.465 31768 31768 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot] 10-01 08:41:23.465 31768 31768 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending 10-01 08:41:23.725 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:23.725 31768 31768 D TSLocationManager: � LocationRequestService [eventCount: 1] 10-01 08:41:23.726 31768 32087 I TSLocationManager: [c.t.l.s.LocationRequestService b] 10-01 08:41:23.726 31768 32087 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:23.726 31768 32087 I TSLocationManager: ║ motionchange LocationResult: 1 10-01 08:41:23.726 31768 32087 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:23.726 31768 32087 I TSLocationManager: ╟─ � Location[fused 3.421911,-76.533115 hAcc=18 et=+4d23h42m40s381ms alt=965.0611940885942 vAcc=21 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}], age: 593ms, time: 1633 095683132 10-01 08:41:23.728 31768 32087 I TSLocationManager: [c.t.l.l.TSLocationManager onSingleLocationResult] 10-01 08:41:23.728 31768 32087 I TSLocationManager: � Acquired motionchange position, isMoving: false 10-01 08:41:23.729 31768 32087 D TSLocationManager: [c.t.l.l.TSLocationManager calculateMedianAccuracy] Median accuracy: 18.417 10-01 08:41:23.731 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:41:23.733 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:41:23.733 31768 31768 D TSLocationManager: � LocationRequestService destroyed 10-01 08:41:23.772 31768 32087 D TSLocationManager: [c.t.l.s.LocationRequestService b] SingleLocationRequest 1 isFinished? true 10-01 08:41:23.772 31768 32087 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:41:23.772 31768 31768 I TSLocationManager: [c.t.l.s.ActivityRecognitionService b] 10-01 08:41:23.772 31768 31768 I TSLocationManager: � Start motion-activity updates 10-01 08:41:23.773 31768 31768 D TSLocationManager: [c.t.l.g.TSGeofenceManager startMonitoringStationaryRegion] 10-01 08:41:23.773 31768 31768 D TSLocationManager: � Start monitoring stationary region (radius: 150.0m 3.421911,-76.5331147 hAcc=18.417) 10-01 08:41:23.774 31768 32083 I TSLocationManager: [c.t.l.data.sqlite.b persist] 10-01 08:41:23.774 31768 32083 I TSLocationManager: ✅ INSERT: eab87888-1c09-4ddf-bbe8-9410edc64345 10-01 08:41:23.784 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:23.784 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:41:23.784 31768 31768 I TSLocationManager: [c.t.l.service.TrackingService h] 10-01 08:41:23.784 31768 31768 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:23.784 31768 31768 I TSLocationManager: ║ TrackingService motionchange: false 10-01 08:41:23.784 31768 31768 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:23.785 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: false] 10-01 08:41:24.036 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:41:24.036 31768 31768 D TSLocationManager: � TrackingService destroyed 10-01 08:41:26.720 31768 32088 D TSLocationManager: [c.t.l.adapter.TSConfig d] ℹ️ Persist config, dirty: [isMoving] 10-01 08:41:26.722 31768 32088 I TSLocationManager: [c.t.l.service.HeartbeatService c] 10-01 08:41:26.722 31768 32088 I TSLocationManager: � Stop heartbeat 10-01 08:41:26.723 31768 32088 D TSLocationManager: [c.t.l.g.TSGeofenceManager stopMonitoringStationaryRegion] 10-01 08:41:26.723 31768 32088 D TSLocationManager: � Stop monitoring stationary region 10-01 08:41:26.724 31768 32088 I TSLocationManager: [c.t.locationmanager.util.c h] 10-01 08:41:26.724 31768 32088 I TSLocationManager: � LocationAuthorization: Requesting permission 10-01 08:41:26.724 31768 32088 I TSLocationManager: [c.t.l.service.TrackingService a] 10-01 08:41:26.724 31768 32088 I TSLocationManager: � setPace: false → true 10-01 08:41:26.726 31768 31768 I TSLocationManager: [c.t.locationmanager.util.c$k onPermissionGranted] 10-01 08:41:26.726 31768 31768 I TSLocationManager: ✅ LocationAuthorization: Permission granted 10-01 08:41:26.734 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:26.734 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:41:26.734 31768 31768 I TSLocationManager: [c.t.l.service.TrackingService h] 10-01 08:41:26.734 31768 31768 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:26.734 31768 31768 I TSLocationManager: ║ TrackingService motionchange: true 10-01 08:41:26.734 31768 31768 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:26.735 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true] 10-01 08:41:26.772 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:26.772 31768 31768 D TSLocationManager: � LocationRequestService [eventCount: 1] 10-01 08:41:26.772 31768 32086 I TSLocationManager: [c.t.l.s.LocationRequestService a] 10-01 08:41:26.772 31768 32086 I TSLocationManager: ℹ️ Location availability: false 10-01 08:41:26.772 31768 32086 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:41:27.025 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:41:27.025 31768 31768 D TSLocationManager: � LocationRequestService destroyed 10-01 08:41:27.397 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:27.397 31768 31768 D TSLocationManager: � LocationRequestService [eventCount: 1] 10-01 08:41:27.399 31768 32087 I TSLocationManager: [c.t.l.s.LocationRequestService b] 10-01 08:41:27.399 31768 32087 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:27.399 31768 32087 I TSLocationManager: ║ motionchange LocationResult: 2 10-01 08:41:27.399 31768 32087 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:27.399 31768 32087 I TSLocationManager: ╟─ � Location[fused 3.422001,-76.533092 hAcc=20 et=+4d23h42m44s55ms alt=964.9776291126044 vel=0.5170875 bear=13.939945 vAcc=21 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=5 2]}], age: 592ms, time: 1633095686806 10-01 08:41:27.400 31768 32087 I TSLocationManager: [c.t.l.l.TSLocationManager onSingleLocationResult] 10-01 08:41:27.400 31768 32087 I TSLocationManager: � Acquired motionchange position, isMoving: true 10-01 08:41:27.400 31768 32087 D TSLocationManager: [c.t.l.l.TSLocationManager calculateMedianAccuracy] Median accuracy: 19.050499 10-01 08:41:27.403 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:41:27.406 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:41:27.406 31768 31768 D TSLocationManager: � LocationRequestService destroyed 10-01 08:41:27.430 31768 32087 I TSLocationManager: [c.t.l.l.TSLocationManager requestLocationUpdates] 10-01 08:41:27.430 31768 32087 I TSLocationManager: � Location-services: ON 10-01 08:41:27.430 31768 32087 I TSLocationManager: [c.t.l.l.TSLocationManager requestLocationUpdates] 10-01 08:41:27.430 31768 32087 I TSLocationManager: � Location-services: ON 10-01 08:41:27.431 31768 32087 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 10-01 08:41:27.432 31768 31768 I TSLocationManager: [c.t.l.s.ActivityRecognitionService b] 10-01 08:41:27.432 31768 31768 I TSLocationManager: � Start motion-activity updates 10-01 08:41:27.433 31768 32087 D TSLocationManager: [c.t.l.s.LocationRequestService b] SingleLocationRequest 2 isFinished? true 10-01 08:41:27.433 31768 31768 I TSLocationManager: [c.t.l.l.TSLocationManager removeLocationUpdates] 10-01 08:41:27.433 31768 31768 I TSLocationManager: � Location-services: OFF 10-01 08:41:27.434 31768 32087 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:41:27.434 31768 31768 I TSLocationManager: [c.t.l.l.TSLocationManager requestLocationUpdates] 10-01 08:41:27.434 31768 31768 I TSLocationManager: � Location-services: ON 10-01 08:41:27.436 31768 31768 D TSLocationManager: [c.t.l.adapter.TSConfig translateDesiredAccuracy] translateDesiredAccuracy (true): -1 10-01 08:41:27.438 31768 32084 I TSLocationManager: [c.t.l.data.sqlite.b persist] 10-01 08:41:27.438 31768 32084 I TSLocationManager: ✅ INSERT: c77775fd-e308-4205-808f-72d10a935c0e 10-01 08:41:27.450 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:27.450 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:41:27.453 31768 31768 D TSLocationManager: [c.t.l.service.TrackingService b] 10-01 08:41:27.453 31768 31768 D TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:27.453 31768 31768 D TSLocationManager: ║ TrackingService: LocationResult 10-01 08:41:27.453 31768 31768 D TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:27.453 31768 31768 D TSLocationManager: ╟─ � Location[fused 3.422001,-76.533092 hAcc=20 et=+4d23h42m44s55ms alt=964.9776291126044 vel=0.5170875 bear=13.939945 vAcc=21 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=5 2]}], age: 645ms, time: 1633095686806 10-01 08:41:27.453 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true] 10-01 08:41:27.454 31768 32087 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult] 10-01 08:41:27.454 31768 32087 D TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:27.454 31768 32087 D TSLocationManager: ║ Process LocationResult 10-01 08:41:27.454 31768 32087 D TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:27.456 31768 32087 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult] 10-01 08:41:27.456 31768 32087 D TSLocationManager: ℹ️ IGNORED: same as last location 10-01 08:41:27.456 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:27.456 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:41:27.457 31768 31768 I TSLocationManager: [c.t.l.service.TrackingService a] 10-01 08:41:27.457 31768 31768 I TSLocationManager: ℹ️ Location availability: false 10-01 08:41:27.457 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true] 10-01 08:41:27.467 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:27.467 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:41:27.469 31768 31768 D TSLocationManager: [c.t.l.service.TrackingService b] 10-01 08:41:27.469 31768 31768 D TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:27.469 31768 31768 D TSLocationManager: ║ TrackingService: LocationResult 10-01 08:41:27.469 31768 31768 D TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:27.469 31768 31768 D TSLocationManager: ╟─ � Location[fused 3.422001,-76.533092 hAcc=20 et=+4d23h42m44s55ms alt=964.9776291126044 vel=0.5170875 bear=13.939945 vAcc=21 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=5 2]}], age: 661ms, time: 1633095686806 10-01 08:41:27.469 31768 32084 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult] 10-01 08:41:27.469 31768 32084 D TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:27.469 31768 32084 D TSLocationManager: ║ Process LocationResult 10-01 08:41:27.469 31768 32084 D TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:27.470 31768 32084 D TSLocationManager: [c.t.l.l.TSLocationManager onLocationResult] 10-01 08:41:27.470 31768 32084 D TSLocationManager: ℹ️ IGNORED: same as last location 10-01 08:41:27.471 31768 31768 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot] 10-01 08:41:27.471 31768 31768 I TSLocationManager: ⏰ Scheduled OneShot: STOP_TIMEOUT in 300000ms (jobID: 2059034116) 10-01 08:41:27.474 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true] 10-01 08:41:27.482 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:41:27.482 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:41:27.482 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: true] 10-01 08:41:30.266 31768 31768 I TSLocationManager: [c.t.l.s.TSScheduleManager oneShot] 10-01 08:41:30.266 31768 31768 I TSLocationManager: ⏰ Oneshot TERMINATE_EVENT is already pending 10-01 08:41:33.087 31768 32124 I TSLocationManager: [c.t.l.scheduler.ScheduleEvent onOneShot] 10-01 08:41:33.087 31768 32124 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:41:33.087 31768 32124 I TSLocationManager: ║ ⏰ OneShot event fired: TERMINATE_EVENT 10-01 08:41:33.087 31768 32124 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:41:33.091 31768 32124 D TSLocationManager: [c.t.l.event.TerminateEvent ] 10-01 08:41:33.091 31768 32124 D TSLocationManager: ℹ️ TERMINATE_EVENT ignored (MainActivity is still active). 10-01 08:46:27.479 31768 32504 I TSLocationManager: [c.t.l.scheduler.ScheduleEvent onOneShot] 10-01 08:46:27.479 31768 32504 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:46:27.479 31768 32504 I TSLocationManager: ║ ⏰ OneShot event fired: STOP_TIMEOUT 10-01 08:46:27.479 31768 32504 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:46:27.481 31768 32504 D TSLocationManager: [c.t.l.adapter.TSConfig d] ℹ️ Persist config, dirty: [isMoving] 10-01 08:46:27.483 31768 32504 I TSLocationManager: [c.t.l.l.TSLocationManager removeLocationUpdates] 10-01 08:46:27.483 31768 32504 I TSLocationManager: � Location-services: OFF 10-01 08:46:27.485 31768 32504 I TSLocationManager: [c.t.l.service.HeartbeatService c] 10-01 08:46:27.485 31768 32504 I TSLocationManager: � Stop heartbeat 10-01 08:46:27.486 31768 32504 I TSLocationManager: [c.t.locationmanager.util.c h] 10-01 08:46:27.486 31768 32504 I TSLocationManager: � LocationAuthorization: Requesting permission 10-01 08:46:27.486 31768 32504 I TSLocationManager: [c.t.l.service.TrackingService a] 10-01 08:46:27.486 31768 32504 I TSLocationManager: � setPace: true → false 10-01 08:46:27.487 31768 31768 I TSLocationManager: [c.t.locationmanager.util.c$k onPermissionGranted] 10-01 08:46:27.487 31768 31768 I TSLocationManager: ✅ LocationAuthorization: Permission granted 10-01 08:46:27.526 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:46:27.526 31768 31768 D TSLocationManager: � LocationRequestService [eventCount: 1] 10-01 08:46:27.526 31768 32509 I TSLocationManager: [c.t.l.s.LocationRequestService a] 10-01 08:46:27.526 31768 32509 I TSLocationManager: ℹ️ Location availability: false 10-01 08:46:27.526 31768 32509 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:46:27.778 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:46:27.778 31768 31768 D TSLocationManager: � LocationRequestService destroyed 10-01 08:46:28.119 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:46:28.119 31768 31768 D TSLocationManager: � LocationRequestService [eventCount: 1] 10-01 08:46:28.121 31768 32508 I TSLocationManager: [c.t.l.s.LocationRequestService b] 10-01 08:46:28.121 31768 32508 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:46:28.121 31768 32508 I TSLocationManager: ║ motionchange LocationResult: 3 10-01 08:46:28.121 31768 32508 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:46:28.121 31768 32508 I TSLocationManager: ╟─ � Location[fused 3.422007,-76.533123 hAcc=5 et=+4d23h47m44s773ms alt=981.439607365164 vel=0.0031914434 bear=8.021126 vAcc=3 sAcc=0 bAcc=??? {Bundle[mParcelledData.dataSize=52] }], age: 596ms, time: 1633095987524 10-01 08:46:28.122 31768 32508 I TSLocationManager: [c.t.l.l.TSLocationManager onSingleLocationResult] 10-01 08:46:28.122 31768 32508 I TSLocationManager: � Acquired motionchange position, isMoving: false 10-01 08:46:28.122 31768 32508 D TSLocationManager: [c.t.l.l.TSLocationManager calculateMedianAccuracy] Median accuracy: 18.417 10-01 08:46:28.131 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:46:28.141 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:46:28.141 31768 31768 D TSLocationManager: � LocationRequestService destroyed 10-01 08:46:28.154 31768 32508 D TSLocationManager: [c.t.l.s.LocationRequestService b] SingleLocationRequest 3 isFinished? true 10-01 08:46:28.154 31768 31768 I TSLocationManager: [c.t.l.s.ActivityRecognitionService b] 10-01 08:46:28.154 31768 31768 I TSLocationManager: � Start motion-activity updates 10-01 08:46:28.155 31768 32510 I TSLocationManager: [c.t.l.data.sqlite.b persist] 10-01 08:46:28.155 31768 32510 I TSLocationManager: ✅ INSERT: d1b32cbb-d54a-4e9c-9144-9d2edf4b6968 10-01 08:46:28.155 31768 32508 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish LocationRequestService [eventCount: 0, sticky: false] 10-01 08:46:28.155 31768 31768 D TSLocationManager: [c.t.l.g.TSGeofenceManager startMonitoringStationaryRegion] 10-01 08:46:28.155 31768 31768 D TSLocationManager: � Start monitoring stationary region (radius: 150.0m 3.4220067,-76.5331232 hAcc=5.267) 10-01 08:46:28.161 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:46:28.161 31768 31768 D TSLocationManager: � TrackingService [eventCount: 1] 10-01 08:46:28.162 31768 31768 I TSLocationManager: [c.t.l.service.TrackingService h] 10-01 08:46:28.162 31768 31768 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:46:28.162 31768 31768 I TSLocationManager: ║ TrackingService motionchange: false 10-01 08:46:28.162 31768 31768 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:46:28.163 31768 31768 I TSLocationManager: [c.t.l.s.TSScheduleManager cancelOneShot] 10-01 08:46:28.163 31768 31768 I TSLocationManager: ⏰ Cancel OneShot: STOP_TIMEOUT 10-01 08:46:28.166 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish TrackingService [eventCount: 0, sticky: false] 10-01 08:46:28.425 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:46:28.425 31768 31768 D TSLocationManager: � TrackingService destroyed 10-01 08:56:34.809 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:56:34.809 31768 31768 D TSLocationManager: � ActivityRecognitionService [eventCount: 1] 10-01 08:56:34.811 31768 1027 D TSLocationManager: [c.t.l.s.ActivityRecognitionService a] 10-01 08:56:34.811 31768 1027 D TSLocationManager: � ️DetectedActivity [type=STILL, confidence=58] 10-01 08:56:34.813 31768 1027 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false] 10-01 08:56:34.832 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService a] 10-01 08:56:34.832 31768 31768 D TSLocationManager: � ActivityRecognitionService [eventCount: 1] 10-01 08:56:34.833 31768 1029 I TSLocationManager: [c.t.l.s.ActivityRecognitionService a] 10-01 08:56:34.833 31768 1029 I TSLocationManager: ╔═════════════════════════════════════════════ 10-01 08:56:34.833 31768 1029 I TSLocationManager: ║ Motion Transition Result 10-01 08:56:34.833 31768 1029 I TSLocationManager: ╠═════════════════════════════════════════════ 10-01 08:56:34.833 31768 1029 I TSLocationManager: ╟─ � ENTER: still 10-01 08:56:34.833 31768 1029 I TSLocationManager: ╚═════════════════════════════════════════════ 10-01 08:56:34.833 31768 1029 D TSLocationManager: [c.t.l.service.AbstractService a] ⚙️︎ finish ActivityRecognitionService [eventCount: 0, sticky: false] 10-01 08:56:35.087 31768 31768 D TSLocationManager: [c.t.l.service.AbstractService onDestroy] 10-01 08:56:35.087 31768 31768 D TSLocationManager: � ActivityRecognitionService destroyed ```
christocracy commented 2 years ago

stopOnTerminate: true,

The plugin is able to continue tracking after terminate if you set that to false

The plugin isn't responsible for your app "closing". That would be the OS doing that. The OS can and will terminate apps when under memory pressure. There's nothing the plugin can do for you here.

gcivicodev commented 2 years ago

If the plugin continue tracking after terminate, the http connection with post data still working?

christocracy commented 2 years ago

url: 'my api url'

Yes, of course.

gcivicodev commented 2 years ago

Thanks @christocracy . I have some ideas now...