Merge "Fix CTS test failed on R device"
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user