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

Commit 1aac2518 authored by Ramesh Sudini's avatar Ramesh Sudini Committed by Wink Saville
Browse files

Telephony: GDCT - Set enabled state before notification is sent out.

Change-Id: I6e84920b8d082fd6da838bccb5333051362bc4bc
parent 6ed4798c
Loading
Loading
Loading
Loading
+6 −16
Original line number Diff line number Diff line
@@ -509,16 +509,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
        return false;
    }

    protected boolean isEnabled(String apnType) {
        ApnContext apnContext = mApnContexts.get(apnType);
        if (apnContext == null) return false;
        if (apnContext.getState() == State.DISCONNECTING
                && apnContext.getPendingAction() == ApnContext.PENDING_ACTION_APN_DISABLE) {
            return false;
        }
        return true;
    }

    /**
     * Report on whether data connectivity is enabled for any APN.
     * @return {@code false} if data connectivity has been explicitly disabled,
@@ -1583,6 +1573,12 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {

        mPhone.notifyDataConnection(apnContext.getReason(), apnContext.getApnType());

        // Check if APN disabled.
        if (apnContext.getPendingAction() == ApnContext.PENDING_ACTION_APN_DISABLE) {
           apnContext.setEnabled(false);
           apnContext.setPendingAction(ApnContext.PENDING_ACTION_NONE);
        }

        // if all data connection are gone, check whether Airplane mode request was
        // pending.
        if (!isConnected()) {
@@ -1592,12 +1588,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
            }
        }

        // Check if APN disabled.
        if (apnContext.getPendingAction() == ApnContext.PENDING_ACTION_APN_DISABLE) {
           apnContext.setEnabled(false);
           apnContext.setPendingAction(ApnContext.PENDING_ACTION_NONE);
        }

        if (TextUtils.equals(apnContext.getApnType(), Phone.APN_TYPE_DEFAULT)
            && retryAfterDisconnected(apnContext.getReason())) {
            SystemProperties.set("gsm.defaultpdpcontext.active", "false");