Merge "Also test for additional NetworkCallback calls" am: dff6c5c30d am: 6978b2427c
am: 02310829cf Change-Id: I0264a471312423e896a1c2f479c0eeda737a1567
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);
|
||||||
@@ -1054,6 +1059,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
|||||||
AVAILABLE,
|
AVAILABLE,
|
||||||
NETWORK_CAPABILITIES,
|
NETWORK_CAPABILITIES,
|
||||||
LINK_PROPERTIES,
|
LINK_PROPERTIES,
|
||||||
|
SUSPENDED,
|
||||||
LOSING,
|
LOSING,
|
||||||
LOST,
|
LOST,
|
||||||
UNAVAILABLE
|
UNAVAILABLE
|
||||||
@@ -1067,7 +1073,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) {
|
||||||
@@ -1104,11 +1110,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 */);
|
||||||
@@ -1132,11 +1153,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",
|
||||||
@@ -1144,10 +1166,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() {
|
||||||
@@ -1184,8 +1246,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);
|
||||||
@@ -1199,8 +1261,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);
|
||||||
@@ -1223,8 +1285,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);
|
||||||
|
|
||||||
@@ -1236,9 +1298,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);
|
||||||
@@ -1274,28 +1337,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;
|
||||||
@@ -1312,7 +1379,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());
|
||||||
@@ -1320,17 +1387,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);
|
||||||
|
|
||||||
@@ -1346,22 +1415,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.
|
||||||
@@ -1369,31 +1438,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);
|
||||||
@@ -1401,13 +1472,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();
|
||||||
@@ -1423,7 +1496,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
|
||||||
@@ -1432,8 +1505,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();
|
||||||
@@ -1619,7 +1692,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();
|
||||||
@@ -1645,7 +1718,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();
|
||||||
@@ -1671,7 +1744,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.
|
||||||
@@ -1684,7 +1757,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.
|
||||||
@@ -1694,7 +1767,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.
|
||||||
@@ -1739,7 +1814,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();
|
||||||
}
|
}
|
||||||
@@ -1792,14 +1867,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();
|
||||||
@@ -1809,7 +1884,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
|
||||||
@@ -1817,28 +1892,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);
|
||||||
@@ -1847,10 +1910,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.
|
||||||
@@ -1861,20 +1924,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();
|
||||||
@@ -1917,18 +1988,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));
|
||||||
|
|
||||||
@@ -1936,7 +2009,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));
|
||||||
|
|
||||||
@@ -1945,9 +2019,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));
|
||||||
|
|
||||||
@@ -1955,7 +2035,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));
|
||||||
|
|
||||||
@@ -1963,7 +2044,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);
|
||||||
@@ -2104,7 +2185,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.
|
||||||
|
|
||||||
@@ -2195,20 +2276,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.
|
||||||
@@ -2223,18 +2306,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(
|
||||||
@@ -2245,13 +2328,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.
|
||||||
@@ -2259,7 +2344,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(
|
||||||
@@ -2270,17 +2355,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);
|
||||||
@@ -2322,7 +2407,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();
|
||||||
@@ -2343,7 +2428,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