Loading location/java/android/location/ILocationManager.aidl +9 −9 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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(); Loading location/java/android/location/LocationManager.java +8 −4 Original line number Diff line number Diff line Loading @@ -2926,7 +2926,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 Loading @@ -2947,7 +2948,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 Loading @@ -2968,7 +2970,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 Loading Loading @@ -3008,7 +3011,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 Loading services/core/java/com/android/server/location/LocationManagerService.java +16 −13 Original line number Diff line number Diff line Loading @@ -496,7 +496,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) { Loading Loading @@ -633,7 +633,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); Loading @@ -657,7 +657,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(), Loading Loading @@ -808,7 +808,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()); Loading Loading @@ -875,9 +875,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); } } Loading @@ -890,9 +891,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); } } Loading @@ -904,11 +906,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); } } Loading Loading @@ -954,10 +957,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); } } Loading services/core/java/com/android/server/location/gnss/GnssManagerService.java +13 −9 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading Loading
location/java/android/location/ILocationManager.aidl +9 −9 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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(); Loading
location/java/android/location/LocationManager.java +8 −4 Original line number Diff line number Diff line Loading @@ -2926,7 +2926,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 Loading @@ -2947,7 +2948,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 Loading @@ -2968,7 +2970,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 Loading Loading @@ -3008,7 +3011,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 Loading
services/core/java/com/android/server/location/LocationManagerService.java +16 −13 Original line number Diff line number Diff line Loading @@ -496,7 +496,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) { Loading Loading @@ -633,7 +633,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); Loading @@ -657,7 +657,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(), Loading Loading @@ -808,7 +808,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()); Loading Loading @@ -875,9 +875,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); } } Loading @@ -890,9 +891,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); } } Loading @@ -904,11 +906,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); } } Loading Loading @@ -954,10 +957,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); } } Loading
services/core/java/com/android/server/location/gnss/GnssManagerService.java +13 −9 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading