Merge "DO NOT MERGE: Always return non null from getGpsStatus" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-07-15 23:05:42 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 0 deletions

View File

@@ -151,6 +151,15 @@ public final class GpsStatus {
return status;
}
/**
* Builds an empty GpsStatus.
*
* @hide
*/
static GpsStatus createEmpty() {
return new GpsStatus();
}
private GpsStatus() {
}

View File

@@ -1922,12 +1922,17 @@ public class LocationManager {
GnssStatus gnssStatus = mGnssStatusListenerManager.getGnssStatus();
int ttff = mGnssStatusListenerManager.getTtff();
// even though this method is marked nullable, there are legacy applications that expect
// this to never return null, so avoid breaking those apps
if (gnssStatus != null) {
if (status == null) {
status = GpsStatus.create(gnssStatus, ttff);
} else {
status.setStatus(gnssStatus, ttff);
}
} else if (status == null) {
status = GpsStatus.createEmpty();
}
return status;
}