Return current testable networks directly in instant mode
Some MultinetworkApiTest tests require a testable network and
attempt to request cell or Wi-Fi connections. This involves
calling ConnectivityManager#requestNetwork, which requires the
CHANGE_NETWORK_STATE permission. Since instant apps cannot be
granted this permission, return currently available testable
networks directly in instant mode instead of attempting to
request new ones.
Fix: 335103621
Test: atest CtsNetTestCases:android.net.cts.MultinetworkApiTest \
--instant
Change-Id: I51dbd33e0dab12856e1c0f387e45e6286feefe20
This commit is contained in:
parent
7e68d550f7
commit
82e396394b
1 changed files with 8 additions and 0 deletions
|
|
@ -265,6 +265,14 @@ public class MultinetworkApiTest {
|
|||
* Get all testable Networks with internet capability.
|
||||
*/
|
||||
private Set<Network> getTestableNetworks() throws InterruptedException {
|
||||
// Calling requestNetwork() to request a cell or Wi-Fi network via CtsNetUtils or
|
||||
// NetworkCallbackRule requires the CHANGE_NETWORK_STATE permission. This permission cannot
|
||||
// be granted to instant apps. Therefore, return currently available testable networks
|
||||
// directly in instant mode.
|
||||
if (mContext.getApplicationInfo().isInstantApp()) {
|
||||
return new ArraySet<>(mCtsNetUtils.getTestableNetworks());
|
||||
}
|
||||
|
||||
// Obtain cell and Wi-Fi through CtsNetUtils (which uses NetworkCallbacks), as they may have
|
||||
// just been reconnected by the test using NetworkCallbacks, so synchronous calls may not
|
||||
// yet return them (synchronous calls and callbacks should not be mixed for a given
|
||||
|
|
|
|||
Loading…
Reference in a new issue