Search in sources :

Example 16 with Network

use of android.net.Network in project android_frameworks_base by DirtyUnicorns.

the class NetdEventListenerServiceTest method testDnsBatchAndNetworkLost.

@SmallTest
public void testDnsBatchAndNetworkLost() throws Exception {
    byte[] eventTypes = Arrays.copyOf(EVENT_TYPES, 20);
    byte[] returnCodes = Arrays.copyOf(RETURN_CODES, 20);
    int[] latencies = Arrays.copyOf(LATENCIES, 20);
    log(105, LATENCIES);
    log(105, latencies);
    mCallbackCaptor.getValue().onLost(new Network(105));
    log(105, LATENCIES);
    verifyLoggedDnsEvents(new DnsEvent(105, eventTypes, returnCodes, latencies), new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES), new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES));
}
Also used : Network(android.net.Network) DnsEvent(android.net.metrics.DnsEvent) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 17 with Network

use of android.net.Network in project android_frameworks_base by DirtyUnicorns.

the class NetdEventListenerServiceTest method testConcurrentDnsBatchesAndNetworkLoss.

@SmallTest
public void testConcurrentDnsBatchesAndNetworkLoss() throws Exception {
    logDnsAsync(105, LATENCIES);
    Thread.sleep(10L);
    // call onLost() asynchronously to logDnsAsync's onDnsEvent() calls.
    mCallbackCaptor.getValue().onLost(new Network(105));
    // do not verify unpredictable batch
    verify(mLog, timeout(500).times(1)).log(any());
}
Also used : Network(android.net.Network) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 18 with Network

use of android.net.Network in project android_frameworks_base by DirtyUnicorns.

the class ConnectivityService method createVpnInfo.

/**
     * @return VPN information for accounting, or null if we can't retrieve all required
     *         information, e.g primary underlying iface.
     */
@Nullable
private VpnInfo createVpnInfo(Vpn vpn) {
    VpnInfo info = vpn.getVpnInfo();
    if (info == null) {
        return null;
    }
    Network[] underlyingNetworks = vpn.getUnderlyingNetworks();
    // the underlyingNetworks list.
    if (underlyingNetworks == null) {
        NetworkAgentInfo defaultNetwork = getDefaultNetwork();
        if (defaultNetwork != null && defaultNetwork.linkProperties != null) {
            info.primaryUnderlyingIface = getDefaultNetwork().linkProperties.getInterfaceName();
        }
    } else if (underlyingNetworks.length > 0) {
        LinkProperties linkProperties = getLinkProperties(underlyingNetworks[0]);
        if (linkProperties != null) {
            info.primaryUnderlyingIface = linkProperties.getInterfaceName();
        }
    }
    return info.primaryUnderlyingIface == null ? null : info;
}
Also used : LegacyVpnInfo(com.android.internal.net.LegacyVpnInfo) VpnInfo(com.android.internal.net.VpnInfo) NetworkAgentInfo(com.android.server.connectivity.NetworkAgentInfo) Network(android.net.Network) LinkProperties(android.net.LinkProperties) Nullable(android.annotation.Nullable)

Example 19 with Network

use of android.net.Network in project android_frameworks_base by DirtyUnicorns.

the class NetworkTest method testGetNetworkHandle.

@SmallTest
public void testGetNetworkHandle() {
    Network one = new Network(1);
    Network two = new Network(2);
    Network three = new Network(3);
    // None of the hashcodes are zero.
    assertNotEqual(0, one.hashCode());
    assertNotEqual(0, two.hashCode());
    assertNotEqual(0, three.hashCode());
    // All the hashcodes are distinct.
    assertNotEqual(one.hashCode(), two.hashCode());
    assertNotEqual(one.hashCode(), three.hashCode());
    assertNotEqual(two.hashCode(), three.hashCode());
    // None of the handles are zero.
    assertNotEqual(0, one.getNetworkHandle());
    assertNotEqual(0, two.getNetworkHandle());
    assertNotEqual(0, three.getNetworkHandle());
    // All the handles are distinct.
    assertNotEqual(one.getNetworkHandle(), two.getNetworkHandle());
    assertNotEqual(one.getNetworkHandle(), three.getNetworkHandle());
    assertNotEqual(two.getNetworkHandle(), three.getNetworkHandle());
    // The handles are not equal to the hashcodes.
    assertNotEqual(one.hashCode(), one.getNetworkHandle());
    assertNotEqual(two.hashCode(), two.getNetworkHandle());
    assertNotEqual(three.hashCode(), three.getNetworkHandle());
    // Adjust as necessary to test an implementation's specific constants.
    // When running with runtest, "adb logcat -s TestRunner" can be useful.
    assertEquals(4311403230L, one.getNetworkHandle());
    assertEquals(8606370526L, two.getNetworkHandle());
    assertEquals(12901337822L, three.getNetworkHandle());
}
Also used : Network(android.net.Network) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 20 with Network

use of android.net.Network in project android_frameworks_base by DirtyUnicorns.

the class ConnectivityServiceTest method testIdleableHandlerThread.

// Tests that IdleableHandlerThread works as expected.
public void testIdleableHandlerThread() {
    // Causes the test to take about 200ms on bullhead-eng.
    final int attempts = 50;
    // Tests that waitForIdle returns immediately if the service is already idle.
    for (int i = 0; i < attempts; i++) {
        mService.waitForIdle();
    }
    // Bring up a network that we can use to send messages to ConnectivityService.
    ConditionVariable cv = waitForConnectivityBroadcasts(1);
    mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
    mWiFiNetworkAgent.connect(false);
    waitFor(cv);
    Network n = mWiFiNetworkAgent.getNetwork();
    assertNotNull(n);
    // Tests that calling waitForIdle waits for messages to be processed.
    for (int i = 0; i < attempts; i++) {
        mWiFiNetworkAgent.setSignalStrength(i);
        mService.waitForIdle();
        assertEquals(i, mCm.getNetworkCapabilities(n).getSignalStrength());
    }
    // Ensure that not calling waitForIdle causes a race condition.
    for (int i = 0; i < attempts; i++) {
        mWiFiNetworkAgent.setSignalStrength(i);
        if (i != mCm.getNetworkCapabilities(n).getSignalStrength()) {
            // We hit a race condition, as expected. Pass the test.
            return;
        }
    }
    // No race? There is a bug in this test.
    fail("expected race condition at least once in " + attempts + " attempts");
}
Also used : ConditionVariable(android.os.ConditionVariable) Network(android.net.Network)

Aggregations

Network (android.net.Network)90 SmallTest (android.test.suitebuilder.annotation.SmallTest)28 NetworkAgentInfo (com.android.server.connectivity.NetworkAgentInfo)25 NetworkCapabilities (android.net.NetworkCapabilities)22 NetworkInfo (android.net.NetworkInfo)17 LinkProperties (android.net.LinkProperties)16 NetworkRequest (android.net.NetworkRequest)16 NetworkCallback (android.net.ConnectivityManager.NetworkCallback)11 ConnectivityManager (android.net.ConnectivityManager)9 InetAddress (java.net.InetAddress)6 Test (org.junit.Test)6 Nullable (android.annotation.Nullable)5 NetworkMisc (android.net.NetworkMisc)5 NetworkState (android.net.NetworkState)5 WifiConfiguration (android.net.wifi.WifiConfiguration)5 WifiInfo (android.net.wifi.WifiInfo)5 ConditionVariable (android.os.ConditionVariable)5 WebSettings (android.webkit.WebSettings)5 HomeSP (com.android.hotspot2.pps.HomeSP)5 LegacyVpnInfo (com.android.internal.net.LegacyVpnInfo)5