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

Commit bd5d6cc9 authored by Sarah Chin's avatar Sarah Chin Committed by Automerger Merge Worker
Browse files

Merge "NetworkTypeController only transition to state if new state is...

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

Change-Id: Ic98abd4a579e744db69ee95047d5749590900776
parents b6137bb6 bb0e0875
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() {