Address API council review comments.

Rename the setters and getter for location package extra. The getter is
not used by prebuilt apps, so they are renamed directly. The setter is
used by GmsCore, so mark as @removed for now.

Bug: 123587501
Test: Manual

Change-Id: Ia5167d20aff92242036e3642a176fe2ab03d8a52
This commit is contained in:
Wei Wang
2019-01-30 18:19:35 -08:00
parent 3e14606e68
commit 114922a8fa
5 changed files with 68 additions and 30 deletions

View File

@@ -3376,19 +3376,19 @@ package android.location {
public class LocationManager {
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
method @Nullable public String getExtraLocationControllerPackage();
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int getGnssBatchSize();
method @Nullable public android.location.GnssCapabilities getGnssCapabilities();
method @Nullable public String getLocationControllerExtraPackage();
method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
method public boolean isLocationControllerExtraPackageEnabled();
method public boolean isExtraLocationControllerPackageEnabled();
method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
method public boolean isProviderPackage(@NonNull String);
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent);
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackage(@NonNull String);
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackageEnabled(boolean);
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);

View File

@@ -67,6 +67,8 @@ package android.location {
method @Deprecated public boolean addGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
method @Deprecated public void removeGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
method @Deprecated public void removeGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackage(String);
method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackageEnabled(boolean);
}
}

View File

@@ -93,10 +93,10 @@ interface ILocationManager
ProviderProperties getProviderProperties(String provider);
boolean isProviderPackage(String packageName);
void setLocationControllerExtraPackage(String packageName);
String getLocationControllerExtraPackage();
void setLocationControllerExtraPackageEnabled(boolean enabled);
boolean isLocationControllerExtraPackageEnabled();
void setExtraLocationControllerPackage(String packageName);
String getExtraLocationControllerPackage();
void setExtraLocationControllerPackageEnabled(boolean enabled);
boolean isExtraLocationControllerPackageEnabled();
boolean isProviderEnabledForUser(String provider, int userId);
boolean isLocationEnabledForUser(int userId);

View File

@@ -2328,9 +2328,27 @@ public class LocationManager {
*/
@SystemApi
@RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
public void setLocationControllerExtraPackage(@NonNull String packageName) {
public void setExtraLocationControllerPackage(@Nullable String packageName) {
try {
mService.setLocationControllerExtraPackage(packageName);
mService.setExtraLocationControllerPackage(packageName);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
}
}
/**
* Set the extra location controller package for location services on the device.
*
* @removed
* @deprecated Use {@link #setExtraLocationControllerPackage} instead.
* @hide
*/
@Deprecated
@SystemApi
@RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
public void setLocationControllerExtraPackage(String packageName) {
try {
mService.setExtraLocationControllerPackage(packageName);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
}
@@ -2342,15 +2360,33 @@ public class LocationManager {
* @hide
*/
@SystemApi
public @Nullable String getLocationControllerExtraPackage() {
public @Nullable String getExtraLocationControllerPackage() {
try {
return mService.getLocationControllerExtraPackage();
return mService.getExtraLocationControllerPackage();
} catch (RemoteException e) {
e.rethrowFromSystemServer();
return null;
}
}
/**
* Set whether the extra location controller package is currently enabled on the device.
*
* @removed
* @deprecated Use {@link #setExtraLocationControllerPackageEnabled} instead.
* @hide
*/
@SystemApi
@Deprecated
@RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
public void setLocationControllerExtraPackageEnabled(boolean enabled) {
try {
mService.setExtraLocationControllerPackageEnabled(enabled);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
}
}
/**
* Set whether the extra location controller package is currently enabled on the device.
*
@@ -2358,9 +2394,9 @@ public class LocationManager {
*/
@SystemApi
@RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
public void setLocationControllerExtraPackageEnabled(boolean enabled) {
public void setExtraLocationControllerPackageEnabled(boolean enabled) {
try {
mService.setLocationControllerExtraPackageEnabled(enabled);
mService.setExtraLocationControllerPackageEnabled(enabled);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
}
@@ -2372,9 +2408,9 @@ public class LocationManager {
* @hide
*/
@SystemApi
public boolean isLocationControllerExtraPackageEnabled() {
public boolean isExtraLocationControllerPackageEnabled() {
try {
return mService.isLocationControllerExtraPackageEnabled();
return mService.isExtraLocationControllerPackageEnabled();
} catch (RemoteException e) {
e.rethrowFromSystemServer();
return false;

View File

@@ -200,8 +200,8 @@ public class LocationManagerService extends ILocationManager.Stub {
private GnssMeasurementCorrectionsProvider mGnssMeasurementCorrectionsProvider;
private GnssNavigationMessageProvider mGnssNavigationMessageProvider;
@GuardedBy("mLock")
private String mLocationControllerExtraPackage;
private boolean mLocationControllerExtraPackageEnabled;
private String mExtraLocationControllerPackage;
private boolean mExtraLocationControllerPackageEnabled;
private IGpsGeofenceHardware mGpsGeofenceProxy;
// list of currently active providers
@@ -3045,35 +3045,35 @@ public class LocationManagerService extends ILocationManager.Stub {
}
@Override
public void setLocationControllerExtraPackage(String packageName) {
public void setExtraLocationControllerPackage(String packageName) {
mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE,
Manifest.permission.LOCATION_HARDWARE + " permission required");
synchronized (mLock) {
mLocationControllerExtraPackage = packageName;
mExtraLocationControllerPackage = packageName;
}
}
@Override
public String getLocationControllerExtraPackage() {
public String getExtraLocationControllerPackage() {
synchronized (mLock) {
return mLocationControllerExtraPackage;
return mExtraLocationControllerPackage;
}
}
@Override
public void setLocationControllerExtraPackageEnabled(boolean enabled) {
public void setExtraLocationControllerPackageEnabled(boolean enabled) {
mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE,
Manifest.permission.LOCATION_HARDWARE + " permission required");
synchronized (mLock) {
mLocationControllerExtraPackageEnabled = enabled;
mExtraLocationControllerPackageEnabled = enabled;
}
}
@Override
public boolean isLocationControllerExtraPackageEnabled() {
public boolean isExtraLocationControllerPackageEnabled() {
synchronized (mLock) {
return mLocationControllerExtraPackageEnabled
&& (mLocationControllerExtraPackage != null);
return mExtraLocationControllerPackageEnabled
&& (mExtraLocationControllerPackage != null);
}
}
@@ -3610,9 +3610,9 @@ public class LocationManagerService extends ILocationManager.Stub {
pw.println(" mBlacklist=null");
}
if (mLocationControllerExtraPackage != null) {
pw.println(" Location controller extra package: " + mLocationControllerExtraPackage
+ " enabled: " + mLocationControllerExtraPackageEnabled);
if (mExtraLocationControllerPackage != null) {
pw.println(" Location controller extra package: " + mExtraLocationControllerPackage
+ " enabled: " + mExtraLocationControllerPackageEnabled);
}
if (!mBackgroundThrottlePackageWhitelist.isEmpty()) {