ConnectivityService: Plumb attribution tag for location permission checks
Not currently setting the atttribution tag for location permission checks. Plumb the attribution tag for all location permision checks (so that location access is correctly attributed to individual components within an app) Bug: 162602799 Test: atest android.net Test: atest com.android.server Change-Id: Iee95f05204f51a4f8cb1f36acfb60e8cdeb156f4
This commit is contained in:
@@ -1368,7 +1368,7 @@ public class ConnectivityManager {
|
||||
public NetworkCapabilities[] getDefaultNetworkCapabilitiesForUser(int userId) {
|
||||
try {
|
||||
return mService.getDefaultNetworkCapabilitiesForUser(
|
||||
userId, mContext.getOpPackageName());
|
||||
userId, mContext.getOpPackageName(), getAttributionTag());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -1450,7 +1450,8 @@ public class ConnectivityManager {
|
||||
@Nullable
|
||||
public NetworkCapabilities getNetworkCapabilities(@Nullable Network network) {
|
||||
try {
|
||||
return mService.getNetworkCapabilities(network, mContext.getOpPackageName());
|
||||
return mService.getNetworkCapabilities(
|
||||
network, mContext.getOpPackageName(), getAttributionTag());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -2142,7 +2143,7 @@ public class ConnectivityManager {
|
||||
*/
|
||||
// TODO: Remove method and replace with direct call once R code is pushed to AOSP
|
||||
private @Nullable String getAttributionTag() {
|
||||
return null;
|
||||
return mContext.getAttributionTag();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3735,7 +3736,8 @@ public class ConnectivityManager {
|
||||
Binder binder = new Binder();
|
||||
if (reqType == LISTEN) {
|
||||
request = mService.listenForNetwork(
|
||||
need, messenger, binder, callingPackageName);
|
||||
need, messenger, binder, callingPackageName,
|
||||
getAttributionTag());
|
||||
} else {
|
||||
request = mService.requestNetwork(
|
||||
need, reqType.ordinal(), messenger, timeoutMs, binder, legacyType,
|
||||
@@ -4180,7 +4182,8 @@ public class ConnectivityManager {
|
||||
checkPendingIntentNotNull(operation);
|
||||
try {
|
||||
mService.pendingListenForNetwork(
|
||||
request.networkCapabilities, operation, mContext.getOpPackageName());
|
||||
request.networkCapabilities, operation, mContext.getOpPackageName(),
|
||||
getAttributionTag());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
} catch (ServiceSpecificException e) {
|
||||
|
||||
@@ -66,7 +66,7 @@ interface IConnectivityManager
|
||||
Network getNetworkForType(int networkType);
|
||||
Network[] getAllNetworks();
|
||||
NetworkCapabilities[] getDefaultNetworkCapabilitiesForUser(
|
||||
int userId, String callingPackageName);
|
||||
int userId, String callingPackageName, String callingAttributionTag);
|
||||
|
||||
boolean isNetworkSupported(int networkType);
|
||||
|
||||
@@ -75,7 +75,8 @@ interface IConnectivityManager
|
||||
LinkProperties getLinkPropertiesForType(int networkType);
|
||||
LinkProperties getLinkProperties(in Network network);
|
||||
|
||||
NetworkCapabilities getNetworkCapabilities(in Network network, String callingPackageName);
|
||||
NetworkCapabilities getNetworkCapabilities(in Network network, String callingPackageName,
|
||||
String callingAttributionTag);
|
||||
|
||||
@UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
|
||||
NetworkState[] getAllNetworkState();
|
||||
@@ -176,10 +177,12 @@ interface IConnectivityManager
|
||||
void releasePendingNetworkRequest(in PendingIntent operation);
|
||||
|
||||
NetworkRequest listenForNetwork(in NetworkCapabilities networkCapabilities,
|
||||
in Messenger messenger, in IBinder binder, String callingPackageName);
|
||||
in Messenger messenger, in IBinder binder, String callingPackageName,
|
||||
String callingAttributionTag);
|
||||
|
||||
void pendingListenForNetwork(in NetworkCapabilities networkCapabilities,
|
||||
in PendingIntent operation, String callingPackageName);
|
||||
in PendingIntent operation, String callingPackageName,
|
||||
String callingAttributionTag);
|
||||
|
||||
void releaseNetworkRequest(in NetworkRequest networkRequest);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user