Add listenerId information to GNSS APIs
Bug: 180935385 Test: presubmits Change-Id: Ic9534422d9de059e98dfc52292c57188f9aaffa9
This commit is contained in:
@@ -48,13 +48,13 @@ import android.os.ICancellationSignal;
|
||||
*/
|
||||
interface ILocationManager
|
||||
{
|
||||
@nullable Location getLastLocation(String provider, in LastLocationRequest request, String packageName, String attributionTag);
|
||||
@nullable ICancellationSignal getCurrentLocation(String provider, in LocationRequest request, in ILocationCallback callback, String packageName, String attributionTag, String listenerId);
|
||||
@nullable Location getLastLocation(String provider, in LastLocationRequest request, String packageName, @nullable String attributionTag);
|
||||
@nullable ICancellationSignal getCurrentLocation(String provider, in LocationRequest request, in ILocationCallback callback, String packageName, @nullable String attributionTag, String listenerId);
|
||||
|
||||
void registerLocationListener(String provider, in LocationRequest request, in ILocationListener listener, String packageName, String attributionTag, String listenerId);
|
||||
void registerLocationListener(String provider, in LocationRequest request, in ILocationListener listener, String packageName, @nullable String attributionTag, String listenerId);
|
||||
void unregisterLocationListener(in ILocationListener listener);
|
||||
|
||||
void registerLocationPendingIntent(String provider, in LocationRequest request, in PendingIntent pendingIntent, String packageName, String attributionTag);
|
||||
void registerLocationPendingIntent(String provider, in LocationRequest request, in PendingIntent pendingIntent, String packageName, @nullable String attributionTag);
|
||||
void unregisterLocationPendingIntent(in PendingIntent pendingIntent);
|
||||
|
||||
void injectLocation(in Location location);
|
||||
@@ -79,24 +79,24 @@ interface ILocationManager
|
||||
|
||||
@nullable List<GnssAntennaInfo> getGnssAntennaInfos();
|
||||
|
||||
void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, @nullable String attributionTag);
|
||||
void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, @nullable String attributionTag, String listenerId);
|
||||
void unregisterGnssStatusCallback(in IGnssStatusListener callback);
|
||||
|
||||
void registerGnssNmeaCallback(in IGnssNmeaListener callback, String packageName, @nullable String attributionTag);
|
||||
void registerGnssNmeaCallback(in IGnssNmeaListener callback, String packageName, @nullable String attributionTag, String listenerId);
|
||||
void unregisterGnssNmeaCallback(in IGnssNmeaListener callback);
|
||||
|
||||
void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, @nullable String attributionTag);
|
||||
void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, @nullable String attributionTag, String listenerId);
|
||||
void removeGnssMeasurementsListener(in IGnssMeasurementsListener listener);
|
||||
void injectGnssMeasurementCorrections(in GnssMeasurementCorrections corrections);
|
||||
|
||||
void addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener, String packageName, @nullable String attributionTag);
|
||||
void addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener, String packageName, @nullable String attributionTag, String listenerId);
|
||||
void removeGnssNavigationMessageListener(in IGnssNavigationMessageListener listener);
|
||||
|
||||
void addProviderRequestListener(in IProviderRequestListener listener);
|
||||
void removeProviderRequestListener(in IProviderRequestListener listener);
|
||||
|
||||
int getGnssBatchSize();
|
||||
void startGnssBatch(long periodNanos, in ILocationListener listener, String packageName, @nullable String attributionTag, @nullable String listenerId);
|
||||
void startGnssBatch(long periodNanos, in ILocationListener listener, String packageName, @nullable String attributionTag, String listenerId);
|
||||
void flushGnssBatch();
|
||||
void stopGnssBatch();
|
||||
|
||||
|
||||
@@ -2921,7 +2921,8 @@ public class LocationManager {
|
||||
protected void registerTransport(GnssStatusTransport transport)
|
||||
throws RemoteException {
|
||||
getService().registerGnssStatusCallback(transport, transport.getPackage(),
|
||||
transport.getAttributionTag());
|
||||
transport.getAttributionTag(),
|
||||
AppOpsManager.toReceiverId(transport.getListener()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2938,7 +2939,8 @@ public class LocationManager {
|
||||
protected void registerTransport(GnssNmeaTransport transport)
|
||||
throws RemoteException {
|
||||
getService().registerGnssNmeaCallback(transport, transport.getPackage(),
|
||||
transport.getAttributionTag());
|
||||
transport.getAttributionTag(),
|
||||
AppOpsManager.toReceiverId(transport.getListener()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2955,7 +2957,8 @@ public class LocationManager {
|
||||
protected void registerTransport(GnssMeasurementsTransport transport)
|
||||
throws RemoteException {
|
||||
getService().addGnssMeasurementsListener(transport.getRequest(), transport,
|
||||
transport.getPackage(), transport.getAttributionTag());
|
||||
transport.getPackage(), transport.getAttributionTag(),
|
||||
AppOpsManager.toReceiverId(transport.getListener()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2987,7 +2990,8 @@ public class LocationManager {
|
||||
protected void registerTransport(GnssNavigationTransport transport)
|
||||
throws RemoteException {
|
||||
getService().addGnssNavigationMessageListener(transport,
|
||||
transport.getPackage(), transport.getAttributionTag());
|
||||
transport.getPackage(), transport.getAttributionTag(),
|
||||
AppOpsManager.toReceiverId(transport.getListener()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -479,7 +479,7 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
|
||||
@Override
|
||||
public void startGnssBatch(long periodNanos, ILocationListener listener, String packageName,
|
||||
String attributionTag, String listenerId) {
|
||||
@Nullable String attributionTag, String listenerId) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.LOCATION_HARDWARE, null);
|
||||
|
||||
if (mGnssManagerService == null) {
|
||||
@@ -616,7 +616,7 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
@Nullable
|
||||
@Override
|
||||
public ICancellationSignal getCurrentLocation(String provider, LocationRequest request,
|
||||
ILocationCallback consumer, String packageName, String attributionTag,
|
||||
ILocationCallback consumer, String packageName, @Nullable String attributionTag,
|
||||
String listenerId) {
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag,
|
||||
listenerId);
|
||||
@@ -640,7 +640,7 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
@Override
|
||||
public void registerLocationListener(String provider, LocationRequest request,
|
||||
ILocationListener listener, String packageName, @Nullable String attributionTag,
|
||||
@Nullable String listenerId) {
|
||||
String listenerId) {
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag,
|
||||
listenerId);
|
||||
int permissionLevel = LocationPermissions.getPermissionLevel(mContext, identity.getUid(),
|
||||
@@ -791,7 +791,7 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
|
||||
@Override
|
||||
public Location getLastLocation(String provider, LastLocationRequest request,
|
||||
String packageName, String attributionTag) {
|
||||
String packageName, @Nullable String attributionTag) {
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag);
|
||||
int permissionLevel = LocationPermissions.getPermissionLevel(mContext, identity.getUid(),
|
||||
identity.getPid());
|
||||
@@ -858,9 +858,10 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
|
||||
@Override
|
||||
public void registerGnssStatusCallback(IGnssStatusListener listener, String packageName,
|
||||
String attributionTag) {
|
||||
@Nullable String attributionTag, String listenerId) {
|
||||
if (mGnssManagerService != null) {
|
||||
mGnssManagerService.registerGnssStatusCallback(listener, packageName, attributionTag);
|
||||
mGnssManagerService.registerGnssStatusCallback(listener, packageName, attributionTag,
|
||||
listenerId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -873,9 +874,10 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
|
||||
@Override
|
||||
public void registerGnssNmeaCallback(IGnssNmeaListener listener, String packageName,
|
||||
String attributionTag) {
|
||||
@Nullable String attributionTag, String listenerId) {
|
||||
if (mGnssManagerService != null) {
|
||||
mGnssManagerService.registerGnssNmeaCallback(listener, packageName, attributionTag);
|
||||
mGnssManagerService.registerGnssNmeaCallback(listener, packageName, attributionTag,
|
||||
listenerId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -887,11 +889,12 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addGnssMeasurementsListener(@Nullable GnssMeasurementRequest request,
|
||||
IGnssMeasurementsListener listener, String packageName, String attributionTag) {
|
||||
public void addGnssMeasurementsListener(GnssMeasurementRequest request,
|
||||
IGnssMeasurementsListener listener, String packageName, @Nullable String attributionTag,
|
||||
String listenerId) {
|
||||
if (mGnssManagerService != null) {
|
||||
mGnssManagerService.addGnssMeasurementsListener(request, listener, packageName,
|
||||
attributionTag);
|
||||
attributionTag, listenerId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -937,10 +940,10 @@ public class LocationManagerService extends ILocationManager.Stub {
|
||||
|
||||
@Override
|
||||
public void addGnssNavigationMessageListener(IGnssNavigationMessageListener listener,
|
||||
String packageName, String attributionTag) {
|
||||
String packageName, @Nullable String attributionTag, String listenerId) {
|
||||
if (mGnssManagerService != null) {
|
||||
mGnssManagerService.addGnssNavigationMessageListener(listener, packageName,
|
||||
attributionTag);
|
||||
attributionTag, listenerId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ public class GnssManagerService {
|
||||
|
||||
private static final String ATTRIBUTION_ID = "GnssService";
|
||||
|
||||
private final Context mContext;
|
||||
final Context mContext;
|
||||
private final GnssNative mGnssNative;
|
||||
|
||||
private final GnssLocationProvider mGnssLocationProvider;
|
||||
@@ -154,10 +154,11 @@ public class GnssManagerService {
|
||||
* Registers listener for GNSS status changes.
|
||||
*/
|
||||
public void registerGnssStatusCallback(IGnssStatusListener listener, String packageName,
|
||||
@Nullable String attributionTag) {
|
||||
@Nullable String attributionTag, String listenerId) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
|
||||
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag);
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag,
|
||||
listenerId);
|
||||
mGnssStatusProvider.addListener(identity, listener);
|
||||
}
|
||||
|
||||
@@ -172,10 +173,11 @@ public class GnssManagerService {
|
||||
* Registers listener for GNSS NMEA messages.
|
||||
*/
|
||||
public void registerGnssNmeaCallback(IGnssNmeaListener listener, String packageName,
|
||||
@Nullable String attributionTag) {
|
||||
@Nullable String attributionTag, String listenerId) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
|
||||
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag);
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag,
|
||||
listenerId);
|
||||
mGnssNmeaProvider.addListener(identity, listener);
|
||||
}
|
||||
|
||||
@@ -191,12 +193,13 @@ public class GnssManagerService {
|
||||
*/
|
||||
public void addGnssMeasurementsListener(GnssMeasurementRequest request,
|
||||
IGnssMeasurementsListener listener, String packageName,
|
||||
@Nullable String attributionTag) {
|
||||
@Nullable String attributionTag, String listenerId) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
|
||||
if (request.isCorrelationVectorOutputsEnabled()) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.LOCATION_HARDWARE, null);
|
||||
}
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag);
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag,
|
||||
listenerId);
|
||||
mGnssMeasurementsProvider.addListener(request, identity, listener);
|
||||
}
|
||||
|
||||
@@ -223,10 +226,11 @@ public class GnssManagerService {
|
||||
* Adds a GNSS navigation message listener.
|
||||
*/
|
||||
public void addGnssNavigationMessageListener(IGnssNavigationMessageListener listener,
|
||||
String packageName, @Nullable String attributionTag) {
|
||||
String packageName, @Nullable String attributionTag, String listenerId) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
|
||||
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag);
|
||||
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag,
|
||||
listenerId);
|
||||
mGnssNavigationMessageProvider.addListener(identity, listener);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user