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

Commit c2a24b8d authored by Wink Saville's avatar Wink Saville Committed by Android Git Automerger
Browse files

am 0bc0fc92: am 27814a2e: When retrying disassociate an ApnContext from a DC...

am 0bc0fc92: am 27814a2e: When retrying disassociate an ApnContext from a DC only when failed or idle.

* commit '0bc0fc92':
  When retrying disassociate an ApnContext from a DC only when failed or idle.
parents 368d06fd 0bc0fc92
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -136,17 +136,30 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {

        if (DBG) {
            log("onActionIntentReconnectAlarm: mState=" + mState + " reason=" + reason +
                    " connectionId=" + connectionId + " retryCount=" + retryCount);
                    " connectionId=" + connectionId + " retryCount=" + retryCount + " dcac=" + dcac
                    + " mDataConnectionAsyncChannels=" + mDataConnectionAsyncChannels);
        }

        if (dcac != null) {
            for (ApnContext apnContext : dcac.getApnListSync()) {
                apnContext.setDataConnectionAc(null);
                apnContext.setDataConnection(null);
                apnContext.setReason(reason);
                apnContext.setRetryCount(retryCount);
                if (apnContext.getState() ==DctConstants.State.FAILED) {
                DctConstants.State apnContextState = apnContext.getState();
                if (DBG) {
                    log("onActionIntentReconnectAlarm: apnContext state=" + apnContextState);
                }
                if ((apnContextState == DctConstants.State.FAILED)
                        || (apnContextState == DctConstants.State.IDLE)) {
                    if (DBG) {
                        log("onActionIntentReconnectAlarm: state is FAILED|IDLE, disassociate");
                    }
                    apnContext.setDataConnectionAc(null);
                    apnContext.setDataConnection(null);
                    apnContext.setState(DctConstants.State.IDLE);
                } else {
                    if (DBG) {
                        log("onActionIntentReconnectAlarm: keep associated");
                    }
                }
                sendMessage(obtainMessage(DctConstants.EVENT_TRY_SETUP_DATA, apnContext));
            }
@@ -2415,5 +2428,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
        pw.println(" canSetPreferApn=" + canSetPreferApn);
        pw.println(" mApnObserver=" + mApnObserver);
        pw.println(" getOverallState=" + getOverallState());
        pw.println(" mDataConnectionAsyncChannels=%s\n" + mDataConnectionAsyncChannels);
    }
}