Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5ad2f0f authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Used LinkAddress insteaad of InterfaceAddress"

parents 11f6ad9c 06e7286b
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ import android.hardware.radio.V1_0.SimApdu;
import android.hardware.radio.V1_0.SmsWriteArgs;
import android.hardware.radio.V1_0.UusInfo;
import android.net.ConnectivityManager;
import android.net.LinkAddress;
import android.net.NetworkUtils;
import android.os.AsyncResult;
import android.os.Build;
@@ -85,7 +86,6 @@ import android.telephony.TelephonyHistogram;
import android.telephony.TelephonyManager;
import android.telephony.data.DataCallResponse;
import android.telephony.data.DataProfile;
import android.telephony.data.InterfaceAddress;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
@@ -107,7 +107,6 @@ import java.io.FileDescriptor;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -1190,23 +1189,17 @@ public class RIL extends BaseCommands implements CommandsInterface {
            addresses = dcResult.addresses.split(" ");
        }

        List<InterfaceAddress> iaList = new ArrayList<>();
        List<LinkAddress> laList = new ArrayList<>();
        if (addresses != null) {
            for (String address : addresses) {
                address = address.trim();
                if (address.isEmpty()) continue;

                String[] ap = address.split("/");
                int addrPrefixLen = 0;
                if (ap.length == 2) {
                    addrPrefixLen = Integer.parseInt(ap[1]);
                }

                try {
                    InterfaceAddress ia = new InterfaceAddress(ap[0], addrPrefixLen);
                    iaList.add(ia);
                } catch (UnknownHostException e) {
                    Rlog.e(RILJ_LOG_TAG, "Unknown host exception: " + e);
                    LinkAddress la = new LinkAddress(address);
                    laList.add(la);
                } catch (IllegalArgumentException e) {
                    Rlog.e(RILJ_LOG_TAG, "Unknown address: " + address + ", exception = " + e);
                }
            }
        }
@@ -1257,7 +1250,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
                dcResult.active,
                dcResult.type,
                dcResult.ifname,
                iaList,
                laList,
                dnsList,
                gatewayList,
                new ArrayList<>(Arrays.asList(dcResult.pcscf.trim().split("\\s*,\\s*"))),
+7 −14
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import android.telephony.data.DataCallResponse;
import android.telephony.data.DataProfile;
import android.telephony.data.InterfaceAddress;
import android.text.TextUtils;
import android.util.LocalLog;
import android.util.Pair;
@@ -1048,22 +1047,16 @@ public class DataConnection extends StateMachine {

                // set link addresses
                if (response.getAddresses().size() > 0) {
                    for (InterfaceAddress ia : response.getAddresses()) {
                        if (!ia.getAddress().isAnyLocalAddress()) {
                            int addrPrefixLen = ia.getNetworkPrefixLength();
                    for (LinkAddress la : response.getAddresses()) {
                        if (!la.getAddress().isAnyLocalAddress()) {
                            int addrPrefixLen = la.getNetworkPrefixLength();
                            if (addrPrefixLen == 0) {
                                // Assume point to point
                                addrPrefixLen =
                                        (ia.getAddress() instanceof Inet4Address) ? 32 : 128;
                            }
                            if (DBG) log("addr/pl=" + ia.getAddress() + "/" + addrPrefixLen);
                            LinkAddress la;
                            try {
                                la = new LinkAddress(ia.getAddress(), addrPrefixLen);
                            } catch (IllegalArgumentException e) {
                                throw new UnknownHostException("Bad parameter for LinkAddress, ia="
                                        + ia.getAddress().getHostAddress() + "/" + addrPrefixLen);
                                addrPrefixLen = (la.getAddress() instanceof Inet4Address)
                                        ? 32 : 128;
                                la = new LinkAddress(la.getAddress(), addrPrefixLen);
                            }
                            if (DBG) log("addr/pl=" + la.getAddress() + "/" + addrPrefixLen);

                            linkProperties.addLinkAddress(la);
                        }
+2 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.internal.telephony.test;

import android.hardware.radio.V1_0.DataRegStateResult;
import android.hardware.radio.V1_0.VoiceRegStateResult;
import android.net.LinkAddress;
import android.net.NetworkUtils;
import android.os.AsyncResult;
import android.os.Handler;
@@ -38,7 +39,6 @@ import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.data.DataCallResponse;
import android.telephony.data.DataProfile;
import android.telephony.data.InterfaceAddress;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.BaseCommands;
@@ -1132,7 +1132,7 @@ public class SimulatedCommands extends BaseCommands
        if (mDcResponse == null) {
            try {
                mDcResponse = new DataCallResponse(0, -1, 1, 2, "IP", "rmnet_data7",
                        Arrays.asList(new InterfaceAddress("12.34.56.78", 0)),
                        Arrays.asList(new LinkAddress("12.34.56.78/32")),
                        Arrays.asList(NetworkUtils.numericToInetAddress("98.76.54.32")),
                        Arrays.asList(NetworkUtils.numericToInetAddress("11.22.33.44")),
                        null, 1440);
+8 −8
Original line number Diff line number Diff line
@@ -22,22 +22,21 @@ import static com.android.internal.telephony.dataconnection.DcTrackerTest.FAKE_G
import static com.android.internal.telephony.dataconnection.DcTrackerTest.FAKE_IFNAME;
import static com.android.internal.telephony.dataconnection.DcTrackerTest.FAKE_PCSCF_ADDRESS;

import android.net.LinkAddress;
import android.net.NetworkUtils;
import android.os.Parcel;
import android.telephony.data.DataCallResponse;
import android.telephony.data.InterfaceAddress;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;

import junit.framework.TestCase;

import java.util.Arrays;

public class DataCallResponseTest extends TestCase {
public class DataCallResponseTest extends AndroidTestCase {

    @SmallTest
    public void testParcel() throws Exception {
        DataCallResponse response = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -51,16 +50,17 @@ public class DataCallResponseTest extends TestCase {
        assertEquals(response, newResponse);
    }

    @SmallTest
    public void testEquals() throws Exception {
        DataCallResponse response = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
                1440);

        DataCallResponse response1 = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -70,7 +70,7 @@ public class DataCallResponseTest extends TestCase {
        assertEquals(response, response1);

        DataCallResponse response2 = new DataCallResponse(1, -1, 1, 3, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS),
                        NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
+12 −12
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
@@ -44,7 +45,6 @@ import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.data.DataCallResponse;
import android.telephony.data.DataProfile;
import android.telephony.data.InterfaceAddress;
import android.test.suitebuilder.annotation.SmallTest;

import com.android.internal.telephony.PhoneConstants;
@@ -247,7 +247,7 @@ public class DataConnectionTest extends TelephonyTest {
    @SmallTest
    public void testModemSuggestRetry() throws Exception {
        DataCallResponse response = new DataCallResponse(0, 0, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -257,7 +257,7 @@ public class DataConnectionTest extends TelephonyTest {
        assertEquals(response.getSuggestedRetryTime(), getSuggestedRetryDelay(ar));

        response = new DataCallResponse(0, 1000, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -266,7 +266,7 @@ public class DataConnectionTest extends TelephonyTest {
        assertEquals(response.getSuggestedRetryTime(), getSuggestedRetryDelay(ar));

        response = new DataCallResponse(0, 9999, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -280,7 +280,7 @@ public class DataConnectionTest extends TelephonyTest {
    @SmallTest
    public void testModemNotSuggestRetry() throws Exception {
        DataCallResponse response = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -289,7 +289,7 @@ public class DataConnectionTest extends TelephonyTest {
        assertEquals(RetryManager.NO_SUGGESTED_RETRY_DELAY, getSuggestedRetryDelay(ar));

        response = new DataCallResponse(0, -5, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -298,7 +298,7 @@ public class DataConnectionTest extends TelephonyTest {
        assertEquals(RetryManager.NO_SUGGESTED_RETRY_DELAY, getSuggestedRetryDelay(ar));

        response = new DataCallResponse(0, Integer.MIN_VALUE, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -312,7 +312,7 @@ public class DataConnectionTest extends TelephonyTest {
    public void testModemSuggestNoRetry() throws Exception {
        DataCallResponse response = new DataCallResponse(0, Integer.MAX_VALUE, 1, 2, "IP",
                FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -378,7 +378,7 @@ public class DataConnectionTest extends TelephonyTest {
    public void testSetLinkProperties() throws Exception {

        DataCallResponse response = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -413,11 +413,11 @@ public class DataConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    public void testSetLinkPropertiesInvalidAddress() throws Exception {
    public void testSetLinkPropertiesEmptyAddress() throws Exception {

        // 224.224.224.224 is an invalid address.
        DataCallResponse response = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress("224.224.224.224", 0)),
                null,
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_DNS)),
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
@@ -434,7 +434,7 @@ public class DataConnectionTest extends TelephonyTest {

        // Empty dns entry.
        DataCallResponse response = new DataCallResponse(0, -1, 1, 2, "IP", FAKE_IFNAME,
                Arrays.asList(new InterfaceAddress(FAKE_ADDRESS, 0)),
                Arrays.asList(new LinkAddress(NetworkUtils.numericToInetAddress(FAKE_ADDRESS), 0)),
                null,
                Arrays.asList(NetworkUtils.numericToInetAddress(FAKE_GATEWAY)),
                Arrays.asList(FAKE_PCSCF_ADDRESS),
Loading