From 71225ecc0c60d5015978e4d0f39ee5d0d165bd27 Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Fri, 31 Aug 2018 09:30:18 -0700 Subject: [PATCH] Expose LocationManager#getNetworkProviderPackage as @SystemApi The PermissonController is going to become a mainline module, hence it has to compile against @SystemApi. The permission controller needs to know which package is the network provider as it treats the location permission of the location provider page special. As far as I understood the current API is not protected. I would like to leave adding the protection to the location team. Bug: 110953302 Test: Built Change-Id: Ic0691bd2254137273160ee6c2e6bb10257205d54 --- api/system-current.txt | 1 + location/java/android/location/LocationManager.java | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index 1d5f586ab5e9a..d11b21976edf1 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -2618,6 +2618,7 @@ package android.location { method public deprecated boolean addGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener); method public void flushGnssBatch(); method public int getGnssBatchSize(); + method public java.lang.String getNetworkProviderPackage(); method public boolean isLocationEnabledForUser(android.os.UserHandle); method public boolean isProviderEnabledForUser(java.lang.String, android.os.UserHandle); method public boolean registerGnssBatchedLocationCallback(long, boolean, android.location.BatchedLocationCallback, android.os.Handler); diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index b5d94315f97f9..6d10c2d692b12 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -2378,4 +2378,17 @@ public class LocationManager { throw new IllegalArgumentException("invalid geofence: " + fence); } } + + /** + * @hide + */ + @SystemApi + public String getNetworkProviderPackage() { + try { + return mService.getNetworkProviderPackage(); + } catch (RemoteException e) { + e.rethrowFromSystemServer(); + return null; + } + } }