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

Commit 3efd6b15 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Delay Auto data switch check to allow data reg state to propagate"

parents d3971bdd 0c22cfac
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -406,7 +406,9 @@ public class PhoneSwitcher extends Handler {
        @Override
        public void onLost(Network network) {
            // try find an active sub to switch to
            scheduleAutoSwitchEvaluation();
            if (!hasMessages(EVENT_EVALUATE_AUTO_SWITCH)) {
                sendEmptyMessage(EVENT_EVALUATE_AUTO_SWITCH);
            }
        }
    }

@@ -1100,7 +1102,9 @@ public class PhoneSwitcher extends Handler {
                mPhoneStates[phoneId].dataRegState = newRegState;
                logl("onServiceStateChanged:phoneId:" + phoneId + " dataReg-> "
                        + NetworkRegistrationInfo.registrationStateToString(newRegState));
                evaluateIfAutoSwitchIsNeeded();
                if (!hasMessages(EVENT_EVALUATE_AUTO_SWITCH)) {
                    sendEmptyMessage(EVENT_EVALUATE_AUTO_SWITCH);
                }
            }
        }
    }
@@ -1111,6 +1115,7 @@ public class PhoneSwitcher extends Handler {
    private void evaluateIfAutoSwitchIsNeeded() {
        // auto data switch feature is disabled from server
        if (mAutoDataSwitchAvailabilityStabilityTimeThreshold < 0) return;
        // check is valid DSDS
        if (!mSubscriptionController.isActiveSubId(mPrimaryDataSubId)
                || mSubscriptionController.getActiveSubIdList(true).length <= 1) {
            return;
@@ -1718,7 +1723,7 @@ public class PhoneSwitcher extends Handler {
     */
    private void validate(int subId, boolean needValidation, int switchReason,
            @Nullable ISetOpportunisticDataCallback callback) {
        logl("Validate " + subId + " due to " + switchReasonToString(switchReason)
        logl("Validate subId " + subId + " due to " + switchReasonToString(switchReason)
                + " needValidation=" + needValidation);
        int subIdToValidate = (subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID)
                ? mPrimaryDataSubId : subId;
@@ -1827,7 +1832,7 @@ public class PhoneSwitcher extends Handler {

            // retry for auto data switch validation failure
            if (mLastAutoSelectedSwitchReason == DataSwitch.Reason.DATA_SWITCH_REASON_AUTO) {
                scheduleAutoSwitchEvaluation();
                scheduleAutoSwitchRetryEvaluation();
                mAutoSwitchRetryFailedCount++;
            }
        } else {
@@ -1849,7 +1854,7 @@ public class PhoneSwitcher extends Handler {
    /**
     * Schedule auto data switch evaluation retry if haven't reached the max retry count.
     */
    private void scheduleAutoSwitchEvaluation() {
    private void scheduleAutoSwitchRetryEvaluation() {
        if (mAutoSwitchRetryFailedCount < mAutoDataSwitchValidationMaxRetry) {
            if (!hasMessages(EVENT_EVALUATE_AUTO_SWITCH)) {
                sendMessageDelayed(obtainMessage(EVENT_EVALUATE_AUTO_SWITCH),