From 3397bb5ed1d413f4376b8ca188b5d7f96ddb66c0 Mon Sep 17 00:00:00 2001 From: Shanmuga Krishnan S M Date: Tue, 4 Aug 2026 14:02:05 +0530 Subject: [PATCH] fix(driver-app): optimize indoor building and stationary location tracking via freshest provider --- .../src/main/java/com/rit/driver/TrackingService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rit-driver-app/app/src/main/java/com/rit/driver/TrackingService.java b/rit-driver-app/app/src/main/java/com/rit/driver/TrackingService.java index 66fc22b..fb50973 100644 --- a/rit-driver-app/app/src/main/java/com/rit/driver/TrackingService.java +++ b/rit-driver-app/app/src/main/java/com/rit/driver/TrackingService.java @@ -107,7 +107,13 @@ public class TrackingService extends Service { try { Location gpsLoc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); Location netLoc = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); - loc = (gpsLoc != null) ? gpsLoc : netLoc; + if (gpsLoc != null && netLoc != null) { + loc = (gpsLoc.getTime() >= netLoc.getTime()) ? gpsLoc : netLoc; + } else if (gpsLoc != null) { + loc = gpsLoc; + } else { + loc = netLoc; + } } catch (SecurityException ignored) {} } @@ -115,7 +121,7 @@ public class TrackingService extends Service { locationListener.onLocationChanged(loc); } else { Intent statusIntent = new Intent(ACTION_LOCATION_BROADCAST); - statusIntent.putExtra(EXTRA_STATUS, "Waiting for initial GPS location fix..."); + statusIntent.putExtra(EXTRA_STATUS, "Waiting for indoor / outdoor GPS fix..."); sendBroadcast(statusIntent); } } catch (Exception e) {