From b7f9d254978b285bf04613f6e69a1afa89240ca9 Mon Sep 17 00:00:00 2001 From: Laurent Tu Date: Tue, 16 Oct 2012 14:25:00 -0700 Subject: [PATCH] Handle unknown case in LocationManager.getProvider If a provider is unknown, return null in LocationManagerService.getProviderProperties() instead of throwing a security exception, so that LocationManager.getProvider() returns null in this case, as specified by the javadoc. Bug: 7359960 Change-Id: I1b8b74745f66717a3439a1d353a46a23272cc313 --- services/java/com/android/server/LocationManagerService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index 69489274423eb..63eeeb32cecdb 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -1340,6 +1340,10 @@ public class LocationManagerService extends ILocationManager.Stub implements Run */ @Override public ProviderProperties getProviderProperties(String provider) { + if (mProvidersByName.get(provider) == null) { + return null; + } + checkPermissionForProvider(getBestCallingPermission(), provider); LocationProviderInterface p;