transistorsoft/flutter_background_geolocation

High background use reported on battery screen in iOS settings

Closed this issue · 8 comments

Your Environment

  • Plugin version: 4.15.4
  • Platform: iOS
  • OS version: 17.6
  • Device manufacturer / model: iPhone 13 Pro (physical)
  • Flutter info (flutter doctor):
[✓] Flutter (Channel stable, 3.22.2, on macOS 14.5 23F79 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc2)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.1.4)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.2)
[✓] VS Code (version 1.92.1)
[✓] Connected device (5 available)
[✓] Network resources

• No issues found!
  • Plugin config:
// Both of the below behave the same
return bg.Config(transistorAuthorizationToken: token);

// And this one
return bg.Config(
      transistorAuthorizationToken: token,
      showsBackgroundLocationIndicator: false,
      disableStopDetection: false,
      stopOnTerminate: true,
      startOnBoot: true,
      stopTimeout: 1,
      stopOnStationary: true,
)

Expected Behavior

The app is not always running in the background. It only runs in the background when moving or for a short bit (1 - 15 minutes, based on config) after becoming stationary.

Actual Behavior

The iOS battery page in settings is indicating my app is always running in the background. When observing the logs in xcode, I see these logs coming from my app every time the device is moved a little.

║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0

Steps to Reproduce

  1. Launched the app at 9:50pm and was stationary
  2. Immediately backgrounded it and turn off the display
  3. Wait 40 minutes and periodically touch the device / check battery in settings, but still be in one spot

Context

Trying to optimize battery. I've tried a few different configs (I included another one that yielded similar results above). I've tried simulator, physical device, different configs, plugged in, not plugged in. They've all been similar.

I'm assuming I'm doing something wrong but even with the empty config I can't get my app to not be constantly running in the background. Any help greatly appreciated.

image

Debug logs

Logs
[TSBackgroundFetch load]: (
)
[TSBGAppRefreshSubscriber load]: {
    TSLocationManager = "<TSBGAppRefreshSubscriber identifier=TSLocationManager, executed=0, enabled=1>";
    "flutter_background_fetch" = "<TSBGAppRefreshSubscriber identifier=flutter_background_fetch, executed=0, enabled=1>";
}
10.27.0 - [FirebaseCore][I-COR000005] No app has been configured yet.
10.27.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
10.27.0 - [FirebaseAnalytics][I-ACS023007] Analytics v.10.27.0 started
10.27.0 - [FirebaseAnalytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
10.27.0 - [FirebaseAnalytics][I-ACS044003] GoogleAppMeasurementIdentitySupport dependency is not currently linked. IDFA will not be accessible.
flutter: The Dart VM service is listening on http://127.0.0.1:61890/SFLCdGFGrZA=/
ℹ️-[TSDBLogger db_delete] maxAge: 259200
ℹ️-[TSLocationManager init] 
╔═════════════════════════════════════════════
║ TSLocationManager (build 388)
╠══════════════════════════════════════════════
{
    activityRecognitionInterval = 10000;
    activityType = 1;
    authorization =     {
        accessToken = "eyJhb<redacted>";
        expires = "-1";
        refreshHeaders =         {
        };
        refreshPayload =         {
            "refresh_token" = "{refreshToken}";
        };
        refreshToken = "74e8f<redacted>";
        refreshUrl = "https://background-geolocation-debug.herokuapp.com/api/refresh_token";
        strategy = jwt;
    };
    autoSync = 1;
    autoSyncThreshold = 0;
    batchSync = 0;
    debug = 1;
    desiredAccuracy = "-1";
    desiredOdometerAccuracy = 100;
    didDeviceReboot = 0;
    didLaunchInBackground = 0;
    didRequestUpgradeLocationAuthorization = 1;
    disableAutoSyncOnCellular = 0;
    disableElasticity = 0;
    disableLocationAuthorizationAlert = 1;
    disableMotionActivityUpdates = 0;
    disableStopDetection = 0;
    distanceFilter = 10;
    elasticityMultiplier = 1;
    enableTimestampMeta = 0;
    enabled = 1;
    extras =     {
    };
    geofenceInitialTriggerEntry = 1;
    geofenceProximityRadius = 2000;
    geofenceTemplate = "";
    headers =     {
    };
    heartbeatInterval = 60;
    httpRootProperty = location;
    httpTimeout = 60000;
    iOSHasWarnedLocationServicesOff = 0;
    isFirstBoot = 0;
    isMoving = 0;
    lastLocationAuthorizationStatus = 3;
    locationAuthorizationAlert =     {
        cancelButton = ".";
        instructions = "Just like \U2728magic\U2728, we automatically know when you're hanging. But for that to work, Ping needs your location.\n\nNo location = no points or rewards when the app is closed";
        settingsButton = "\U2705 Turn on \U2705";
        titleWhenNotEnabled = "Ping Needs 'Always' Location";
        titleWhenOff = "Ping Needs 'Always' Location";
    };
    locationAuthorizationRequest = Always;
    locationTemplate = "";
    locationTimeout = 60;
    locationsOrderDirection = ASC;
    logLevel = 5;
    logMaxDays = 3;
    maxBatchSize = "-1";
    maxDaysToPersist = 1;
    maxRecordsToPersist = "-1";
    method = POST;
    minimumActivityRecognitionConfidence = 70;
    odometer = "18330.46339107035";
    params =     {
    };
    pausesLocationUpdatesAutomatically = 1;
    persistMode = 2;
    preventSuspend = 0;
    schedule =     (
    );
    schedulerEnabled = 0;
    showsBackgroundLocationIndicator = 0;
    startOnBoot = 1;
    stationaryRadius = 25;
    stopAfterElapsedMinutes = "-1";
    stopDetectionDelay = 0;
    stopOnStationary = 1;
    stopOnTerminate = 1;
    stopTimeout = 1;
    trackingMode = 1;
    url = "https://background-geolocation-debug.herokuapp.com/api/locations";
    useSignificantChangesOnly = 0;
}
ℹ️-[GeofenceDAO init] CREATE TABLE IF NOT EXISTS geofences (id INTEGER PRIMARY KEY AUTOINCREMENT, identifier TEXT NOT NULL UNIQUE, latitude DOUBLE NOT NULL, sin_latitude DOUBLE NOT NULL, cos_latitude DOUBLE NOT NULL, longitude DOUBLE NOT NULL, sin_longitude DOUBLE NOT NULL, cos_longitude DOUBLE NOT NULL, radius DOUBLE NOT NULL, notifyOnEntry BOOLEAN NOT NULL DEFAULT 0, notifyOnExit BOOLEAN NOT NULL DEFAULT 0, notifyOnDwell BOOLEAN NOT NULL DEFAULT 0, loiteringDelay DOUBLE NOT NULL DEFAULT 0, extras TEXT, vertices TEXT)
ℹ️-[GeofenceDAO init] CREATE index IF NOT EXISTS identifier ON geofences (identifier);CREATE index IF NOT EXISTS latitude ON geofences (latitude);CREATE index IF NOT EXISTS longitude ON geofences (longitude);CREATE index IF NOT EXISTS sin_latitude ON geofences (sin_latitude);CREATE index IF NOT EXISTS cos_latitude ON geofences (cos_latitude);CREATE index IF NOT EXISTS sin_longitude ON geofences (sin_longitude);CREATE index IF NOT EXISTS cos_longitude ON geofences (cos_longitude);
10.27.0 - [FirebaseAnalytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
Couldn't read values in CFPrefsPlistSource<0x301a16a30> (Domain: group.ping.liveactivities, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
🔵-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3
🔵-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
🔵-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3
🔵-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
🔵-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3
🔵-[LocationManager locationManager:didChangeAuthorizationStatus:] 3
ℹ️+[LocationAuthorization run:onCancel:] status: 3
10.27.0 - [FirebaseAnalytics][I-ACS023012] Analytics collection enabled
10.27.0 - [FirebaseAnalytics][I-ACS023220] Analytics screen reporting is enabled. Call Analytics.logEvent(AnalyticsEventScreenView, parameters: [...]) to log a screen view event. To disable automatic screen reporting, set the flag FirebaseAutomaticScreenReportingEnabled to NO (boolean) in the Info.plist
10.27.0 - [FirebasePerformance][I-PRF300003] URL length outside limits, returning nil.
nw_path_necp_check_for_updates Failed to copy updated result (22)
10.27.0 - [FirebasePerformance][I-PRF300003] URL length outside limits, returning nil.
flutter: Creating a pool of 1 running isolates
flutter: Isolate #0 started (2231 microseconds)
flutter: spawn() called on 1 isolates(12226 microseconds)
flutter: Avg time to complete starting an isolate is 2231.0 microseconds
🔑 Found cached TransistorAuthorizationToken for host background-geolocation-debug.herokuapp.com
ℹ️-[TSConfig persist]
ℹ️-[TSConfig persist]
🔵-[TSLocationManager ready]
ℹ️-[TSLocationManager doStart:] trackingMode: 1
ℹ️-[TSLocationManager loadLastOdometerLocation] <+40.72656857,-73.95340545> +/- -1.00m (speed -1.00 mps / course -1.00) @ 8/8/24, 9:50:19 PM Eastern Daylight Time
🎾-[TSGeofenceManager start]
🎾-[SOMotionDetector startDetection]
🔵-[TSLocationManager setPace:] 0
🎾-[TSLocationManager startUpdatingLocation] Location-services: ON
ℹ️-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════
✅-[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 1
╚═══════════════════════════════════════════════════════════
ℹ️+[LocationAuthorization run:onCancel:] status: 3
🎾-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON
[TSBackgroundFetch scheduleBGAppRefresh] com.transistorsoft.fetch
ℹ️-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch

📍<+40.72656857,-73.95340545> +/- 8.82m (speed -1.00 mps / course -1.00) @ 8/8/24, 9:50:18 PM Eastern Daylight Time

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 974 ms
╚═══════════════════════════════════════════════════════════
✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+40.72656857,-73.95340545> +/- 8.82m (speed -1.00 mps / course -1.00) @ 8/8/24, 9:50:18 PM Eastern Daylight Time
🔵-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 200
✅-[SOMotionDetector startDetection]_block_invoke Enabled M7 MotionActivity updates
🔴-[TSLocationManager stopUpdatingLocation]
🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 8.8
ℹ️-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>
🎾-[TSLocationManager startMonitoringSignificantLocationChanges]
✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 8CFC123E-2E50-4A3A-A8DD-BBF1B944718F

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════
✅-[BackgroundTaskManager createBackgroundTask] 7
✅-[TSHttpService schedulePost] LOCKED: 8CFC123E-2E50-4A3A-A8DD-BBF1B944718F

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
🔵-[HttpResponse handleResponse] Response: 200
✅-[TSHttpService post:]_block_invoke DESTROY: 8CFC123E-2E50-4A3A-A8DD-BBF1B944718F

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 1
╚═══════════════════════════════════════════════════════════
✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 7 OF (
    7
)
nw_path_necp_check_for_updates Failed to copy updated result (22)
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0
Preloading CNContactViewController

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
🔵-[TSLocationManager onSuspend:] enabled? 1)
ℹ️-[TSDBLogger db_save] Log committed
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_save] Log committed

.... removed about 50 here

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_delete] maxAge: 604800
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════
🔵-[TSLocationManager onResume:] enabled? 1
ℹ️-[LocationDAO purge:] 1
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 1
╚═══════════════════════════════════════════════════════════
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0
🔵-[TSLocationManager onSuspend:] enabled? 1)
ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

...redacted about 40

ℹ️-[TSDBLogger db_save] Log committed

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_delete] maxAge: 604800

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════
🔵-[TSLocationManager onResume:] enabled? 1
ℹ️-[LocationDAO purge:] 1

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 1
╚═══════════════════════════════════════════════════════════
ℹ️-[TSDBLogger db_save] Log committed
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0
Branch InitSession params: Optional(["+is_first_session": 0, "+clicked_branch_link": 0])
🔵-[TSLocationManager onSuspend:] enabled? 1)
ℹ️-[TSDBLogger db_save] Log committed
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 12.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 24.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 36.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 48.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 60.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 72.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 84.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 96.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 108.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 120.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 132.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 144.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 156.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 168.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 180.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 192.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 204.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 216.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 228.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 240.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 251.99999999999997
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 264.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 276.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 288.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 300.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 312.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 324.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 336.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 348.0
Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 360.0

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0
╚═══════════════════════════════════════════════════════════

.....redcated about 100 more

These logs are not from the plug-in.

Received arguments - Latitude: 40.70581730873596, Longitude: -73.93992669126405, Distance: 800.0, Heading: 0.0

Some other component has turned on location-updates, likely your Map component. Are you using MapBox? They’re known to be horrible.

the plug-in is not responsible. Compare performance against the /example app in this repo, which I have running daily for years.

As always, thank you for the quick response!

I'm using https://pub.dev/packages/google_maps_flutter, I'll look into if they're the culprit.

Is it normal to see createMotionTypeChangedHandler even when the app should be "stopped"? Or is that an indication that the app is still running when it should not be?

I only ask so I can more easily validate if the problem is solved. Or if you happen to know of other ways to see if my app process is still running "in the background".

Thank you again

createMotionTypeChangedHandler

Yes, it’s expected when some other component has initiated [CLLocationManager startUpdatingLocation], causing your app to remain completely alive in the background.

you have some other plug-in turning on location-updates. This plug-in is 100% NOT responsible.

Compare performance against the /example app in this repo

I'm seeing a similar behavior on the example BG Geo app. The only config I changed was stopTimeout: 1,

Now let it run for the next few days.

Last 10 days:
IMG_1991

Okay so then to confirm, the behavior I reported earlier is likely coming from flutter_background_geolocation as it is reproducible on the example app? This will save me some time testing other theories - like the background consumption being from Google Maps.

Is there a way to configure the plugin so it doesn't take a few days to reduce its background usage?

I disagree that there is a problem. I think your sample size is too small.

I’ve been running the demo app on my devices for years.