Merge changes from topic "connectivitymanager-blockedreason-shim" am: bea56fbe11

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1676430

Change-Id: I6d9dc4e6fd3fa832efbafa4893cc20dccfe3d7a3
This commit is contained in:
Treehugger Robot
2021-04-15 08:27:32 +00:00
committed by Automerger Merge Worker

View File

@@ -28,8 +28,6 @@ import static android.content.pm.PackageManager.FEATURE_WIFI;
import static android.content.pm.PackageManager.FEATURE_WIFI_DIRECT; import static android.content.pm.PackageManager.FEATURE_WIFI_DIRECT;
import static android.content.pm.PackageManager.GET_PERMISSIONS; import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.net.ConnectivityManager.BLOCKED_REASON_LOCKDOWN_VPN;
import static android.net.ConnectivityManager.BLOCKED_REASON_NONE;
import static android.net.ConnectivityManager.TYPE_BLUETOOTH; import static android.net.ConnectivityManager.TYPE_BLUETOOTH;
import static android.net.ConnectivityManager.TYPE_ETHERNET; import static android.net.ConnectivityManager.TYPE_ETHERNET;
import static android.net.ConnectivityManager.TYPE_MOBILE_CBS; import static android.net.ConnectivityManager.TYPE_MOBILE_CBS;
@@ -64,6 +62,8 @@ import static android.system.OsConstants.AF_UNSPEC;
import static com.android.compatibility.common.util.SystemUtil.runShellCommand; import static com.android.compatibility.common.util.SystemUtil.runShellCommand;
import static com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity; import static com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity;
import static com.android.networkstack.apishim.ConstantsShim.BLOCKED_REASON_LOCKDOWN_VPN;
import static com.android.networkstack.apishim.ConstantsShim.BLOCKED_REASON_NONE;
import static com.android.testutils.MiscAsserts.assertThrows; import static com.android.testutils.MiscAsserts.assertThrows;
import static com.android.testutils.TestPermissionUtil.runAsShell; import static com.android.testutils.TestPermissionUtil.runAsShell;
@@ -137,7 +137,6 @@ import com.android.networkstack.apishim.ConstantsShim;
import com.android.networkstack.apishim.common.ConnectivityManagerShim; import com.android.networkstack.apishim.common.ConnectivityManagerShim;
import com.android.testutils.CompatUtil; import com.android.testutils.CompatUtil;
import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo;
import com.android.testutils.DevSdkIgnoreRuleKt; import com.android.testutils.DevSdkIgnoreRuleKt;
import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.RecorderCallback.CallbackEntry;
import com.android.testutils.SkipPresubmit; import com.android.testutils.SkipPresubmit;
@@ -1719,8 +1718,11 @@ public class ConnectivityManagerTest {
* {@link android.Manifest.permission.NETWORK_SETTINGS}. * {@link android.Manifest.permission.NETWORK_SETTINGS}.
*/ */
@Test @Test
@IgnoreUpTo(Build.VERSION_CODES.R)
public void testRequestBackgroundNetwork() { public void testRequestBackgroundNetwork() {
// Cannot use @IgnoreUpTo(Build.VERSION_CODES.R) because this test also requires API 31
// shims, and @IgnoreUpTo does not check that.
assumeTrue(shouldTestSApis());
// Create a tun interface. Use the returned interface name as the specifier to create // Create a tun interface. Use the returned interface name as the specifier to create
// a test network request. // a test network request.
final TestNetworkManager tnm = runWithShellPermissionIdentity(() -> final TestNetworkManager tnm = runWithShellPermissionIdentity(() ->
@@ -1823,7 +1825,7 @@ public class ConnectivityManagerTest {
final DetailedBlockedStatusCallback otherUidCallback = new DetailedBlockedStatusCallback(); final DetailedBlockedStatusCallback otherUidCallback = new DetailedBlockedStatusCallback();
final int myUid = Process.myUid(); final int myUid = Process.myUid();
final int otherUid = UserHandle.of(5).getUid(Process.FIRST_APPLICATION_UID); final int otherUid = UserHandle.getUid(5, Process.FIRST_APPLICATION_UID);
final Handler handler = new Handler(Looper.getMainLooper()); final Handler handler = new Handler(Looper.getMainLooper());
mCm.registerDefaultNetworkCallback(myUidCallback, handler); mCm.registerDefaultNetworkCallback(myUidCallback, handler);
mCmShim.registerDefaultNetworkCallbackAsUid(otherUid, otherUidCallback, handler); mCmShim.registerDefaultNetworkCallbackAsUid(otherUid, otherUidCallback, handler);
@@ -1861,8 +1863,10 @@ public class ConnectivityManagerTest {
} }
@Test @Test
@IgnoreUpTo(Build.VERSION_CODES.R)
public void testBlockedStatusCallback() { public void testBlockedStatusCallback() {
// Cannot use @IgnoreUpTo(Build.VERSION_CODES.R) because this test also requires API 31
// shims, and @IgnoreUpTo does not check that.
assumeTrue(shouldTestSApis());
runWithShellPermissionIdentity(() -> doTestBlockedStatusCallback(), NETWORK_SETTINGS); runWithShellPermissionIdentity(() -> doTestBlockedStatusCallback(), NETWORK_SETTINGS);
} }
@@ -1893,8 +1897,10 @@ public class ConnectivityManagerTest {
} }
@Test @Test
@IgnoreUpTo(Build.VERSION_CODES.R)
public void testLegacyLockdownEnabled() { public void testLegacyLockdownEnabled() {
// Cannot use @IgnoreUpTo(Build.VERSION_CODES.R) because this test also requires API 31
// shims, and @IgnoreUpTo does not check that.
assumeTrue(shouldTestSApis());
runWithShellPermissionIdentity(() -> doTestLegacyLockdownEnabled(), NETWORK_SETTINGS); runWithShellPermissionIdentity(() -> doTestLegacyLockdownEnabled(), NETWORK_SETTINGS);
} }