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

Commit 3548cc8e authored by Robert Greenwalt's avatar Robert Greenwalt Committed by Android Git Automerger
Browse files

am 7f7f4c1b: Merge "Release DataConnection when a rety is interupted" into mnc-dev

* commit '7f7f4c1b':
  Release DataConnection when a rety is interupted
parents cc102059 7f7f4c1b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -123,6 +123,14 @@ public class ApnContext {
        mDcAc = dcac;
    }

    public synchronized void releaseDataConnection(String reason) {
        if (mDcAc != null) {
            mDcAc.tearDown(this, reason, null);
            mDcAc = null;
        }
        setState(DctConstants.State.IDLE);
    }

    public synchronized PendingIntent getReconnectIntent() {
        return mReconnectAlarmIntent;
    }
+3 −3
Original line number Diff line number Diff line
@@ -799,11 +799,11 @@ public final class DcTracker extends DcTrackerBase {
            if (apnContext.getState() == DctConstants.State.FAILED
                    || apnContext.getState() == DctConstants.State.RETRYING) {
                if (retryFailures == RetryFailures.ALWAYS) {
                    apnContext.setState(DctConstants.State.IDLE);
                    apnContext.releaseDataConnection(reason);
                } else if (apnContext.isConcurrentVoiceAndDataAllowed() == false &&
                         mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed()) {
                    // RetryFailures.ONLY_ON_CHANGE - check if voice concurrency has changed
                    apnContext.setState(DctConstants.State.IDLE);
                    apnContext.releaseDataConnection(reason);
                } else {
                    // RetryFailures.ONLY_ON_CHANGE - check if the apns have changed
                    int radioTech = mPhone.getServiceState().getRilDataRadioTechnology();
@@ -812,7 +812,7 @@ public final class DcTracker extends DcTrackerBase {
                        waitingApns = buildWaitingApns(apnContext.getApnType(), radioTech);
                        if (originalApns.size() != waitingApns.size() ||
                                originalApns.containsAll(waitingApns) == false) {
                            apnContext.setState(DctConstants.State.IDLE);
                            apnContext.releaseDataConnection(reason);
                        }
                    }
                }