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

Commit 735bc2f4 authored by Chris Manton's avatar Chris Manton
Browse files

Reload Apn settings upon technology change

Service providers may require different APNs for
different radio access technologies (RATs).
If a RAT changes during a retry data connection
the device may repeatedly try to re-use invalid
APNs for the given technology.

This change adds a check for connection retry in
addition to failure to reload Apn settings.

bug: b/20098693
Change-Id: I5208699b06807e73bcb17413fa803c397249fbd7
parent 1b372180
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -788,11 +788,13 @@ public final class DcTracker extends DcTrackerBase {

    private void setupDataOnConnectableApns(String reason, RetryFailures retryFailures) {
        if (DBG) log("setupDataOnConnectableApns: " + reason);
        ArrayList<ApnSetting> waitingApns = null;

        for (ApnContext apnContext : mPrioritySortedApnContexts) {
            ArrayList<ApnSetting> waitingApns = null;

            if (DBG) log("setupDataOnConnectableApns: apnContext " + apnContext);
            if (apnContext.getState() == DctConstants.State.FAILED) {
            if (apnContext.getState() == DctConstants.State.FAILED
                    || apnContext.getState() == DctConstants.State.RETRYING) {
                if (retryFailures == RetryFailures.ALWAYS) {
                    apnContext.setState(DctConstants.State.IDLE);
                } else if (apnContext.isConcurrentVoiceAndDataAllowed() == false &&