Merge "Don't bootloop if GNSS is unavailable." into tm-dev

This commit is contained in:
TreeHugger Robot
2022-05-17 23:52:18 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 0 deletions

View File

@@ -116,6 +116,11 @@ public final class GnssTimeUpdateService extends Binder {
Log.d(TAG, "requestGnssTimeUpdates()"); Log.d(TAG, "requestGnssTimeUpdates()");
} }
if (!mLocationManager.hasProvider(LocationManager.GPS_PROVIDER)) {
Log.e(TAG, "GPS provider does not exist on this device");
return;
}
// Location Listener triggers onLocationChanged() when GNSS data is available, so // Location Listener triggers onLocationChanged() when GNSS data is available, so
// that the getGnssTimeMillis() function doesn't need to be continuously polled. // that the getGnssTimeMillis() function doesn't need to be continuously polled.
mLocationListener = new LocationListener() { mLocationListener = new LocationListener() {

View File

@@ -85,6 +85,9 @@ public final class GnssTimeUpdateServiceTest {
when(mMockContext.getSystemService(AlarmManager.class)) when(mMockContext.getSystemService(AlarmManager.class))
.thenReturn(mMockAlarmManager); .thenReturn(mMockAlarmManager);
when(mMockLocationManager.hasProvider(LocationManager.GPS_PROVIDER))
.thenReturn(true);
LocalServices.addService(LocationManagerInternal.class, mLocationManagerInternal); LocalServices.addService(LocationManagerInternal.class, mLocationManagerInternal);
mGnssTimeUpdateService = mGnssTimeUpdateService =