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

Commit 70dd9a37 authored by Jack Yu's avatar Jack Yu Committed by android-build-merger
Browse files

Merge "Fixed that APN context stuck in SCANNING state" into oc-dev

am: 76951491

Change-Id: Ie9864787c1f89d4a98f86d98f424281aeff93c3e
parents 87ce1321 76951491
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
@@ -1670,7 +1670,7 @@ public class DcTracker extends Handler {
            str.append("trySetupData failed. apnContext = [type=" + apnContext.getApnType() +
                    ", mState=" + apnContext.getState() + ", mDataEnabled=" +
                    apnContext.isEnabled() + ", mDependencyMet=" +
                    apnContext.getDependencyMet() + "] ");
                    apnContext.getDependencyMet() + "].");

            if (!apnContext.isConnectable()) {
                str.append(" isConnectable = false.");
@@ -1679,8 +1679,8 @@ public class DcTracker extends Handler {
                str.append(" data not allowed: " + failureReason.getDataAllowFailReason() + ".");
            }
            if (!isDataAllowedForApn(apnContext)) {
                str.append("isDataAllowedForApn = false. RAT = " +
                        mPhone.getServiceState().getRilDataRadioTechnology());
                str.append(" isDataAllowedForApn = false. RAT = "
                        + mPhone.getServiceState().getRilDataRadioTechnology() + ".");
            }
            if (!mDataEnabledSettings.isDataEnabled()) {
                str.append(" isDataEnabled() = false. "
@@ -1688,15 +1688,21 @@ public class DcTracker extends Handler {
                        + ", userDataEnabled = " + mDataEnabledSettings.isUserDataEnabled()
                        + ", isPolicyDataEnabled = " + mDataEnabledSettings.isPolicyDataEnabled()
                        + ", isCarrierDataEnabled = "
                        + mDataEnabledSettings.isCarrierDataEnabled());
                        + mDataEnabledSettings.isCarrierDataEnabled() + ".");
            }
            if (isEmergency()) {
                str.append("emergency = true");
                str.append(" emergency = true.");
            }

            // If this is a data retry, we should set the APN state to FAILED so it won't stay
            // in SCANNING forever.
            if (apnContext.getState() == DctConstants.State.SCANNING) {
                apnContext.setState(DctConstants.State.FAILED);
                str.append(" Stop retrying.");
            }

            if (DBG) log(str.toString());
            apnContext.requestLog(str.toString());

            return false;
        }
    }
@@ -2559,7 +2565,6 @@ public class DcTracker extends Handler {
                DctConstants.State state = apnContext.getState();
                switch(state) {
                    case CONNECTING:
                    case SCANNING:
                    case CONNECTED:
                    case DISCONNECTING:
                        // We're "READY" and active so just return
@@ -2569,6 +2574,7 @@ public class DcTracker extends Handler {
                    case IDLE:
                        // fall through: this is unexpected but if it happens cleanup and try setup
                    case FAILED:
                    case SCANNING:
                    case RETRYING: {
                        // We're "READY" but not active so disconnect (cleanup = true) and
                        // connect (trySetup = true) to be sure we retry the connection.