Miles Carsharing(com.driveby.app): app can't find location correctly
- /e/ version:0.20-20211215151800
- Device model(s): FP3+
- Device rooted: no
Summary
Miles Carsharing app shows location correctly on map, but when centering on location and when trying to rent a car, location is wrong
The problem
Steps to reproduce
- Open Miles Mobility App
- Wait for Phone to find your location (icon on map appears at the correct coordinates)
- Tap "center map on me"-button or try to rent a car close to you
What is the current behavior?
- When centering: Map moves to a fixed point a few kilometers away
- When trying to rent: App shows error about being too far away from the car (distance is that to the point the map centers on)
What is the expected correct behavior?
- When centering: Map centers on icon which is correctly displayed
- When trying to rent: Car you are standing next to should unlock
The wrong location does not change, wether I reinstall the app, or open it from a location a few hundred kms away. It is always centered at some fixed point.
Could be related to #4150 (closed) (I am not allowed to add a linked issue) Maybe @geekyneo or @rhunault could determine whether it is similar?
Technical informations
Relevant logs (adb logcat
)
The following log appears after pressing the "center on me" button:
01-16 17:11:38.214 696 732 I LocSvc_GnssInterface: ===> odcpiRequestCb line 536
01-16 17:11:38.225 1585 1604 I GnssLocationProvider: GNSS HAL Requesting location updates from network provider for 10000 millis.
01-16 17:11:38.231 30381 32505 V ULocation: onSetRequest: ProviderRequest[ON interval=+1s0ms] by WorkSource{1000 android, 10194 com.driveby.app}
01-16 17:11:38.231 30381 32505 V ULocation: using autoUpdate=true autoTime=30000
01-16 17:11:38.234 30381 30411 D ULocClient: Set update interval to 30000
01-16 17:11:38.234 30381 30411 D ULocService: setUpdateInterval[com.google.android.gms] interval: 30000
01-16 17:11:38.235 30381 30411 D ULocClient: updateBinding - current: true, refs: 2, reqs: 1, avail: true
01-16 17:11:40.158 8048 9605 D AlertService: Beginning updateAlertNotification
01-16 17:11:40.203 8048 9605 D AlertService: No fired or scheduled alerts
01-16 17:11:40.226 8048 9605 D AlertService: Scheduling next alarm with AlarmScheduler. sEventReminderReceived: null
01-16 17:11:40.246 8048 9605 D AlarmScheduler: Query result count for events starting within 1 week: 9
01-16 17:11:40.267 8048 9605 D AlarmScheduler: Scheduling alarm for EVENT_REMINDER_APP broadcast for event 785 at 1642435901227 (Mo., Jan. 17, 2022 05:11pm)
01-16 17:11:40.324 3231 3231 D NotificationRepository: updateNotification() called with: list = [8]
01-16 17:11:45.161 3555 4570 D IchnaeaBackendService: Replaying location Location[ichnaea 52,414222,13,050258 hAcc=90 et=?!? vAcc=??? sAcc=??? bAcc=???]
01-16 17:11:45.166 30381 30411 D UnifiedLocation: Received no location from org.microg.nlp.backend.ichnaea/.BackendService
01-16 17:11:47.826 1585 1769 D ConnectivityService: maybeHandleNetworkMonitorMessage: 528386
01-16 17:11:47.833 2067 2652 D QCNEJ/WlanStaInfoRelay: Received action: android.net.wifi.RSSI_CHANGED
01-16 17:11:48.217 696 732 I LocSvc_GnssInterface: ===> odcpiRequestCb line 536
01-16 17:11:48.232 1585 1604 I GnssLocationProvider: GNSS HAL Requesting location updates from network provider for 10000 millis.
01-16 17:11:48.238 30381 32505 V ULocation: onSetRequest: ProviderRequest[ON interval=+1s0ms] by WorkSource{1000 android, 10194 com.driveby.app}
01-16 17:11:48.239 30381 32505 V ULocation: using autoUpdate=true autoTime=30000
01-16 17:11:48.242 30381 30414 D ULocClient: Set update interval to 30000
01-16 17:11:48.243 30381 30414 D ULocService: setUpdateInterval[com.google.android.gms] interval: 30000
01-16 17:11:48.243 30381 30414 D ULocClient: updateBinding - current: true, refs: 2, reqs: 1, avail: true
01-16 17:11:50.868 2067 2652 D QCNEJ/WlanStaInfoRelay: Received action: android.net.wifi.RSSI_CHANGED
01-16 17:11:51.901 1585 1688 E LightsService: Light requested not available on this device. 2
01-16 17:11:51.992 7292 7402 I ReactNativeJS: 1066, '---> animateToRegion', { latitude: 52.5155, longitude: 13.4059 }
01-16 17:11:52.469 7292 7402 I ReactNativeJS: 'SETEANDO REGION DESDE EL MAPA', { longitudeDelta: 0.00563497663458179,
01-16 17:11:52.469 7292 7402 I ReactNativeJS: latitudeDelta: 0.005619670334539251,
01-16 17:11:52.469 7292 7402 I ReactNativeJS: longitude: 13.40589999994826,
01-16 17:11:52.469 7292 7402 I ReactNativeJS: latitude: 52.515499955694295,
01-16 17:11:52.469 7292 7402 I ReactNativeJS: zoom: 16 }
01-16 17:11:52.544 7292 7402 I ReactNativeJS: 1177, '---> setting ref'
As you can see, two different sets of coordinates are mentioned:
- 52.414222, 13.050258 as reported by IchnaeaBackendService is my actual location
- 52.5155, 13.4059 are those of the wrong location which is about 26 km from my actual position
The incorrect coordinates are roughly in the middle of Miles' Berlin service area which is displayed as a shape on the map, so I am guessing they are just a fallback for when no location can be found.
Relevant screenshots
Click to expand
My actual location as shown in the Miles app
The error message when trying to rent the car marked with "S" on the previous screenshot
The wrong position located somewhere in the middle of Berlin
Possible fixes