From 4e6d7e95e6bfaf0e3f30bd60e4d299c01dd6cfa9 Mon Sep 17 00:00:00 2001 From: fiatcode Date: Wed, 6 May 2026 07:18:53 +0700 Subject: [PATCH] refactor: simplify buffered location retry logic - Remove immediate flush trigger on network change - Buffered locations now retry on every location send and heartbeat - Heartbeat interval already covers retry needs, no need for extra trigger --- .../dev/fiatcode/tracpulse/service/LocationTrackingService.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/kotlin/dev/fiatcode/tracpulse/service/LocationTrackingService.kt b/android/app/src/main/kotlin/dev/fiatcode/tracpulse/service/LocationTrackingService.kt index b7f690f..8f6dbe3 100644 --- a/android/app/src/main/kotlin/dev/fiatcode/tracpulse/service/LocationTrackingService.kt +++ b/android/app/src/main/kotlin/dev/fiatcode/tracpulse/service/LocationTrackingService.kt @@ -79,7 +79,6 @@ class LocationTrackingService : Service() { connectivityReceiver = ConnectivityReceiver { online -> isNetworkAvailable = online logEvent("NETWORK_CHANGE", "Network: ${if (online) "online" else "offline"}") - if (online) syncBufferedLocations() } val intentFilter = IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION) @@ -389,6 +388,8 @@ class LocationTrackingService : Service() { logEvent("ERROR", "Failed to send location: ${result.exceptionOrNull()?.message}") bufferLocation(location) } + // Also try to flush any buffered locations after each send attempt + syncBufferedLocations() } }