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:
@@ -6365,7 +6365,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
private void assertDefaultNetworkCapabilities(int userId, NetworkAgentWrapper... networks) {
|
||||
final NetworkCapabilities[] defaultCaps = mService.getDefaultNetworkCapabilitiesForUser(
|
||||
userId, "com.android.calling.package");
|
||||
userId, "com.android.calling.package", "com.test");
|
||||
final String defaultCapsString = Arrays.toString(defaultCaps);
|
||||
assertEquals(defaultCapsString, defaultCaps.length, networks.length);
|
||||
final Set<NetworkCapabilities> defaultCapsSet = new ArraySet<>(defaultCaps);
|
||||
@@ -8377,7 +8377,8 @@ public class ConnectivityServiceTest {
|
||||
when(mLocationManager.isLocationEnabledForUser(any())).thenReturn(locationToggle);
|
||||
|
||||
if (op != null) {
|
||||
when(mAppOpsManager.noteOp(eq(op), eq(Process.myUid()), eq(mContext.getPackageName())))
|
||||
when(mAppOpsManager.noteOp(eq(op), eq(Process.myUid()),
|
||||
eq(mContext.getPackageName()), eq(getAttributionTag()), anyString()))
|
||||
.thenReturn(AppOpsManager.MODE_ALLOWED);
|
||||
}
|
||||
|
||||
@@ -8390,7 +8391,7 @@ public class ConnectivityServiceTest {
|
||||
final NetworkCapabilities netCap = new NetworkCapabilities().setOwnerUid(ownerUid);
|
||||
|
||||
return mService.createWithLocationInfoSanitizedIfNecessaryWhenParceled(
|
||||
netCap, callerUid, mContext.getPackageName()).getOwnerUid();
|
||||
netCap, callerUid, mContext.getPackageName(), getAttributionTag()).getOwnerUid();
|
||||
}
|
||||
|
||||
private void verifyWifiInfoCopyNetCapsForCallerPermission(
|
||||
@@ -8400,7 +8401,7 @@ public class ConnectivityServiceTest {
|
||||
final NetworkCapabilities netCap = new NetworkCapabilities().setTransportInfo(wifiInfo);
|
||||
|
||||
mService.createWithLocationInfoSanitizedIfNecessaryWhenParceled(
|
||||
netCap, callerUid, mContext.getPackageName());
|
||||
netCap, callerUid, mContext.getPackageName(), getAttributionTag());
|
||||
verify(wifiInfo).makeCopy(eq(shouldMakeCopyWithLocationSensitiveFieldsParcelable));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user