transistorsoft / flutter_background_geolocation

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

Geofencing Actions stopped working after three days #1317

Open opadasaeed opened 1 week ago

opadasaeed commented 1 week ago

Your Environment

Expected Behavior

Actual Behavior

Steps to Reproduce

  1. select one location for geofence
  2. add geofence
  3. start listening on geofeces actions

Context

Debug logs

Logs ``` ╔═════════════════════════════════════════════ ║ Geofencing Event: EXIT ╠═════════════════════════════════════════════ ╟─ Branch_ID:6 ╚═════════════════════════════════════════════ 06-06 17:55:54.653 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask location] 06-06 17:55:54.657 INFO [SQLiteLocationDAO persist] ✅ INSERT: 3a098af6-0381-48ed-9a77-5c38e3f17670 06-06 17:55:54.659 DEBUG [AbstractService a] ⚙️︎ FINISH [GeofencingService startId: 1, eventCount: 0, sticky: false] 06-06 17:55:54.662 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask geofence] 06-06 17:55:54.862 DEBUG [AbstractService f] ⚙️︎ GeofencingService.stopSelfResult(1): true 06-06 17:55:54.871 DEBUG [AbstractService onDestroy] 🔴 GeofencingService stopped 06-06 18:23:29.497 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:23:29.514 DEBUG [LifecycleManager onStart] ☯️ onStart 06-06 18:23:29.520 DEBUG [LifecycleManager onResume] ☯️ onResume 06-06 18:23:29.598 DEBUG [TSConfig e] ℹ️ Persist config, dirty: [backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, desiredAccuracy, enableHeadless, headlessJobService, logLevel, logMaxDays, stopOnTerminate] 06-06 18:23:29.601 DEBUG [LocationAuthorization withBackgroundPermission] ℹ️ LocationAuthorization: Permission granted 06-06 18:23:29.602 DEBUG [StreamHandler onListen] geofence 06-06 18:23:29.603 DEBUG [StreamHandler onListen] providerchange 06-06 18:23:29.605 DEBUG [HttpService startMonitoringConnectivityChanges] 🎾 Start monitoring connectivity changes 06-06 18:23:29.605 DEBUG [DeviceSettings startMonitoringPowerSaveChanges] 🎾 Start monitoring powersave changes 06-06 18:23:29.606 INFO [HeartbeatService stop] 🔴 Stop heartbeat 06-06 18:23:29.652 INFO [TSLocationManager a] ╔═════════════════════════════════════════════ ║ motionchange LocationResult: 6 (18863ms old) ╠═════════════════════════════════════════════ ╟─ 📍 Location[fused 31.211891,29.915722 hAcc=7.931 et=+1d22h17m52s589ms alt=24.399999618530273 vAcc=17.448717 vel=0.2 sAcc=0.759276 bear=276.0 bAcc=56.7319], time: 1717687390788 06-06 18:23:29.654 INFO [TSLocationManager onSingleLocationResult] 🔵 Acquired motionchange position, isMoving: false 06-06 18:23:29.655 DEBUG [TSLocationManager a] Median accuracy: 13.136 06-06 18:23:29.835 DEBUG [TSLocationManagerActivity a] locationsettings 06-06 18:23:29.850 DEBUG [TSLocationManagerActivity c] eventCount: 0 06-06 18:23:29.884 DEBUG [TSLocationManagerActivity onDestroy] 06-06 18:23:51.651 INFO [TSScheduleManager oneShot] ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: location 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: motionchange 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: activitychange 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: geofence 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: heartbeat 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: http 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: schedule 06-06 18:23:51.660 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: connectivitychange 06-06 18:23:51.661 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: enabledchange 06-06 18:23:51.661 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: providerchange ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-06 18:23:51.663 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:23:51.664 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: true 06-06 18:23:51.980 DEBUG [LifecycleManager onPause] ☯️ onPause 06-06 18:23:51.981 DEBUG [LifecycleManager onStop] ☯️ onStop 06-06 18:24:01.664 INFO [ScheduleEvent a] ╔═════════════════════════════════════════════ ║ ⏰ OneShot event fired: TERMINATE_EVENT ╠═════════════════════════════════════════════ 06-06 18:24:10.486 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:24:10.513 DEBUG [LifecycleManager onStart] ☯️ onStart 06-06 18:24:10.515 DEBUG [LifecycleManager onResume] ☯️ onResume 06-06 18:24:10.558 DEBUG [TSConfig e] ℹ️ Persist config, dirty: [backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, desiredAccuracy, enableHeadless, extras, headers, headlessJobService, logLevel, logMaxDays, params, schedule, stopOnTerminate] 06-06 18:24:10.564 DEBUG [StreamHandler onListen] providerchange 06-06 18:24:10.565 DEBUG [HttpService startMonitoringConnectivityChanges] 🎾 Start monitoring connectivity changes 06-06 18:24:10.565 DEBUG [DeviceSettings startMonitoringPowerSaveChanges] 🎾 Start monitoring powersave changes 06-06 18:24:10.565 INFO [HeartbeatService stop] 🔴 Stop heartbeat 06-06 18:24:10.633 INFO [TSLocationManager a] ╔═════════════════════════════════════════════ ║ motionchange LocationResult: 7 (59844ms old) ╠═════════════════════════════════════════════ ╟─ 📍 Location[fused 31.211891,29.915722 hAcc=7.931 et=+1d22h17m52s589ms alt=24.399999618530273 vAcc=17.448717 vel=0.2 sAcc=0.759276 bear=276.0 bAcc=56.7319], time: 1717687390788 🎾 1:7 [LocationRequestService startId: 2, eventCount: 1] 06-06 18:24:11.601 INFO [TSLocationManager a] ╔═════════════════════════════════════════════ ║ motionchange LocationResult: 7 (537ms old) ╠═════════════════════════════════════════════ ╟─ 📍 Location[fused 31.211906,29.915677 hAcc=5.294 et=+1d22h18m52s864ms alt=19.19999885559082 vAcc=3.9651368 vel=0.0 sAcc=0.29], time: 1717687451063 06-06 18:24:11.602 INFO [TSLocationManager onSingleLocationResult] 🔵 Acquired motionchange position, isMoving: false 06-06 18:24:11.602 DEBUG [TSLocationManager a] Median accuracy: 13.065 06-06 18:24:24.521 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: heartbeat 06-06 18:24:24.521 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: http 06-06 18:24:24.521 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: schedule 06-06 18:24:24.521 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: connectivitychange 06-06 18:24:24.521 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: enabledchange 06-06 18:24:24.521 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: providerchange 06-06 18:24:24.522 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: powersavechange 06-06 18:24:24.522 DEBUG [BackgroundGeolocation removeListener] ✅ removeListener event: notificationaction 06-06 18:24:24.522 DEBUG [LifecycleManager setHeadless] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-06 18:24:24.522 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:24:24.522 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: true 06-06 18:24:24.847 DEBUG [LifecycleManager onPause] ☯️ onPause 06-06 18:24:24.848 DEBUG [LifecycleManager onStop] ☯️ onStop 06-06 18:24:34.524 INFO [ScheduleEvent a] ╔═════════════════════════════════════════════ ║ ⏰ OneShot event fired: TERMINATE_EVENT ╠═════════════════════════════════════════════ 06-06 18:24:34.525 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask terminate] 06-06 18:25:08.084 DEBUG [StreamHandler onListen] providerchange 06-06 18:25:08.086 DEBUG [HttpService startMonitoringConnectivityChanges] 🎾 Start monitoring connectivity changes 06-06 18:25:08.086 DEBUG [DeviceSettings startMonitoringPowerSaveChanges] 🎾 Start monitoring powersave changes 06-06 18:25:08.086 INFO [HeartbeatService stop] 🔴 Stop heartbeat 06-06 18:25:08.139 INFO [TSLocationManager a] ╔═════════════════════════════════════════════ ║ motionchange LocationResult: 8 (56310ms old) ╠═════════════════════════════════════════════ ╟─ 📍 Location[fused 31.211916,29.915684 hAcc=5.334 et=+1d22h18m53s629ms alt=19.19999885559082 vAcc=3.9727876 vel=0.45395526 sAcc=0.17691806 bear=33.035053 bAcc=45.0], time: 1717687451828 06-06 18:25:08.139 DEBUG [TSLocationManager a] Median accuracy: 12.942 06-06 18:25:08.143 DEBUG [LocationAuthorization withPermission] ℹ️ LocationAuthorization: Permission granted 06-06 18:25:08.168 DEBUG [AbstractService a] 🎾 start [LocationRequestService startId: 1, eventCount: 1] 06-06 18:25:08.169 INFO [SingleLocationRequest startUpdatingLocation] 🔵 [SingleLocationRequest start, action: 1, requestId: 8] 06-06 18:25:08.171 DEBUG [AbstractService a] ⚙️︎ FINISH [LocationRequestService startId: 1, eventCount: 0, sticky: true] 06-06 18:25:08.315 DEBUG [TSLocationManagerActivity a] locationsettings 06-06 18:25:08.326 DEBUG [TSLocationManagerActivity c] eventCount: 0 06-06 18:25:08.357 DEBUG [TSLocationManagerActivity onDestroy] 06-06 18:25:09.765 DEBUG [AbstractService a] 🎾 1:8 [LocationRequestService startId: 2, eventCount: 1] 06-06 18:25:09.766 INFO [TSLocationManager a] ╔═════════════════════════════════════════════ ║ motionchange LocationResult: 8 (1448ms old) ╠═════════════════════════════════════════════ ╟─ 📍 Location[fused 31.211974,29.915698 hAcc=22.306 et=+1d22h19m50s118ms alt=19.19999885559082 vAcc=11.630192], time: 1717687508317 06-06 18:25:09.766 INFO [TSLocationManager onSingleLocationResult] 🔵 Acquired motionchange position, isMoving: false 06-06 18:25:09.767 DEBUG [TSLocationManager a] Median accuracy: 12.942 06-06 18:25:09.768 DEBUG [AbstractService a] ⚙️︎ FINISH [LocationRequestService startId: 2, eventCount: 0, sticky: false] 06-06 18:25:09.772 DEBUG [AbstractService b] 🎾 STOP [LocationRequestService startId: 3, eventCount: 1] 06-06 18:25:09.772 DEBUG [AbstractService a] ⚙️︎ FINISH [LocationRequestService startId: 3, eventCount: 0, sticky: false] 06-06 18:25:09.977 DEBUG [AbstractService f] ⚙️︎ LocationRequestService.stopSelfResult(3): true 06-06 18:25:09.979 DEBUG [AbstractService onDestroy] 🔴 LocationRequestService stopped 06-06 18:25:22.400 INFO [TSScheduleManager oneShot] ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 06-06 18:25:22.407 DEBUG [BackgroundGeolocation removeListener] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-06 18:25:22.412 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:25:22.413 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: true 06-06 18:25:22.793 DEBUG [LifecycleManager onPause] ☯️ onPause 06-06 18:25:22.794 DEBUG [LifecycleManager onStop] ☯️ onStop 06-06 18:25:32.417 INFO [ScheduleEvent a] ╔═════════════════════════════════════════════ ║ ⏰ OneShot event fired: TERMINATE_EVENT ╠═════════════════════════════════════════════ 06-06 18:25:32.419 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask terminate] 06-06 18:27:06.898 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? false ╠═════════════════════════════════════════════ ✅ Google Play Services: connected (version code:12451000) 06-06 18:28:05.967 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": true, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-06 18:28:05.968 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-06 18:28:05.968 DEBUG [LoggerFacade$a a] 🎾 Start monitoring connectivity changes 06-06 18:28:05.984 DEBUG [TSSQLiteAppender$c run] ℹ️ Cleared logs older than 240 hours 06-06 18:28:05.993 INFO [TSProviderManager startMonitoring] 🎾 Start monitoring location-provider changes 06-06 18:28:05.995 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-06 18:28:05.996 DEBUG [LifecycleManager onCreate] ☯️ onCreate 06-06 18:28:05.996 DEBUG [LifecycleManager onStart] ☯️ onStart 06-06 18:28:05.996 DEBUG [LifecycleManager onResume] ☯️ onResume 06-06 18:28:06.013 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:28:06.023 DEBUG [SQLiteLocationDAO prune] ℹ️ PRUNE -1 days 06-06 18:28:06.058 INFO [BootReceiver b] ╔═════════════════════════════════════════════ ║ BootReceiver: arcleap.peoplemate.com ╠═════════════════════════════════════════════ ╟─ android.intent.action.BOOT_COMPLETED 06-06 18:28:06.102 DEBUG [TSConfig e] ℹ️ Persist config, dirty: [backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, desiredAccuracy, enableHeadless, extras, headers, headlessJobService, logLevel, logMaxDays, params, schedule, stopOnTerminate] 06-06 18:28:06.104 DEBUG [LocationAuthorization withBackgroundPermission] ℹ️ LocationAuthorization: Permission granted 06-06 18:28:06.106 DEBUG [StreamHandler onListen] geofence 06-06 18:28:06.106 DEBUG [StreamHandler onListen] providerchange 06-06 18:28:06.108 INFO [TSGeofenceManager start] 🎾 Start monitoring geofences 06-06 18:28:06.112 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-06 18:28:06.113 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-06 18:28:06.113 DEBUG [TSGeofenceManager e] ℹ️ Persist monitored polygons: {} 06-06 18:28:06.131 DEBUG [HttpService startMonitoringConnectivityChanges] 🎾 Start monitoring connectivity changes 06-06 18:28:06.132 DEBUG [DeviceSettings startMonitoringPowerSaveChanges] 🎾 Start monitoring powersave changes 06-06 18:28:06.147 INFO [HeartbeatService stop] 🔴 Stop heartbeat 06-06 18:28:06.297 INFO [TSLocationManager a] ╔═════════════════════════════════════════════ ║ motionchange LocationResult: 1 (16794ms old) ╠═════════════════════════════════════════════ ╟─ 📍 Location[fused 31.211751,29.915814 hAcc=18.474 et=+32s455ms alt=46.9090576171875 vAcc=21.571363 vel=1.19 sAcc=1.4167569 bear=329.0 bAcc=48.03333 {Bundle[{battery_level=0.38, is_charging=false, odometer=0.0}]}], time: 1717687669503 06-06 18:28:06.299 INFO [TSLocationManager onSingleLocationResult] 🔵 Acquired motionchange position, isMoving: false 06-06 18:28:06.299 DEBUG [TSLocationManager a] Median accuracy: 18.474 06-06 18:28:06.356 DEBUG [TSLocationManagerActivity a] locationsettings 06-06 18:28:06.404 DEBUG [TSLocationManagerActivity c] eventCount: 0 06-06 18:28:06.468 DEBUG [TSLocationManagerActivity onDestroy] 06-06 18:28:06.513 DEBUG [TSGeofenceManager$e a] ℹ️ GeofencingClient addGeofences SUCCESS 06-06 18:28:06.513 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [Branch_ID:6] 06-06 18:28:06.513 DEBUG [TSGeofenceManager$e a] ╔═════════════════════════════════════════════ ║ TSGeofenceManager monitoring 1/1 ╠═════════════════════════════════════════════ ╟─ 🎾 Branch_ID:6 ╚═════════════════════════════════════════════ 06-06 18:28:09.063 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/location 06-06 18:28:09.065 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/motionchange 06-06 18:28:09.066 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/activitychange 06-06 18:28:09.066 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/geofenceschange 06-06 18:28:09.066 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/geofence 06-06 18:28:09.067 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/heartbeat 06-06 18:28:09.067 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/http 06-06 18:28:09.068 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/schedule 06-06 18:28:09.068 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/connectivitychange 06-06 18:28:09.068 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/enabledchange 06-06 18:28:09.069 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/providerchange 06-06 18:28:09.069 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/powersavechange 06-06 18:28:09.069 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/notificationaction 06-06 18:28:09.070 DEBUG [StreamHandler register] com.transistorsoft/flutter_background_geolocation/events/authorization 06-06 18:28:16.616 INFO [TSScheduleManager oneShot] ⏰ Scheduled OneShot: TERMINATE_EVENT in 10000ms (jobID: -1708771588) 06-06 18:28:16.634 DEBUG [BackgroundGeolocation removeListener] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-06 18:28:16.656 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:28:16.656 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: true 06-06 18:28:16.814 DEBUG [LifecycleManager onPause] ☯️ onPause 06-06 18:28:16.814 DEBUG [LifecycleManager onStop] ☯️ onStop 06-06 18:28:26.644 INFO [ScheduleEvent a] ╔═════════════════════════════════════════════ ║ ⏰ OneShot event fired: TERMINATE_EVENT ╠═════════════════════════════════════════════ 06-06 18:28:26.653 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask terminate] 06-06 18:28:26.782 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-06 18:28:26.799 DEBUG [HeadlessTask onMethodCall] $ initialized 06-06 20:15:18.944 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? false ╠═════════════════════════════════════════════ 06-06 20:15:18.963 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask connectivitychange] 06-07 00:03:10.594 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:03:10.645 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:03:10.647 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask connectivitychange] 06-07 00:03:10.671 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask connectivitychange] 06-07 00:07:27.581 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": true, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-07 00:07:27.582 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-07 00:07:27.582 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ BootReceiver: arcleap.peoplemate.com ╠═════════════════════════════════════════════ ╟─ android.intent.action.BOOT_COMPLETED 06-07 00:07:27.583 INFO [LoggerFacade$a a] ✅ Google Play Services: connected (version code:12451000) 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] ☯️ onCreate 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] 🎾 Start monitoring connectivity changes 06-07 00:07:27.583 INFO [LoggerFacade$a a] 🎾 Start monitoring location-provider changes 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] 💀 [HeadlessTask connectivitychange] 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] 💀 [HeadlessTask providerchange] 06-07 00:07:27.583 INFO [LoggerFacade$a a] 🎾 Start monitoring geofences 06-07 00:07:27.597 DEBUG [LifecycleManager b] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-07 00:07:27.602 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-07 00:07:27.602 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-07 00:07:27.603 DEBUG [TSGeofenceManager e] ℹ️ Persist monitored polygons: {} 06-07 00:07:27.603 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask enabledchange] 06-07 00:07:27.615 DEBUG [SQLiteLocationDAO prune] ℹ️ PRUNE -1 days 06-07 00:07:27.626 DEBUG [TSSQLiteAppender$c run] ℹ️ Cleared logs older than 240 hours 06-07 00:07:27.985 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-07 00:07:27.985 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-07 00:07:27.986 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-07 00:07:28.075 DEBUG [HeadlessTask onMethodCall] $ initialized 06-07 00:07:31.374 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:56:31.655 DEBUG [LifecycleManager setHeadless] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-07 00:56:31.655 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-07 00:56:31.656 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: false 06-07 00:56:31.982 DEBUG [LifecycleManager onPause] ☯️ onPause 06-07 00:56:31.983 DEBUG [LifecycleManager onStop] ☯️ onStop 06-07 13:39:57.705 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/location 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/motionchange 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/activitychange 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/geofenceschange 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/geofence 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/heartbeat 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/http 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/schedule 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/connectivitychange 06-07 13:39:57.706 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/enabledchange 06-07 13:39:57.707 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/providerchange 06-07 13:39:57.707 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/powersavechange 06-07 13:39:57.707 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/notificationaction 06-07 13:39:57.707 DEBUG [LoggerFacade$a a] com.transistorsoft/flutter_background_geolocation/events/authorization 06-07 13:39:57.707 INFO [LoggerFacade$a a] ✅ Google Play Services: connected (version code:12451000) 06-07 13:39:57.707 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": false, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-07 13:39:57.707 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-07 13:39:57.707 INFO [LoggerFacade$a a] 🎾 Start monitoring location-provider changes 06-07 13:39:57.707 DEBUG [LoggerFacade$a a] 🔴 Cleared callbacks 06-07 13:39:57.707 DEBUG [SQLiteLocationDAO prune] ℹ️ PRUNE -1 days 06-07 13:39:57.712 DEBUG [TSSQLiteAppender$c run] ℹ️ Cleared logs older than 240 hours 06-07 13:39:57.714 DEBUG [LifecycleManager onCreate] ☯️ onCreate 06-07 13:39:57.715 DEBUG [LifecycleManager onStart] ☯️ onStart 06-07 13:39:57.715 DEBUG [LifecycleManager onResume] ☯️ onResume 06-07 13:39:57.867 DEBUG [TSConfig e] ℹ️ Persist config, dirty: [backgroundPermissionRationale, backgroundPermissionRationale.title, backgroundPermissionRationale.message, desiredAccuracy, enableHeadless, headlessJobService, logLevel, logMaxDays, stopOnTerminate] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-07 13:42:32.387 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-07 13:42:32.388 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: false 06-07 13:42:32.700 DEBUG [LifecycleManager onPause] ☯️ onPause 06-07 13:42:32.700 DEBUG [LifecycleManager onStop] ☯️ onStop 06-07 18:03:33.254 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": false, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-07 18:03:33.265 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-07 18:03:33.266 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ BootReceiver: arcleap.peoplemate.com ╠═════════════════════════════════════════════ ╟─ android.intent.action.BOOT_COMPLETED 06-07 18:03:33.266 INFO [LoggerFacade$a a] ✅ Google Play Services: connected (version code:12451000) 06-07 18:03:33.266 DEBUG [LoggerFacade$a a] ☯️ onCreate 06-07 18:03:33.272 INFO [TSProviderManager startMonitoring] 🎾 Start monitoring location-provider changes 06-07 18:03:33.279 DEBUG [TSSQLiteAppender$c run] ℹ️ Cleared logs older than 240 hours 06-07 18:03:33.289 DEBUG [SQLiteLocationDAO prune] ℹ️ PRUNE -1 days 06-07 18:03:33.297 DEBUG [LifecycleManager b] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-07 18:03:33.329 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-08 18:20:41.164 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": false, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-08 18:20:41.164 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-08 18:20:41.164 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ BootReceiver: arcleap.peoplemate.com ╠═════════════════════════════════════════════ ╟─ android.intent.action.BOOT_COMPLETED 06-08 18:20:41.165 DEBUG [LoggerFacade$a a] ☯️ onCreate 06-08 18:20:41.165 INFO [LoggerFacade$a a] ✅ Google Play Services: connected (version code:12451000) 06-08 18:20:41.165 INFO [LoggerFacade$a a] 🎾 Start monitoring location-provider changes 06-08 18:20:41.165 DEBUG [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-08 18:20:41.193 DEBUG [TSSQLiteAppender$c run] ℹ️ Cleared logs older than 240 hours 06-08 18:20:41.197 DEBUG [SQLiteLocationDAO prune] ℹ️ PRUNE -1 days ✅ Google Play Services: connected (version code:12451000) 06-08 20:06:43.710 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": false, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-08 20:06:43.710 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-08 20:06:43.710 DEBUG [LoggerFacade$a a] 🔴 Cleared callbacks 06-08 20:06:43.710 INFO [LoggerFacade$a a] 🎾 Start monitoring location-provider changes 06-08 20:06:43.710 DEBUG [LoggerFacade$a a] ℹ️ PRUNE -1 days 06-08 20:06:43.716 DEBUG [TSSQLiteAppender$c run] 06-08 20:12:37.957 DEBUG [LifecycleManager setHeadless] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-08 20:12:37.957 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-08 20:12:37.959 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: false 06-08 20:12:38.242 DEBUG [LifecycleManager onPause] ☯️ onPause 06-08 20:12:38.243 DEBUG [LifecycleManager onStop] ☯️ onStop ```
christocracy commented 1 week ago

I test geofences every day for more than 5 years on a number of devices that I carry around in my backpack and they don’t fail after 3 days.

is there some particular log entries you’re concerned with?

opadasaeed commented 1 week ago

I just want to know why the service stopped working ? what is the issue make service disabled ?

christocracy commented 1 week ago

Post the logs where you see a service stopped.

christocracy commented 1 week ago

You just reposted a massive amount of logs from your initial post (which I just deleted)

what specific few lines are you concerned about

opadasaeed commented 1 week ago

06-08 20:12:37.957 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-08 20:12:37.959 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: false

christocracy commented 1 week ago

This is not a “service” stopping. This is your app’s MainActivity being terminated (where your UI lives) either by the user or the OS for some unknown reason.

the plug-in’s foreground services are able to continue happily operating while your app is terminated (ie stopOnTerminate: false)

Btw, that’s a really odd place to call .removeListeners, right before you add new ones. Why would you do that? You realize that the plug-in’s methods are asynchronous, right? There’s no guarantee how long it will take for .removeListeners to execute. What happens if .removeListeners finishes executing only after your registration of new listeners? You’ll have no listeners.

opadasaeed commented 1 week ago

I remove listeners to avoid duplicate records of the same geofencing event in my database

opadasaeed commented 1 week ago

you mean this is the reason of "enabled: false" that is no listeners found for geofences

christocracy commented 1 week ago

Maybe you should figure out why you’re registering listeners twice instead. Hot reload during development is not something that happens in production. .ready(config) is designed to be called ONLY once for each launch of your app.

christocracy commented 1 week ago

you mean this is the reason of "enabled: false" that is no listeners found for geofences

No, that is not the reason. The plug-in operates regardless of listeners. The plug-in doesn’t care if you register listeners or not.

Calling .start() -> enabled: true Calling .stop() -> enabled: true

.start() / .stop() is like the power button on any electronic device. State.enabled is like the power LED (ON/OFF)

opadasaeed commented 1 week ago

Does Geofence always need an Internet connection? Is it possible that the reason for its stopping is that this device has not been connected to the Internet for a long period?

christocracy commented 1 week ago

Does Geofence always need an Internet connection?

My test Android devices have no SIM card (ie no internet connection). This doesn’t affect firing geofences every day. Wifi does need to be enabled.

are you testing on a real device outside with real movement?

See wiki Debugging, enable debug: true so you can hear debug sound FX.

Also see https://dontkillmyapp.com

christocracy commented 1 week ago

enabled: false

When you see that in your logs, the plug-in will not monitor anything until you call .start()

opadasaeed commented 1 week ago

so what is the reason make enabled : false Although I did not stop the service

christocracy commented 1 week ago

You either called .stop or you don’t call .start(). Simple as that. There is no other way.

I suggest you install the /example app in this repo on your device. Use the “Advanced app”. Long-press on map to add geofences.

the toggle button on top toolbar executes .start() / .stop(), just like any electronic device. Once .start() is called the plug-in is enabled FOREVER until you call .stop().

opadasaeed commented 1 week ago

you can see here i didn't stop the service and enabled was true Then it became false

06-06 18:28:16.656 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-06 18:28:16.656 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: true 06-06 18:28:16.814 DEBUG [LifecycleManager onPause] ☯️ onPause 06-06 18:28:16.814 DEBUG [LifecycleManager onStop] ☯️ onStop 06-06 18:28:26.644 INFO [ScheduleEvent a] ╔═════════════════════════════════════════════ ║ ⏰ OneShot event fired: TERMINATE_EVENT ╠═════════════════════════════════════════════ 06-06 18:28:26.653 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask terminate] 06-06 18:28:26.782 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-06 18:28:26.799 DEBUG [HeadlessTask onMethodCall] $ initialized 06-06 20:15:18.944 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? false ╠═════════════════════════════════════════════ 06-06 20:15:18.963 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask connectivitychange] 06-07 00:03:10.594 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:03:10.645 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:03:10.647 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask connectivitychange] 06-07 00:03:10.671 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask connectivitychange] 06-07 00:07:27.581 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ TSLocationManager version: 3.5.4 (433) ╠═════════════════════════════════════════════ ╟─ samsung SM-A528B @ 14 (flutter) { "activityRecognitionInterval": 10000, "allowIdenticalLocations": false, "authorization": {}, "autoSync": true, "autoSyncThreshold": 0, "backgroundPermissionRationale": { "title": "Allow We Attend to access to this device's location in the background?", "message": "This app need location for \n 1-Geofencing Notifications: Our app utilizes geofencing technology to send notifications to users based on their proximity to specific locations or job sites.\n 2-Safety and Emergency Response: Faster detection In emergency situations\n 3-Asset Tracking: Apart from employee tracking, our app also allows businesses to monitor the movement and location of valuable assets, equipment, or vehicles.by geofencing work locations enter and exit events.", "positiveAction": "Change to \"{backgroundPermissionOptionLabel}\"", "negativeAction": "" }, "batchSync": false, "configUrl": "", "debug": false, "deferTime": 0, "desiredAccuracy": -1, "desiredOdometerAccuracy": 100, "disableAutoSyncOnCellular": false, "disableElasticity": false, "disableLocationAuthorizationAlert": false, "disableMotionActivityUpdates": false, "disableProviderChangeRecord": false, "disableStopDetection": false, "distanceFilter": 10, "elasticityMultiplier": 1, "enableHeadless": true, "enableTimestampMeta": false, "extras": {}, "fastestLocationUpdateInterval": -1, "foregroundService": true, "geofenceInitialTriggerEntry": true, "geofenceModeHighAccuracy": false, "geofenceProximityRadius": 1000, "geofenceTemplate": "", "headers": {}, "headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask", "heartbeatInterval": -1, "httpRootProperty": "location", "httpTimeout": 60000, "isMoving": false, "locationAuthorizationRequest": "Always", "locationTemplate": "", "locationTimeout": 60, "locationUpdateInterval": 1000, "locationsOrderDirection": "ASC", "logLevel": 5, "logMaxDays": 10, "maxBatchSize": -1, "maxDaysToPersist": 1, "maxMonitoredGeofences": 97, "maxRecordsToPersist": -1, "method": "POST", "minimumActivityRecognitionConfidence": 75, "motionTriggerDelay": 0, "notification": { "layout": "", "title": "", "text": "Location Service activated", "color": "", "channelName": "TSLocationManager", "channelId": "", "smallIcon": "", "largeIcon": "", "priority": -1, "sticky": false, "strings": {}, "actions": [] }, "params": {}, "persist": true, "persistMode": 2, "schedule": [], "scheduleUseAlarmManager": false, "speedJumpFilter": 300, "startOnBoot": false, "stationaryRadius": 25, "stopAfterElapsedMinutes": 0, "stopOnStationary": false, "stopOnTerminate": false, "stopTimeout": 5, "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking", "url": "", "useSignificantChangesOnly": false, "enabled": true, "schedulerEnabled": false, "trackingMode": 0, "odometer": 0, "isFirstBoot": false, "didLaunchInBackground": false, "didDeviceReboot": false } 06-07 00:07:27.582 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ DEVICE SENSORS ╠═════════════════════════════════════════════ ╟─ ✅ ACCELEROMETER: {Sensor name="lsm6dso Accelerometer Non-wakeup", vendor="STMicro", version=15932, type=1, maxRange=78.4532, resolution=0.0023928226, power=0.17, minDelay=5000} ╟─ ✅ GYROSCOPE: {Sensor name="lsm6dso Gyroscope Non-wakeup", vendor="STMicro", version=15932, type=4, maxRange=17.453018, resolution=6.108648E-4, power=0.55, minDelay=5000} ╟─ ✅ MAGNETOMETER: {Sensor name="ak0991x Magnetometer Non-wakeup", vendor="akm", version=10077, type=2, maxRange=4912.0503, resolution=0.15, power=1.1, minDelay=10000} ╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="smd Wakeup", vendor="Samsung", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1} ╚═════════════════════════════════════════════ 06-07 00:07:27.582 INFO [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ BootReceiver: arcleap.peoplemate.com ╠═════════════════════════════════════════════ ╟─ android.intent.action.BOOT_COMPLETED 06-07 00:07:27.583 INFO [LoggerFacade$a a] ✅ Google Play Services: connected (version code:12451000) 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] ☯️ onCreate 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] 🎾 Start monitoring connectivity changes 06-07 00:07:27.583 INFO [LoggerFacade$a a] 🎾 Start monitoring location-provider changes 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] 💀 [HeadlessTask connectivitychange] 06-07 00:07:27.583 DEBUG [LoggerFacade$a a] 💀 [HeadlessTask providerchange] 06-07 00:07:27.583 INFO [LoggerFacade$a a] 🎾 Start monitoring geofences 06-07 00:07:27.597 DEBUG [LifecycleManager b] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-07 00:07:27.602 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-07 00:07:27.602 DEBUG [TSGeofenceManager d] ℹ️ Persist monitored geofences: [] 06-07 00:07:27.603 DEBUG [TSGeofenceManager e] ℹ️ Persist monitored polygons: {} 06-07 00:07:27.603 DEBUG [HeadlessTask onHeadlessEvent] 💀 [HeadlessTask enabledchange] 06-07 00:07:27.615 DEBUG [SQLiteLocationDAO prune] ℹ️ PRUNE -1 days 06-07 00:07:27.626 DEBUG [TSSQLiteAppender$c run] ℹ️ Cleared logs older than 240 hours 06-07 00:07:27.985 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-07 00:07:27.985 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-07 00:07:27.986 DEBUG [HeadlessTask dispatch] [HeadlessTask] waiting for client to initialize 06-07 00:07:28.075 DEBUG [HeadlessTask onMethodCall] $ initialized 06-07 00:07:31.374 DEBUG [HttpService a] ╔═════════════════════════════════════════════ ║ 📶 Connectivity change: connected? true ╠═════════════════════════════════════════════ 06-07 00:56:31.655 DEBUG [LifecycleManager setHeadless] ╔═════════════════════════════════════════════ ║ ☯️ HeadlessMode? true ╠═════════════════════════════════════════════ 06-07 00:56:31.655 DEBUG [BackgroundGeolocation a] 🔴 Cleared callbacks 06-07 00:56:31.656 INFO [BackgroundGeolocation e] ╔═════════════════════════════════════════════ ║ MainActivity was destroyed ╠═════════════════════════════════════════════ ╟─ stopOnTerminate: false ╟─ enabled: false
christocracy commented 1 week ago

android.intent.action.BOOT_COMPLETED

You rebooted your device. See API docs “startOnBoot”.

opadasaeed commented 1 week ago

you mean make startOnBoot: true will fix my issue

christocracy commented 1 week ago

I have no idea what exactly you’re doing with that mess of logs you keep spamming this issue thread with. Why don’t you try it and see??

opadasaeed commented 1 week ago

ok thanks i will try it

christocracy commented 1 week ago

And learn to use the GitHub <details> tag for posting long logs. It’s annoying for people to scroll through.

christocracy commented 1 week ago

And read the api docs. They are searchable and comprehensive, honed over 10 years.

opadasaeed commented 1 week ago

Thanks for your advice will do that