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

Commit bb0e0875 authored by Sarah Chin's avatar Sarah Chin Committed by Android (Google) Code Review
Browse files

Merge "NetworkTypeController only transition to state if new state is different" into rvc-dev

parents 0b70ede2 96aac65a
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -435,6 +435,9 @@ public class NetworkTypeController extends StateMachine {
                case EVENT_PHYSICAL_CHANNEL_CONFIG_NOTIF_CHANGED:
                    AsyncResult result = (AsyncResult) msg.obj;
                    mIsPhysicalChannelConfigOn = (boolean) result.result;
                    if (DBG) {
                        log("mIsPhysicalChannelConfigOn changed to: " + mIsPhysicalChannelConfigOn);
                    }
                    for (int event : ALL_EVENTS) {
                        removeMessages(event);
                    }
@@ -753,21 +756,27 @@ public class NetworkTypeController extends StateMachine {

    private void transitionToCurrentState() {
        int dataRat = mPhone.getServiceState().getDataNetworkType();
        IState transitionState;
        if (dataRat == TelephonyManager.NETWORK_TYPE_NR || isNrConnected()) {
            transitionTo(mNrConnectedState);
            transitionState = mNrConnectedState;
            mPreviousState = isNrMmwave() ? STATE_CONNECTED_MMWAVE : STATE_CONNECTED;
        } else if (isLte(dataRat) && isNrNotRestricted()) {
            if (isDataActive()) {
                transitionTo(mLteConnectedState);
                transitionState = mLteConnectedState;
                mPreviousState = STATE_NOT_RESTRICTED_RRC_CON;
            } else {
                transitionTo(mIdleState);
                transitionState = mIdleState;
                mPreviousState = STATE_NOT_RESTRICTED_RRC_IDLE;
            }
        } else {
            transitionTo(mLegacyState);
            transitionState = mLegacyState;
            mPreviousState = isNrRestricted() ? STATE_RESTRICTED : STATE_LEGACY;
        }
        if (!transitionState.equals(getCurrentState())) {
            transitionTo(transitionState);
        } else {
            updateOverrideNetworkType();
        }
    }

    private void updateTimers() {