DO NOT MERGE: Always return non null from getGpsStatus am: d9df33d1c0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12160606 Change-Id: I03ea44566def9929889479a8ec9c31f9e6b63f84
This commit is contained in:
@@ -151,6 +151,15 @@ public final class GpsStatus {
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds an empty GpsStatus.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
static GpsStatus createEmpty() {
|
||||||
|
return new GpsStatus();
|
||||||
|
}
|
||||||
|
|
||||||
private GpsStatus() {
|
private GpsStatus() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1922,12 +1922,17 @@ public class LocationManager {
|
|||||||
|
|
||||||
GnssStatus gnssStatus = mGnssStatusListenerManager.getGnssStatus();
|
GnssStatus gnssStatus = mGnssStatusListenerManager.getGnssStatus();
|
||||||
int ttff = mGnssStatusListenerManager.getTtff();
|
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 (gnssStatus != null) {
|
||||||
if (status == null) {
|
if (status == null) {
|
||||||
status = GpsStatus.create(gnssStatus, ttff);
|
status = GpsStatus.create(gnssStatus, ttff);
|
||||||
} else {
|
} else {
|
||||||
status.setStatus(gnssStatus, ttff);
|
status.setStatus(gnssStatus, ttff);
|
||||||
}
|
}
|
||||||
|
} else if (status == null) {
|
||||||
|
status = GpsStatus.createEmpty();
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user