summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/LocationManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/core/java/com/android/server/LocationManagerService.java')
-rw-r--r--services/core/java/com/android/server/LocationManagerService.java21
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,