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

Commit 84cb5abc authored by Jack Yu's avatar Jack Yu Committed by android-build-merger
Browse files

Merge "Prevent unnecessary building APN candidates"

am: c55fdeb2

Change-Id: I01a9dc51cd59b85492560110b27d15e5e1d170ad
parents e4f18837 c55fdeb2
Loading
Loading
Loading
Loading
+17 −21
Original line number Diff line number Diff line
@@ -3291,17 +3291,12 @@ public class DcTracker extends Handler {
                    apnList = sortApnListByPreferred(apnList);
                    if (DBG) log("buildWaitingApns: X added preferred apnList=" + apnList);
                    return apnList;
                } else {
                    if (DBG) log("buildWaitingApns: no preferred APN");
                    setPreferredApn(-1);
                    mPreferredApn = null;
                }
            } else {
            }
            if (DBG) log("buildWaitingApns: no preferred APN");
            setPreferredApn(-1);
            mPreferredApn = null;
        }
        }

        if (DBG) log("buildWaitingApns: mAllApnSettings=" + mAllApnSettings);
        for (ApnSetting apn : mAllApnSettings) {
@@ -4190,6 +4185,7 @@ public class DcTracker extends Handler {
                return;
            }
            for (ApnContext apnContext : mApnContexts.values()) {
                if (!apnContext.isDisconnected()) {
                    ArrayList<ApnSetting> currentWaitingApns = apnContext.getWaitingApns();
                    ArrayList<ApnSetting> waitingApns = buildWaitingApns(
                            apnContext.getApnType(), getDataRat());
@@ -4198,11 +4194,11 @@ public class DcTracker extends Handler {
                            && ((waitingApns.size() != currentWaitingApns.size())
                            // Check if the existing waiting APN list can cover the newly built APN
                            // list. If yes, then we don't need to tear down the existing data call.
                        // TODO: We probably need to rebuild APN list when roaming status changes.
                            // TODO: We probably need to rebuild APN list when roaming status
                            //  changes.
                            || !containsAllApns(currentWaitingApns, waitingApns))) {
                        if (VDBG) log("new waiting apn is different for " + apnContext);
                        apnContext.setWaitingApns(waitingApns);
                    if (!apnContext.isDisconnected()) {
                        if (VDBG) log("cleanUpConnectionsOnUpdatedApns for " + apnContext);
                        apnContext.setReason(reason);
                        cleanUpConnectionInternal(true, RELEASE_TYPE_DETACH, apnContext);