diff options
Diffstat (limited to 'services/core/java/com')
-rw-r--r-- | services/core/java/com/android/server/LocationManagerService.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java index c76fc1c..743aafb 100644 --- a/services/core/java/com/android/server/LocationManagerService.java +++ b/services/core/java/com/android/server/LocationManagerService.java @@ -1958,6 +1958,27 @@ public class LocationManagerService extends ILocationManager.Stub { return p.getProperties(); } + /** + * @return null if the provider does not exist + * @throws SecurityException if the provider is not allowed to be + * accessed by the caller + */ + @Override + public String getNetworkProviderPackage() { + LocationProviderInterface p; + synchronized (mLock) { + if (mProvidersByName.get(LocationManager.NETWORK_PROVIDER) == null) { + return null; + } + p = mProvidersByName.get(LocationManager.NETWORK_PROVIDER); + } + + if (p instanceof LocationProviderProxy) { + return ((LocationProviderProxy) p).getConnectedPackageName(); + } + return null; + } + @Override public boolean isProviderEnabled(String provider) { // Fused provider is accessed indirectly via criteria rather than the provider-based APIs, |