THIS IS A CRITICAL BUG
In a new report, when the user selects a location manually and proceeds to enter additional data, the system resets the selected location to the detected location after a short period of time.
How to reproduce:
Turn off GPS
Go to "Add new incident" (the system will provide the current location through NETWORK_PROVIDER)
Tap another location and wait
The system resets the location to the auto-detected location
This was observed in the log:
[ first tap somewhere in the map]
03-08 11:48:08.176: I/MapMarker(25316): 110, 193 >> 35.889171, -79.123480
[ then then system does this - see time difference ]
03-08 11:48:28.005: D/dalvikvm(281): GC_EXPLICIT freed 1193K, 38% free 9459K/15175K, external 2178K/2719K, paused 185ms
03-08 11:48:28.015: D/WifiService(281): acquireWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.BinderProxy@40aa1c60}
03-08 11:48:28.556: D/IncidentAdd(25316): doReverseGeocode
03-08 11:48:28.566: I/ReverseGeocoderTask(25316): doInBackground [35.906085059999995, -78.8639028]
03-08 11:48:29.486: I/ReverseGeocoderTask(25316): onPostExecute 3040, E Cornwallis Rd, Durham, United States
03-08 11:48:33.070: D/WifiService(281): releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.BinderProxy@40aa1c60}
Desired behavior:
Once the user manually selects a location in the map, any type of auto-location, (GPS, network, etc) is suspended for the duration of the data entry for this event.
The user selection is persistent for that event, and takes precedence.
Likewise, the system needs to allow for setting the location even during the period when the GPS is looking for a signal. If the users does so, the GPS-based location is no longer necessary.
Currently, the user is not allowed to select a location while the GPS is trying to get a fix, for the duration of the timeout period