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

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

Merge "Force update override network type before timer" into udc-dev

parents e84433fe 5b956f07
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -997,6 +997,13 @@ public class NetworkTypeController extends StateMachine {
                            // Update in case the override network type changed
                            updateOverrideNetworkType();
                        } else {
                            if (rat == TelephonyManager.NETWORK_TYPE_NR && mOverrideNetworkType
                                    != TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED) {
                                // manually override network type after data rat changes since
                                // timer will prevent it from being updated
                                mOverrideNetworkType =
                                        TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE;
                            }
                            transitionWithTimerTo(mNrConnectedState);
                        }
                    } else if (isLte(rat) && isNrNotRestricted()) {
@@ -1140,15 +1147,12 @@ public class NetworkTypeController extends StateMachine {
            if (currentState.equals(STATE_CONNECTED_NR_ADVANCED)) {
                if (DBG) log("Reset timers since state is NR_ADVANCED.");
                resetAllTimers();
            }

            if (currentState.equals(STATE_CONNECTED)
            } else if (currentState.equals(STATE_CONNECTED)
                    && !mPrimaryTimerState.equals(STATE_CONNECTED_NR_ADVANCED)
                    && !mSecondaryTimerState.equals(STATE_CONNECTED_NR_ADVANCED)) {
                if (DBG) log("Reset non-NR_advanced timers since state is NR_CONNECTED");
                if (DBG) log("Reset non-NR_ADVANCED timers since state is NR_CONNECTED");
                resetAllTimers();
            }

            } else {
                int rat = getDataNetworkType();
                if (!isLte(rat) && rat != TelephonyManager.NETWORK_TYPE_NR) {
                    if (DBG) log("Reset timers since 2G and 3G don't need NR timers.");
@@ -1156,6 +1160,7 @@ public class NetworkTypeController extends StateMachine {
                }
            }
        }
    }

    private void resetAllTimers() {
        removeMessages(EVENT_PRIMARY_TIMER_EXPIRED);