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

Commit be0a43f7 authored by yinxu's avatar yinxu
Browse files

Set the APN when DcNetworkAgent is created

Bug: 149459996
Test: Telephony Unit Tests
Change-Id: I1fcf3e49a9a4c2f4958efe7b3a2d8ebeedac92e9
Merged-in: I1fcf3e49a9a4c2f4958efe7b3a2d8ebeedac92e9
parent 2f9f966e
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.net.SocketKeepalive;
import android.os.Message;
import android.telephony.AccessNetworkConstants;
import android.telephony.AccessNetworkConstants.TransportType;
import android.telephony.Annotation.NetworkType;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
@@ -84,6 +85,9 @@ public class DcNetworkAgent extends NetworkAgent {
        mTransportType = transportType;
        mDataConnection = dc;
        mNetworkInfo = new NetworkInfo(ni);
        setLegacyExtraInfo(dc.getApnSetting().getApnName());
        int subType = getNetworkType();
        setLegacySubtype(subType, TelephonyManager.getNetworkTypeName(subType));
        logd(mTag + " created for data connection " + dc.getName());
    }

@@ -256,14 +260,7 @@ public class DcNetworkAgent extends NetworkAgent {
            setLegacyExtraInfo(extraInfo);
        }

        final ServiceState serviceState = mPhone.getServiceState();
        NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, mTransportType);
        int subType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
        if (nri != null) {
            subType = nri.getAccessNetworkTechnology();
        }

        int subType = getNetworkType();
        if (mNetworkInfo.getSubtype() != subType) {
            setLegacySubtype(subType, TelephonyManager.getNetworkTypeName(subType));
        }
@@ -355,6 +352,17 @@ public class DcNetworkAgent extends NetworkAgent {
        Rlog.e(mTag, s);
    }

    private @NetworkType int getNetworkType() {
        final ServiceState serviceState = mPhone.getServiceState();
        NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, mTransportType);
        int subType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
        if (nri != null) {
            subType = nri.getAccessNetworkTechnology();
        }
        return subType;
    }

    class DcKeepaliveTracker {
        private class KeepaliveRecord {
            public int slotId;