Merge "Fix CTS test failed on R device"

This commit is contained in:
Treehugger Robot
2021-02-22 10:37:29 +00:00
committed by Gerrit Code Review

View File

@@ -109,6 +109,7 @@ import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
import com.android.internal.util.ArrayUtils;
import com.android.modules.utils.build.SdkLevel;
import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo;
import com.android.testutils.RecorderCallback.CallbackEntry;
@@ -521,11 +522,12 @@ public class ConnectivityManagerTest {
mCm.registerDefaultNetworkCallback(defaultTrackingCallback);
final TestNetworkCallback systemDefaultTrackingCallback = new TestNetworkCallback();
if (SdkLevel.isAtLeastS()) {
runWithShellPermissionIdentity(() ->
mCm.registerSystemDefaultNetworkCallback(systemDefaultTrackingCallback,
new Handler(Looper.getMainLooper())),
NETWORK_SETTINGS);
}
Network wifiNetwork = null;
@@ -542,18 +544,22 @@ public class ConnectivityManagerTest {
assertNotNull("Did not receive onAvailable on default network callback",
defaultTrackingCallback.waitForAvailable());
if (SdkLevel.isAtLeastS()) {
assertNotNull("Did not receive onAvailable on system default network callback",
systemDefaultTrackingCallback.waitForAvailable());
}
} catch (InterruptedException e) {
fail("Broadcast receiver or NetworkCallback wait was interrupted.");
} finally {
mCm.unregisterNetworkCallback(callback);
mCm.unregisterNetworkCallback(defaultTrackingCallback);
if (SdkLevel.isAtLeastS()) {
runWithShellPermissionIdentity(
() -> mCm.unregisterNetworkCallback(systemDefaultTrackingCallback),
NETWORK_SETTINGS);
}
}
}
/**
* Tests both registerNetworkCallback and unregisterNetworkCallback similarly to