diff --git a/framework/src/android/net/connectivity/ConnectivityCompatChanges.java b/framework/src/android/net/connectivity/ConnectivityCompatChanges.java index 2261c695eb..3b2520e3da 100644 --- a/framework/src/android/net/connectivity/ConnectivityCompatChanges.java +++ b/framework/src/android/net/connectivity/ConnectivityCompatChanges.java @@ -139,13 +139,13 @@ public final class ConnectivityCompatChanges { /** * Restrict local network access. - * * Apps targeting a release after V will require permissions to access the local network. * + * ToDo: Update the target SDK version once it's finalized. * @hide */ @ChangeId - @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT) + @EnabledAfter(targetSdkVersion = 36) public static final long RESTRICT_LOCAL_NETWORK = 365139289L; private ConnectivityCompatChanges() { diff --git a/tests/cts/net/AndroidManifest.xml b/tests/cts/net/AndroidManifest.xml index 098cc0ae1d..acf89be002 100644 --- a/tests/cts/net/AndroidManifest.xml +++ b/tests/cts/net/AndroidManifest.xml @@ -26,6 +26,7 @@ + diff --git a/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt b/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt index bd9bd2a5f9..64dfcc83df 100644 --- a/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt +++ b/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt @@ -15,6 +15,7 @@ */ package android.net.cts +import android.Manifest.permission.NEARBY_WIFI_DEVICES import android.Manifest.permission.NETWORK_SETTINGS import android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE import android.app.Instrumentation @@ -237,6 +238,12 @@ class NetworkAgentTest { @Before fun setUp() { instrumentation.getUiAutomation().adoptShellPermissionIdentity() + if (SdkLevel.isAtLeastT()) { + instrumentation.getUiAutomation().grantRuntimePermission( + "android.net.cts", + NEARBY_WIFI_DEVICES + ) + } mHandlerThread.start() } @@ -741,12 +748,24 @@ class NetworkAgentTest { tryTest { // This process is not the carrier service UID, so allowedUids should be ignored in all // the following cases. - doTestAllowedUidsWithSubId(defaultSubId, TRANSPORT_CELLULAR, uid, - expectUidsPresent = false) - doTestAllowedUidsWithSubId(defaultSubId, TRANSPORT_WIFI, uid, - expectUidsPresent = false) - doTestAllowedUidsWithSubId(defaultSubId, TRANSPORT_BLUETOOTH, uid, - expectUidsPresent = false) + doTestAllowedUidsWithSubId( + defaultSubId, + TRANSPORT_CELLULAR, + uid, + expectUidsPresent = false + ) + doTestAllowedUidsWithSubId( + defaultSubId, + TRANSPORT_WIFI, + uid, + expectUidsPresent = false + ) + doTestAllowedUidsWithSubId( + defaultSubId, + TRANSPORT_BLUETOOTH, + uid, + expectUidsPresent = false + ) // The tools to set the carrier service package override do not exist before U, // so there is no way to test the rest of this test on < U. @@ -764,9 +783,11 @@ class NetworkAgentTest { val timeout = SystemClock.elapsedRealtime() + DEFAULT_TIMEOUT_MS while (true) { if (SystemClock.elapsedRealtime() > timeout) { - fail("Couldn't make $servicePackage the service package for $defaultSubId: " + + fail( + "Couldn't make $servicePackage the service package for $defaultSubId: " + "dumpsys connectivity".execute().split("\n") - .filter { it.contains("Logical slot = $defaultSlotIndex.*") }) + .filter { it.contains("Logical slot = $defaultSlotIndex.*") } + ) } if ("dumpsys connectivity" .execute() @@ -789,10 +810,18 @@ class NetworkAgentTest { // TODO(b/315136340): Allow ownerUid to see allowedUids and enable below test case // doTestAllowedUids(defaultSubId, TRANSPORT_WIFI, uid, expectUidsPresent = true) } - doTestAllowedUidsWithSubId(defaultSubId, TRANSPORT_BLUETOOTH, uid, - expectUidsPresent = false) - doTestAllowedUidsWithSubId(defaultSubId, intArrayOf(TRANSPORT_CELLULAR, TRANSPORT_WIFI), - uid, expectUidsPresent = false) + doTestAllowedUidsWithSubId( + defaultSubId, + TRANSPORT_BLUETOOTH, + uid, + expectUidsPresent = false + ) + doTestAllowedUidsWithSubId( + defaultSubId, + intArrayOf(TRANSPORT_CELLULAR, TRANSPORT_WIFI), + uid, + expectUidsPresent = false + ) } } @@ -1848,8 +1877,10 @@ class NetworkAgentTest { it.setTransportInfo(VpnTransportInfo( VpnManager.TYPE_VPN_PLATFORM, sessionId, - /*bypassable=*/ false, - /*longLivedTcpConnectionsExpensive=*/ false + /*bypassable=*/ + false, + /*longLivedTcpConnectionsExpensive=*/ + false )) it.underlyingNetworks = listOf() }