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

Commit 43e8cd09 authored by yinxu's avatar yinxu Committed by Xi Han
Browse files

Set the APN when DcNetworkAgent is created

Bug: 149459996
Test: Telephony Unit Tests
Change-Id: I1fcf3e49a9a4c2f4958efe7b3a2d8ebeedac92e9
Merged-In: I1fcf3e49a9a4c2f4958efe7b3a2d8ebeedac92e9
parent d97788ea
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -30,6 +30,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;
@@ -85,6 +86,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());
    }

@@ -257,14 +261,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));
        }
@@ -356,6 +353,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;