Merge "Also test for additional NetworkCallback calls"
am: dff6c5c30d Change-Id: I00b3f7be06bde167872d0cdefe940cda5e138846
This commit is contained in:
@@ -369,6 +369,11 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
connect(false);
|
connect(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void suspend() {
|
||||||
|
mNetworkInfo.setDetailedState(DetailedState.SUSPENDED, null, null);
|
||||||
|
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
|
||||||
|
}
|
||||||
|
|
||||||
public void disconnect() {
|
public void disconnect() {
|
||||||
mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, null);
|
mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, null);
|
||||||
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
|
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
|
||||||
@@ -1048,6 +1053,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
AVAILABLE,
|
AVAILABLE,
|
||||||
NETWORK_CAPABILITIES,
|
NETWORK_CAPABILITIES,
|
||||||
LINK_PROPERTIES,
|
LINK_PROPERTIES,
|
||||||
|
SUSPENDED,
|
||||||
LOSING,
|
LOSING,
|
||||||
LOST,
|
LOST,
|
||||||
UNAVAILABLE
|
UNAVAILABLE
|
||||||
@@ -1061,7 +1067,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
state = s; network = n; arg = o;
|
state = s; network = n; arg = o;
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.format("%s (%s)", state, network);
|
return String.format("%s (%s) (%s)", state, network, arg);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
@@ -1098,11 +1104,26 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
setLastCallback(CallbackState.AVAILABLE, network, null);
|
setLastCallback(CallbackState.AVAILABLE, network, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCapabilitiesChanged(Network network, NetworkCapabilities netCap) {
|
||||||
|
setLastCallback(CallbackState.NETWORK_CAPABILITIES, network, netCap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLinkPropertiesChanged(Network network, LinkProperties linkProp) {
|
||||||
|
setLastCallback(CallbackState.LINK_PROPERTIES, network, linkProp);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUnavailable() {
|
public void onUnavailable() {
|
||||||
setLastCallback(CallbackState.UNAVAILABLE, null, null);
|
setLastCallback(CallbackState.UNAVAILABLE, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNetworkSuspended(Network network) {
|
||||||
|
setLastCallback(CallbackState.SUSPENDED, network, null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLosing(Network network, int maxMsToLive) {
|
public void onLosing(Network network, int maxMsToLive) {
|
||||||
setLastCallback(CallbackState.LOSING, network, maxMsToLive /* autoboxed int */);
|
setLastCallback(CallbackState.LOSING, network, maxMsToLive /* autoboxed int */);
|
||||||
@@ -1126,11 +1147,12 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
return cb;
|
return cb;
|
||||||
}
|
}
|
||||||
|
|
||||||
void expectCallback(CallbackState state, MockNetworkAgent mockAgent, int timeoutMs) {
|
CallbackInfo expectCallback(CallbackState state, MockNetworkAgent agent, int timeoutMs) {
|
||||||
CallbackInfo expected = new CallbackInfo(
|
final Network expectedNetwork = (agent != null) ? agent.getNetwork() : null;
|
||||||
state, (mockAgent != null) ? mockAgent.getNetwork() : null, 0);
|
CallbackInfo expected = new CallbackInfo(state, expectedNetwork, 0);
|
||||||
CallbackInfo actual = nextCallback(timeoutMs);
|
CallbackInfo actual = nextCallback(timeoutMs);
|
||||||
assertEquals("Unexpected callback:", expected, actual);
|
assertEquals("Unexpected callback:", expected, actual);
|
||||||
|
|
||||||
if (state == CallbackState.LOSING) {
|
if (state == CallbackState.LOSING) {
|
||||||
String msg = String.format(
|
String msg = String.format(
|
||||||
"Invalid linger time value %d, must be between %d and %d",
|
"Invalid linger time value %d, must be between %d and %d",
|
||||||
@@ -1138,10 +1160,50 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
int maxMsToLive = (Integer) actual.arg;
|
int maxMsToLive = (Integer) actual.arg;
|
||||||
assertTrue(msg, 0 <= maxMsToLive && maxMsToLive <= TEST_LINGER_DELAY_MS);
|
assertTrue(msg, 0 <= maxMsToLive && maxMsToLive <= TEST_LINGER_DELAY_MS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return actual;
|
||||||
}
|
}
|
||||||
|
|
||||||
void expectCallback(CallbackState state, MockNetworkAgent mockAgent) {
|
CallbackInfo expectCallback(CallbackState state, MockNetworkAgent agent) {
|
||||||
expectCallback(state, mockAgent, TIMEOUT_MS);
|
return expectCallback(state, agent, TIMEOUT_MS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void expectAvailableCallbacks(MockNetworkAgent agent, boolean expectSuspended, int timeoutMs) {
|
||||||
|
expectCallback(CallbackState.AVAILABLE, agent, timeoutMs);
|
||||||
|
|
||||||
|
final boolean HAS_DATASYNC_ON_AVAILABLE = false;
|
||||||
|
if (HAS_DATASYNC_ON_AVAILABLE) {
|
||||||
|
if (expectSuspended) {
|
||||||
|
expectCallback(CallbackState.SUSPENDED, agent, timeoutMs);
|
||||||
|
}
|
||||||
|
expectCallback(CallbackState.NETWORK_CAPABILITIES, agent, timeoutMs);
|
||||||
|
expectCallback(CallbackState.LINK_PROPERTIES, agent, timeoutMs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void expectAvailableCallbacks(MockNetworkAgent agent) {
|
||||||
|
expectAvailableCallbacks(agent, false, TIMEOUT_MS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void expectAvailableAndSuspendedCallbacks(MockNetworkAgent agent) {
|
||||||
|
expectAvailableCallbacks(agent, true, TIMEOUT_MS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void expectAvailableAndValidatedCallbacks(MockNetworkAgent agent) {
|
||||||
|
expectAvailableCallbacks(agent, true, TIMEOUT_MS);
|
||||||
|
expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, agent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void expectCapabilitiesWith(int capability, MockNetworkAgent agent) {
|
||||||
|
CallbackInfo cbi = expectCallback(CallbackState.NETWORK_CAPABILITIES, agent);
|
||||||
|
NetworkCapabilities nc = (NetworkCapabilities) cbi.arg;
|
||||||
|
assertTrue(nc.hasCapability(capability));
|
||||||
|
}
|
||||||
|
|
||||||
|
void expectCapabilitiesWithout(int capability, MockNetworkAgent agent) {
|
||||||
|
CallbackInfo cbi = expectCallback(CallbackState.NETWORK_CAPABILITIES, agent);
|
||||||
|
NetworkCapabilities nc = (NetworkCapabilities) cbi.arg;
|
||||||
|
assertFalse(nc.hasCapability(capability));
|
||||||
}
|
}
|
||||||
|
|
||||||
void assertNoCallback() {
|
void assertNoCallback() {
|
||||||
@@ -1178,8 +1240,8 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
ConditionVariable cv = waitForConnectivityBroadcasts(1);
|
ConditionVariable cv = waitForConnectivityBroadcasts(1);
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(false);
|
mCellNetworkAgent.connect(false);
|
||||||
genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
genericNetworkCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
waitFor(cv);
|
waitFor(cv);
|
||||||
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
||||||
@@ -1193,8 +1255,8 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
cv = waitForConnectivityBroadcasts(2);
|
cv = waitForConnectivityBroadcasts(2);
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(false);
|
mWiFiNetworkAgent.connect(false);
|
||||||
genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
genericNetworkCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
wifiNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
wifiNetworkCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
waitFor(cv);
|
waitFor(cv);
|
||||||
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
||||||
@@ -1217,8 +1279,8 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// Test validated networks
|
// Test validated networks
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
genericNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
||||||
|
|
||||||
@@ -1230,9 +1292,10 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
|
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
genericNetworkCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
genericNetworkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
genericNetworkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
wifiNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
genericNetworkCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
|
wifiNetworkCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
cellNetworkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
|
||||||
@@ -1268,28 +1331,32 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mEthernetNetworkAgent.addCapability(NET_CAPABILITY_NOT_METERED);
|
mEthernetNetworkAgent.addCapability(NET_CAPABILITY_NOT_METERED);
|
||||||
|
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
callback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
// We get AVAILABLE on wifi when wifi connects and satisfies our unmetered request.
|
// We get AVAILABLE on wifi when wifi connects and satisfies our unmetered request.
|
||||||
// We then get LOSING when wifi validates and cell is outscored.
|
// We then get LOSING when wifi validates and cell is outscored.
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
// TODO: Investigate sending validated before losing.
|
||||||
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
|
defaultCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
mEthernetNetworkAgent.connect(true);
|
mEthernetNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mEthernetNetworkAgent);
|
callback.expectAvailableCallbacks(mEthernetNetworkAgent);
|
||||||
|
// TODO: Investigate sending validated before losing.
|
||||||
callback.expectCallback(CallbackState.LOSING, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOSING, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mEthernetNetworkAgent);
|
callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mEthernetNetworkAgent);
|
||||||
|
defaultCallback.expectAvailableAndValidatedCallbacks(mEthernetNetworkAgent);
|
||||||
assertEquals(mEthernetNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mEthernetNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
mEthernetNetworkAgent.disconnect();
|
mEthernetNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mEthernetNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mEthernetNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mEthernetNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mEthernetNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
MockNetworkAgent oldNetwork, newNetwork;
|
MockNetworkAgent oldNetwork, newNetwork;
|
||||||
@@ -1306,7 +1373,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
callback.expectCallback(CallbackState.LOSING, oldNetwork);
|
callback.expectCallback(CallbackState.LOSING, oldNetwork);
|
||||||
// TODO: should we send an AVAILABLE callback to newNetwork, to indicate that it is no
|
// TODO: should we send an AVAILABLE callback to newNetwork, to indicate that it is no
|
||||||
// longer lingering?
|
// longer lingering?
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, newNetwork);
|
defaultCallback.expectAvailableCallbacks(newNetwork);
|
||||||
assertEquals(newNetwork.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(newNetwork.getNetwork(), mCm.getActiveNetwork());
|
||||||
}
|
}
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
@@ -1314,17 +1381,19 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// Verify that if a network no longer satisfies a request, we send LOST and not LOSING, even
|
// Verify that if a network no longer satisfies a request, we send LOST and not LOSING, even
|
||||||
// if the network is still up.
|
// if the network is still up.
|
||||||
mWiFiNetworkAgent.removeCapability(NET_CAPABILITY_NOT_METERED);
|
mWiFiNetworkAgent.removeCapability(NET_CAPABILITY_NOT_METERED);
|
||||||
|
// We expect a notification about the capabilities change, and nothing else.
|
||||||
|
defaultCallback.expectCapabilitiesWithout(NET_CAPABILITY_NOT_METERED, mWiFiNetworkAgent);
|
||||||
|
defaultCallback.assertNoCallback();
|
||||||
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
|
|
||||||
// Wifi no longer satisfies our listen, which is for an unmetered network.
|
// Wifi no longer satisfies our listen, which is for an unmetered network.
|
||||||
// But because its score is 55, it's still up (and the default network).
|
// But because its score is 55, it's still up (and the default network).
|
||||||
defaultCallback.assertNoCallback();
|
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
// Disconnect our test networks.
|
// Disconnect our test networks.
|
||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
mCellNetworkAgent.disconnect();
|
mCellNetworkAgent.disconnect();
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
|
|
||||||
@@ -1340,22 +1409,22 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
|
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(false); // Score: 10
|
mCellNetworkAgent.connect(false); // Score: 10
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
callback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
// Bring up wifi with a score of 20.
|
// Bring up wifi with a score of 20.
|
||||||
// Cell stays up because it would satisfy the default request if it validated.
|
// Cell stays up because it would satisfy the default request if it validated.
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(false); // Score: 20
|
mWiFiNetworkAgent.connect(false); // Score: 20
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
// Bring up wifi with a score of 70.
|
// Bring up wifi with a score of 70.
|
||||||
@@ -1363,31 +1432,33 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.adjustScore(50);
|
mWiFiNetworkAgent.adjustScore(50);
|
||||||
mWiFiNetworkAgent.connect(false); // Score: 70
|
mWiFiNetworkAgent.connect(false); // Score: 70
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
// Tear down wifi.
|
// Tear down wifi.
|
||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
// Bring up wifi, then validate it. Previous versions would immediately tear down cell, but
|
// Bring up wifi, then validate it. Previous versions would immediately tear down cell, but
|
||||||
// it's arguably correct to linger it, since it was the default network before it validated.
|
// it's arguably correct to linger it, since it was the default network before it validated.
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
// TODO: Investigate sending validated before losing.
|
||||||
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
|
defaultCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
|
||||||
|
|
||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
mCellNetworkAgent.disconnect();
|
mCellNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
@@ -1395,13 +1466,15 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// If a network is lingering, and we add and remove a request from it, resume lingering.
|
// If a network is lingering, and we add and remove a request from it, resume lingering.
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
callback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
// TODO: Investigate sending validated before losing.
|
||||||
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
|
callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
|
|
||||||
NetworkRequest cellRequest = new NetworkRequest.Builder()
|
NetworkRequest cellRequest = new NetworkRequest.Builder()
|
||||||
.addTransportType(TRANSPORT_CELLULAR).build();
|
.addTransportType(TRANSPORT_CELLULAR).build();
|
||||||
@@ -1417,7 +1490,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
|
|
||||||
// Cell is now the default network. Pin it with a cell-specific request.
|
// Cell is now the default network. Pin it with a cell-specific request.
|
||||||
noopCallback = new NetworkCallback(); // Can't reuse NetworkCallbacks. http://b/20701525
|
noopCallback = new NetworkCallback(); // Can't reuse NetworkCallbacks. http://b/20701525
|
||||||
@@ -1426,8 +1499,8 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// Now connect wifi, and expect it to become the default network.
|
// Now connect wifi, and expect it to become the default network.
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
// The default request is lingering on cell, but nothing happens to cell, and we send no
|
// The default request is lingering on cell, but nothing happens to cell, and we send no
|
||||||
// callbacks for it, because it's kept up by cellRequest.
|
// callbacks for it, because it's kept up by cellRequest.
|
||||||
callback.assertNoCallback();
|
callback.assertNoCallback();
|
||||||
@@ -1613,7 +1686,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.addCapability(NET_CAPABILITY_MMS);
|
mCellNetworkAgent.addCapability(NET_CAPABILITY_MMS);
|
||||||
mCellNetworkAgent.connectWithoutInternet();
|
mCellNetworkAgent.connectWithoutInternet();
|
||||||
networkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
networkCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
verifyActiveNetwork(TRANSPORT_WIFI);
|
verifyActiveNetwork(TRANSPORT_WIFI);
|
||||||
// Test releasing NetworkRequest disconnects cellular with MMS
|
// Test releasing NetworkRequest disconnects cellular with MMS
|
||||||
cv = mCellNetworkAgent.getDisconnectedCV();
|
cv = mCellNetworkAgent.getDisconnectedCV();
|
||||||
@@ -1639,7 +1712,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
MockNetworkAgent mmsNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
MockNetworkAgent mmsNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mmsNetworkAgent.addCapability(NET_CAPABILITY_MMS);
|
mmsNetworkAgent.addCapability(NET_CAPABILITY_MMS);
|
||||||
mmsNetworkAgent.connectWithoutInternet();
|
mmsNetworkAgent.connectWithoutInternet();
|
||||||
networkCallback.expectCallback(CallbackState.AVAILABLE, mmsNetworkAgent);
|
networkCallback.expectAvailableCallbacks(mmsNetworkAgent);
|
||||||
verifyActiveNetwork(TRANSPORT_CELLULAR);
|
verifyActiveNetwork(TRANSPORT_CELLULAR);
|
||||||
// Test releasing MMS NetworkRequest does not disconnect main cellular NetworkAgent
|
// Test releasing MMS NetworkRequest does not disconnect main cellular NetworkAgent
|
||||||
cv = mmsNetworkAgent.getDisconnectedCV();
|
cv = mmsNetworkAgent.getDisconnectedCV();
|
||||||
@@ -1665,7 +1738,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
String firstRedirectUrl = "http://example.com/firstPath";
|
String firstRedirectUrl = "http://example.com/firstPath";
|
||||||
mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl);
|
mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl);
|
||||||
captivePortalCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
captivePortalCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), firstRedirectUrl);
|
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), firstRedirectUrl);
|
||||||
|
|
||||||
// Take down network.
|
// Take down network.
|
||||||
@@ -1678,7 +1751,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
String secondRedirectUrl = "http://example.com/secondPath";
|
String secondRedirectUrl = "http://example.com/secondPath";
|
||||||
mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl);
|
mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl);
|
||||||
captivePortalCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
captivePortalCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), secondRedirectUrl);
|
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), secondRedirectUrl);
|
||||||
|
|
||||||
// Make captive portal disappear then revalidate.
|
// Make captive portal disappear then revalidate.
|
||||||
@@ -1688,7 +1761,9 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
captivePortalCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
captivePortalCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
|
|
||||||
// Expect NET_CAPABILITY_VALIDATED onAvailable callback.
|
// Expect NET_CAPABILITY_VALIDATED onAvailable callback.
|
||||||
validatedCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
validatedCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
// TODO: Investigate only sending available callbacks.
|
||||||
|
validatedCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
|
|
||||||
// Break network connectivity.
|
// Break network connectivity.
|
||||||
// Expect NET_CAPABILITY_VALIDATED onLost callback.
|
// Expect NET_CAPABILITY_VALIDATED onLost callback.
|
||||||
@@ -1733,7 +1808,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl);
|
mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl);
|
||||||
|
|
||||||
// Expect NET_CAPABILITY_VALIDATED onAvailable callback.
|
// Expect NET_CAPABILITY_VALIDATED onAvailable callback.
|
||||||
validatedCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
validatedCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
// But there should be no CaptivePortal callback.
|
// But there should be no CaptivePortal callback.
|
||||||
captivePortalCallback.assertNoCallback();
|
captivePortalCallback.assertNoCallback();
|
||||||
}
|
}
|
||||||
@@ -1786,14 +1861,14 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// Bring up cell and expect CALLBACK_AVAILABLE.
|
// Bring up cell and expect CALLBACK_AVAILABLE.
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
defaultNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
|
|
||||||
// Bring up wifi and expect CALLBACK_AVAILABLE.
|
// Bring up wifi and expect CALLBACK_AVAILABLE.
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
defaultNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultNetworkCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
|
|
||||||
// Bring down cell. Expect no default network callback, since it wasn't the default.
|
// Bring down cell. Expect no default network callback, since it wasn't the default.
|
||||||
mCellNetworkAgent.disconnect();
|
mCellNetworkAgent.disconnect();
|
||||||
@@ -1803,7 +1878,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// Bring up cell. Expect no default network callback, since it won't be the default.
|
// Bring up cell. Expect no default network callback, since it won't be the default.
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
defaultNetworkCallback.assertNoCallback();
|
defaultNetworkCallback.assertNoCallback();
|
||||||
|
|
||||||
// Bring down wifi. Expect the default network callback to notified of LOST wifi
|
// Bring down wifi. Expect the default network callback to notified of LOST wifi
|
||||||
@@ -1811,28 +1886,16 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
defaultNetworkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
defaultNetworkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
defaultNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultNetworkCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
mCellNetworkAgent.disconnect();
|
mCellNetworkAgent.disconnect();
|
||||||
cellNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
cellNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
defaultNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
defaultNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TestRequestUpdateCallback extends TestNetworkCallback {
|
|
||||||
@Override
|
|
||||||
public void onCapabilitiesChanged(Network network, NetworkCapabilities netCap) {
|
|
||||||
setLastCallback(CallbackState.NETWORK_CAPABILITIES, network, netCap);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLinkPropertiesChanged(Network network, LinkProperties linkProp) {
|
|
||||||
setLastCallback(CallbackState.LINK_PROPERTIES, network, linkProp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public void testRequestCallbackUpdates() throws Exception {
|
public void testAdditionalStateCallbacks() throws Exception {
|
||||||
// File a network request for mobile.
|
// File a network request for mobile.
|
||||||
final TestNetworkCallback cellNetworkCallback = new TestRequestUpdateCallback();
|
final TestNetworkCallback cellNetworkCallback = new TestNetworkCallback();
|
||||||
final NetworkRequest cellRequest = new NetworkRequest.Builder()
|
final NetworkRequest cellRequest = new NetworkRequest.Builder()
|
||||||
.addTransportType(TRANSPORT_CELLULAR).build();
|
.addTransportType(TRANSPORT_CELLULAR).build();
|
||||||
mCm.requestNetwork(cellRequest, cellNetworkCallback);
|
mCm.requestNetwork(cellRequest, cellNetworkCallback);
|
||||||
@@ -1841,10 +1904,10 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
|
|
||||||
// We should get onAvailable().
|
// We should get onAvailable(), onCapabilitiesChanged(), and
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
// onLinkPropertiesChanged() in rapid succession. Additionally, we
|
||||||
// We should get onCapabilitiesChanged(), when the mobile network successfully validates.
|
// should get onCapabilitiesChanged() when the mobile network validates.
|
||||||
cellNetworkCallback.expectCallback(CallbackState.NETWORK_CAPABILITIES, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
|
|
||||||
// Update LinkProperties.
|
// Update LinkProperties.
|
||||||
@@ -1855,20 +1918,28 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
cellNetworkCallback.expectCallback(CallbackState.LINK_PROPERTIES, mCellNetworkAgent);
|
cellNetworkCallback.expectCallback(CallbackState.LINK_PROPERTIES, mCellNetworkAgent);
|
||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
|
|
||||||
|
// Suspend the network.
|
||||||
|
mCellNetworkAgent.suspend();
|
||||||
|
cellNetworkCallback.expectCallback(CallbackState.SUSPENDED, mCellNetworkAgent);
|
||||||
|
cellNetworkCallback.assertNoCallback();
|
||||||
|
|
||||||
// Register a garden variety default network request.
|
// Register a garden variety default network request.
|
||||||
final TestNetworkCallback dfltNetworkCallback = new TestRequestUpdateCallback();
|
final TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback();
|
||||||
mCm.registerDefaultNetworkCallback(dfltNetworkCallback);
|
mCm.registerDefaultNetworkCallback(dfltNetworkCallback);
|
||||||
// Only onAvailable() is called; no other information is delivered.
|
// We should get onAvailable(), onCapabilitiesChanged(), onLinkPropertiesChanged(),
|
||||||
dfltNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
// as well as onNetworkSuspended() in rapid succession.
|
||||||
|
dfltNetworkCallback.expectAvailableAndSuspendedCallbacks(mCellNetworkAgent);
|
||||||
dfltNetworkCallback.assertNoCallback();
|
dfltNetworkCallback.assertNoCallback();
|
||||||
|
|
||||||
// Request a NetworkCapabilities update; only the requesting callback is notified.
|
// Request a NetworkCapabilities update; only the requesting callback is notified.
|
||||||
|
// TODO: Delete this together with Connectivity{Manager,Service} code.
|
||||||
mCm.requestNetworkCapabilities(dfltNetworkCallback);
|
mCm.requestNetworkCapabilities(dfltNetworkCallback);
|
||||||
dfltNetworkCallback.expectCallback(CallbackState.NETWORK_CAPABILITIES, mCellNetworkAgent);
|
dfltNetworkCallback.expectCallback(CallbackState.NETWORK_CAPABILITIES, mCellNetworkAgent);
|
||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
dfltNetworkCallback.assertNoCallback();
|
dfltNetworkCallback.assertNoCallback();
|
||||||
|
|
||||||
// Request a LinkProperties update; only the requesting callback is notified.
|
// Request a LinkProperties update; only the requesting callback is notified.
|
||||||
|
// TODO: Delete this together with Connectivity{Manager,Service} code.
|
||||||
mCm.requestLinkProperties(dfltNetworkCallback);
|
mCm.requestLinkProperties(dfltNetworkCallback);
|
||||||
dfltNetworkCallback.expectCallback(CallbackState.LINK_PROPERTIES, mCellNetworkAgent);
|
dfltNetworkCallback.expectCallback(CallbackState.LINK_PROPERTIES, mCellNetworkAgent);
|
||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
@@ -1911,18 +1982,20 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
|
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
callback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
fgCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
fgCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
||||||
|
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
|
|
||||||
// When wifi connects, cell lingers.
|
// When wifi connects, cell lingers.
|
||||||
callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
callback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
fgCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
|
||||||
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
|
callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
|
fgCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
fgCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
fgCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
|
||||||
|
fgCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
||||||
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
||||||
|
|
||||||
@@ -1930,7 +2003,8 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mService.waitForIdle();
|
mService.waitForIdle();
|
||||||
int timeoutMs = TEST_LINGER_DELAY_MS + TEST_LINGER_DELAY_MS / 4;
|
int timeoutMs = TEST_LINGER_DELAY_MS + TEST_LINGER_DELAY_MS / 4;
|
||||||
fgCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent, timeoutMs);
|
fgCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent, timeoutMs);
|
||||||
callback.assertNoCallback();
|
// Expect a network capabilities update sans FOREGROUND.
|
||||||
|
callback.expectCapabilitiesWithout(NET_CAPABILITY_FOREGROUND, mCellNetworkAgent);
|
||||||
assertFalse(isForegroundNetwork(mCellNetworkAgent));
|
assertFalse(isForegroundNetwork(mCellNetworkAgent));
|
||||||
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
||||||
|
|
||||||
@@ -1939,9 +2013,15 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
.addTransportType(TRANSPORT_CELLULAR).build();
|
.addTransportType(TRANSPORT_CELLULAR).build();
|
||||||
final TestNetworkCallback cellCallback = new TestNetworkCallback();
|
final TestNetworkCallback cellCallback = new TestNetworkCallback();
|
||||||
mCm.requestNetwork(cellRequest, cellCallback);
|
mCm.requestNetwork(cellRequest, cellCallback);
|
||||||
cellCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
// NOTE: This request causes the network's capabilities to change. This
|
||||||
fgCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
// is currently delivered before the onAvailable() callbacks.
|
||||||
callback.assertNoCallback(); // Because the network is already up.
|
// TODO: Fix this.
|
||||||
|
cellCallback.expectCapabilitiesWith(NET_CAPABILITY_FOREGROUND, mCellNetworkAgent);
|
||||||
|
cellCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
|
fgCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
|
// Expect a network capabilities update with FOREGROUND, because the most recent
|
||||||
|
// request causes its state to change.
|
||||||
|
callback.expectCapabilitiesWith(NET_CAPABILITY_FOREGROUND, mCellNetworkAgent);
|
||||||
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
||||||
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
||||||
|
|
||||||
@@ -1949,7 +2029,8 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// lingering.
|
// lingering.
|
||||||
mCm.unregisterNetworkCallback(cellCallback);
|
mCm.unregisterNetworkCallback(cellCallback);
|
||||||
fgCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
fgCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
callback.assertNoCallback();
|
// Expect a network capabilities update sans FOREGROUND.
|
||||||
|
callback.expectCapabilitiesWithout(NET_CAPABILITY_FOREGROUND, mCellNetworkAgent);
|
||||||
assertFalse(isForegroundNetwork(mCellNetworkAgent));
|
assertFalse(isForegroundNetwork(mCellNetworkAgent));
|
||||||
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
assertTrue(isForegroundNetwork(mWiFiNetworkAgent));
|
||||||
|
|
||||||
@@ -1957,7 +2038,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
fgCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
fgCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
fgCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
fgCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
assertTrue(isForegroundNetwork(mCellNetworkAgent));
|
||||||
|
|
||||||
mCm.unregisterNetworkCallback(callback);
|
mCm.unregisterNetworkCallback(callback);
|
||||||
@@ -2098,7 +2179,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
testFactory.expectAddRequests(2); // Because the cell request changes score twice.
|
testFactory.expectAddRequests(2); // Because the cell request changes score twice.
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
testFactory.waitForNetworkRequests(2);
|
testFactory.waitForNetworkRequests(2);
|
||||||
assertFalse(testFactory.getMyStartRequested()); // Because the cell network outscores us.
|
assertFalse(testFactory.getMyStartRequested()); // Because the cell network outscores us.
|
||||||
|
|
||||||
@@ -2189,20 +2270,22 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// Bring up validated cell.
|
// Bring up validated cell.
|
||||||
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
cellNetworkCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mCellNetworkAgent);
|
||||||
Network cellNetwork = mCellNetworkAgent.getNetwork();
|
Network cellNetwork = mCellNetworkAgent.getNetwork();
|
||||||
|
|
||||||
// Bring up validated wifi.
|
// Bring up validated wifi.
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
validatedWifiCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
validatedWifiCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
validatedWifiCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
Network wifiNetwork = mWiFiNetworkAgent.getNetwork();
|
Network wifiNetwork = mWiFiNetworkAgent.getNetwork();
|
||||||
|
|
||||||
// Fail validation on wifi.
|
// Fail validation on wifi.
|
||||||
mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 599;
|
mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 599;
|
||||||
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
||||||
|
defaultCallback.expectCapabilitiesWithout(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
validatedWifiCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
validatedWifiCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
|
|
||||||
// Because avoid bad wifi is off, we don't switch to cellular.
|
// Because avoid bad wifi is off, we don't switch to cellular.
|
||||||
@@ -2217,18 +2300,18 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// that we switch back to cell.
|
// that we switch back to cell.
|
||||||
tracker.configRestrictsAvoidBadWifi = false;
|
tracker.configRestrictsAvoidBadWifi = false;
|
||||||
tracker.reevaluate();
|
tracker.reevaluate();
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCm.getActiveNetwork(), cellNetwork);
|
assertEquals(mCm.getActiveNetwork(), cellNetwork);
|
||||||
|
|
||||||
// Switch back to a restrictive carrier.
|
// Switch back to a restrictive carrier.
|
||||||
tracker.configRestrictsAvoidBadWifi = true;
|
tracker.configRestrictsAvoidBadWifi = true;
|
||||||
tracker.reevaluate();
|
tracker.reevaluate();
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mCm.getActiveNetwork(), wifiNetwork);
|
assertEquals(mCm.getActiveNetwork(), wifiNetwork);
|
||||||
|
|
||||||
// Simulate the user selecting "switch" on the dialog, and check that we switch to cell.
|
// Simulate the user selecting "switch" on the dialog, and check that we switch to cell.
|
||||||
mCm.setAvoidUnvalidated(wifiNetwork);
|
mCm.setAvoidUnvalidated(wifiNetwork);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertFalse(mCm.getNetworkCapabilities(wifiNetwork).hasCapability(
|
assertFalse(mCm.getNetworkCapabilities(wifiNetwork).hasCapability(
|
||||||
NET_CAPABILITY_VALIDATED));
|
NET_CAPABILITY_VALIDATED));
|
||||||
assertTrue(mCm.getNetworkCapabilities(cellNetwork).hasCapability(
|
assertTrue(mCm.getNetworkCapabilities(cellNetwork).hasCapability(
|
||||||
@@ -2239,13 +2322,15 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(true);
|
mWiFiNetworkAgent.connect(true);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableAndValidatedCallbacks(mWiFiNetworkAgent);
|
||||||
validatedWifiCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
validatedWifiCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
|
validatedWifiCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
wifiNetwork = mWiFiNetworkAgent.getNetwork();
|
wifiNetwork = mWiFiNetworkAgent.getNetwork();
|
||||||
|
|
||||||
// Fail validation on wifi and expect the dialog to appear.
|
// Fail validation on wifi and expect the dialog to appear.
|
||||||
mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 599;
|
mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 599;
|
||||||
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
||||||
|
defaultCallback.expectCapabilitiesWithout(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||||
validatedWifiCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
validatedWifiCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
|
|
||||||
// Simulate the user selecting "switch" and checking the don't ask again checkbox.
|
// Simulate the user selecting "switch" and checking the don't ask again checkbox.
|
||||||
@@ -2253,7 +2338,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
tracker.reevaluate();
|
tracker.reevaluate();
|
||||||
|
|
||||||
// We now switch to cell.
|
// We now switch to cell.
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertFalse(mCm.getNetworkCapabilities(wifiNetwork).hasCapability(
|
assertFalse(mCm.getNetworkCapabilities(wifiNetwork).hasCapability(
|
||||||
NET_CAPABILITY_VALIDATED));
|
NET_CAPABILITY_VALIDATED));
|
||||||
assertTrue(mCm.getNetworkCapabilities(cellNetwork).hasCapability(
|
assertTrue(mCm.getNetworkCapabilities(cellNetwork).hasCapability(
|
||||||
@@ -2264,17 +2349,17 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
// We switch to wifi and then to cell.
|
// We switch to wifi and then to cell.
|
||||||
Settings.Global.putString(cr, Settings.Global.NETWORK_AVOID_BAD_WIFI, null);
|
Settings.Global.putString(cr, Settings.Global.NETWORK_AVOID_BAD_WIFI, null);
|
||||||
tracker.reevaluate();
|
tracker.reevaluate();
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
assertEquals(mCm.getActiveNetwork(), wifiNetwork);
|
assertEquals(mCm.getActiveNetwork(), wifiNetwork);
|
||||||
Settings.Global.putInt(cr, Settings.Global.NETWORK_AVOID_BAD_WIFI, 1);
|
Settings.Global.putInt(cr, Settings.Global.NETWORK_AVOID_BAD_WIFI, 1);
|
||||||
tracker.reevaluate();
|
tracker.reevaluate();
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mCellNetworkAgent);
|
||||||
assertEquals(mCm.getActiveNetwork(), cellNetwork);
|
assertEquals(mCm.getActiveNetwork(), cellNetwork);
|
||||||
|
|
||||||
// If cell goes down, we switch to wifi.
|
// If cell goes down, we switch to wifi.
|
||||||
mCellNetworkAgent.disconnect();
|
mCellNetworkAgent.disconnect();
|
||||||
defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
|
||||||
defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
|
defaultCallback.expectAvailableCallbacks(mWiFiNetworkAgent);
|
||||||
validatedWifiCallback.assertNoCallback();
|
validatedWifiCallback.assertNoCallback();
|
||||||
|
|
||||||
mCm.unregisterNetworkCallback(cellNetworkCallback);
|
mCm.unregisterNetworkCallback(cellNetworkCallback);
|
||||||
@@ -2296,7 +2381,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
|
|
||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(false);
|
mWiFiNetworkAgent.connect(false);
|
||||||
networkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent, timeoutMs);
|
networkCallback.expectAvailableCallbacks(mWiFiNetworkAgent, false, timeoutMs);
|
||||||
|
|
||||||
// pass timeout and validate that UNAVAILABLE is not called
|
// pass timeout and validate that UNAVAILABLE is not called
|
||||||
networkCallback.assertNoCallback();
|
networkCallback.assertNoCallback();
|
||||||
@@ -2317,7 +2402,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
|
||||||
mWiFiNetworkAgent.connect(false);
|
mWiFiNetworkAgent.connect(false);
|
||||||
final int assertTimeoutMs = 150;
|
final int assertTimeoutMs = 150;
|
||||||
networkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent, assertTimeoutMs);
|
networkCallback.expectAvailableCallbacks(mWiFiNetworkAgent, false, assertTimeoutMs);
|
||||||
sleepFor(20);
|
sleepFor(20);
|
||||||
mWiFiNetworkAgent.disconnect();
|
mWiFiNetworkAgent.disconnect();
|
||||||
networkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
networkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
|
||||||
|
|||||||
Reference in New Issue
Block a user