Merge changes I3d68dbf8,I6ea524bb,I978d9119
* changes: Deprecate CONNECTIVITY_ACTION. Publish FOREGROUND and add NOT_SUSPENDED capabilities. Send null UIDs to apps instead of single-uid lists.
This commit is contained in:
@@ -38,6 +38,7 @@ import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.mockito.Mockito.any;
|
||||
import static org.mockito.Mockito.anyBoolean;
|
||||
import static org.mockito.Mockito.anyInt;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.timeout;
|
||||
@@ -217,7 +218,8 @@ public class ConnectivityManagerTest {
|
||||
|
||||
// callback triggers
|
||||
captor.getValue().send(makeMessage(request, ConnectivityManager.CALLBACK_AVAILABLE));
|
||||
verify(callback, timeout(500).times(1)).onAvailable(any());
|
||||
verify(callback, timeout(500).times(1)).onAvailable(any(Network.class),
|
||||
any(NetworkCapabilities.class), any(LinkProperties.class));
|
||||
|
||||
// unregister callback
|
||||
manager.unregisterNetworkCallback(callback);
|
||||
@@ -244,7 +246,8 @@ public class ConnectivityManagerTest {
|
||||
|
||||
// callback triggers
|
||||
captor.getValue().send(makeMessage(req1, ConnectivityManager.CALLBACK_AVAILABLE));
|
||||
verify(callback, timeout(100).times(1)).onAvailable(any());
|
||||
verify(callback, timeout(100).times(1)).onAvailable(any(Network.class),
|
||||
any(NetworkCapabilities.class), any(LinkProperties.class));
|
||||
|
||||
// unregister callback
|
||||
manager.unregisterNetworkCallback(callback);
|
||||
@@ -335,6 +338,10 @@ public class ConnectivityManagerTest {
|
||||
static Message makeMessage(NetworkRequest req, int messageType) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable(NetworkRequest.class.getSimpleName(), req);
|
||||
// Pass default objects as we don't care which get passed here
|
||||
bundle.putParcelable(Network.class.getSimpleName(), new Network(1));
|
||||
bundle.putParcelable(NetworkCapabilities.class.getSimpleName(), new NetworkCapabilities());
|
||||
bundle.putParcelable(LinkProperties.class.getSimpleName(), new LinkProperties());
|
||||
Message msg = Message.obtain();
|
||||
msg.what = messageType;
|
||||
msg.setData(bundle);
|
||||
|
||||
@@ -35,6 +35,7 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_RCS;
|
||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_SUPL;
|
||||
@@ -528,6 +529,11 @@ public class ConnectivityServiceTest {
|
||||
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
|
||||
}
|
||||
|
||||
public void resume() {
|
||||
mNetworkInfo.setDetailedState(DetailedState.CONNECTED, null, null);
|
||||
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
|
||||
}
|
||||
|
||||
public void disconnect() {
|
||||
mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, null);
|
||||
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
|
||||
@@ -569,6 +575,10 @@ public class ConnectivityServiceTest {
|
||||
assertTrue(mNetworkStatusReceived.block(TIMEOUT_MS));
|
||||
return mRedirectUrl;
|
||||
}
|
||||
|
||||
public NetworkCapabilities getNetworkCapabilities() {
|
||||
return mNetworkCapabilities;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1273,6 +1283,7 @@ public class ConnectivityServiceTest {
|
||||
NETWORK_CAPABILITIES,
|
||||
LINK_PROPERTIES,
|
||||
SUSPENDED,
|
||||
RESUMED,
|
||||
LOSING,
|
||||
LOST,
|
||||
UNAVAILABLE
|
||||
@@ -1343,6 +1354,11 @@ public class ConnectivityServiceTest {
|
||||
setLastCallback(CallbackState.SUSPENDED, network, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNetworkResumed(Network network) {
|
||||
setLastCallback(CallbackState.RESUMED, network, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLosing(Network network, int maxMsToLive) {
|
||||
setLastCallback(CallbackState.LOSING, network, maxMsToLive /* autoboxed int */);
|
||||
@@ -2459,16 +2475,31 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// Suspend the network.
|
||||
mCellNetworkAgent.suspend();
|
||||
cellNetworkCallback.expectCapabilitiesWithout(NET_CAPABILITY_NOT_SUSPENDED,
|
||||
mCellNetworkAgent);
|
||||
cellNetworkCallback.expectCallback(CallbackState.SUSPENDED, mCellNetworkAgent);
|
||||
cellNetworkCallback.assertNoCallback();
|
||||
|
||||
// Register a garden variety default network request.
|
||||
final TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback();
|
||||
TestNetworkCallback dfltNetworkCallback = new TestNetworkCallback();
|
||||
mCm.registerDefaultNetworkCallback(dfltNetworkCallback);
|
||||
// We should get onAvailable(), onCapabilitiesChanged(), onLinkPropertiesChanged(),
|
||||
// as well as onNetworkSuspended() in rapid succession.
|
||||
dfltNetworkCallback.expectAvailableAndSuspendedCallbacks(mCellNetworkAgent, true);
|
||||
dfltNetworkCallback.assertNoCallback();
|
||||
mCm.unregisterNetworkCallback(dfltNetworkCallback);
|
||||
|
||||
mCellNetworkAgent.resume();
|
||||
cellNetworkCallback.expectCapabilitiesWith(NET_CAPABILITY_NOT_SUSPENDED,
|
||||
mCellNetworkAgent);
|
||||
cellNetworkCallback.expectCallback(CallbackState.RESUMED, mCellNetworkAgent);
|
||||
cellNetworkCallback.assertNoCallback();
|
||||
|
||||
dfltNetworkCallback = new TestNetworkCallback();
|
||||
mCm.registerDefaultNetworkCallback(dfltNetworkCallback);
|
||||
// This time onNetworkSuspended should not be called.
|
||||
dfltNetworkCallback.expectAvailableCallbacksValidated(mCellNetworkAgent);
|
||||
dfltNetworkCallback.assertNoCallback();
|
||||
|
||||
mCm.unregisterNetworkCallback(dfltNetworkCallback);
|
||||
mCm.unregisterNetworkCallback(cellNetworkCallback);
|
||||
@@ -3682,8 +3713,7 @@ public class ConnectivityServiceTest {
|
||||
vpnNetworkCallback.expectAvailableCallbacksUnvalidated(vpnNetworkAgent);
|
||||
|
||||
genericNetworkCallback.expectCallback(CallbackState.NETWORK_CAPABILITIES, vpnNetworkAgent);
|
||||
vpnNetworkCallback.expectCapabilitiesLike(
|
||||
nc -> nc.appliesToUid(uid) && !nc.appliesToUid(uid + 1), vpnNetworkAgent);
|
||||
vpnNetworkCallback.expectCapabilitiesLike(nc -> null == nc.getUids(), vpnNetworkAgent);
|
||||
|
||||
ranges.clear();
|
||||
vpnNetworkAgent.setUids(ranges);
|
||||
|
||||
Reference in New Issue
Block a user