diff options
| author | 2025-01-08 13:39:53 -0800 | |
|---|---|---|
| committer | 2025-01-08 13:39:53 -0800 | |
| commit | 5d35661d13407f76c4ac7f1475e76b220b3ea9be (patch) | |
| tree | ee5afe7fc3f307dc5e55f6b822154ed6a6cc8410 | |
| parent | dfe161dd0d42921d7ae1cfe9587ef9cd4eee3d41 (diff) | |
| parent | cc980a8e45d12f786f6400375d1c7840f8bc9dbf (diff) | |
Merge "Avoid crashing system server" into main
| -rw-r--r-- | packages/FusedLocation/src/com/android/location/fused/FusedLocationProvider.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/FusedLocation/src/com/android/location/fused/FusedLocationProvider.java b/packages/FusedLocation/src/com/android/location/fused/FusedLocationProvider.java index 068074ae1b89..8e52a00fe545 100644 --- a/packages/FusedLocation/src/com/android/location/fused/FusedLocationProvider.java +++ b/packages/FusedLocation/src/com/android/location/fused/FusedLocationProvider.java @@ -38,6 +38,7 @@ import android.location.provider.LocationProviderBase; import android.location.provider.ProviderProperties; import android.location.provider.ProviderRequest; import android.os.Bundle; +import android.util.Log; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; @@ -301,8 +302,13 @@ public class FusedLocationProvider extends LocationProviderBase { .setWorkSource(mRequest.getWorkSource()) .setHiddenFromAppOps(true) .build(); - mLocationManager.requestLocationUpdates(mProvider, request, - mContext.getMainExecutor(), this); + + try { + mLocationManager.requestLocationUpdates( + mProvider, request, mContext.getMainExecutor(), this); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Failed to request location updates"); + } } } } @@ -311,7 +317,11 @@ public class FusedLocationProvider extends LocationProviderBase { synchronized (mLock) { int requestCode = mNextFlushCode++; mPendingFlushes.put(requestCode, callback); - mLocationManager.requestFlush(mProvider, this, requestCode); + try { + mLocationManager.requestFlush(mProvider, this, requestCode); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Failed to request flush"); + } } } |