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

Commit 386eff58 authored by Sarah Chin's avatar Sarah Chin
Browse files

Add NR state change logic to data activity changed event

NR state can change during a call without sending an NR state changed
event, so add logic to handle this case in the data activity changed
event.

Test: atest NetworkTypeControllerTest
Bug: 157126825
Change-Id: Ieab5ffcb423a833456c25794ada366aee51db120
Merged-In: Ieab5ffcb423a833456c25794ada366aee51db120
parent 4a2aef29
Loading
Loading
Loading
Loading
+22 −6
Original line number Diff line number Diff line
@@ -599,9 +599,15 @@ public class NetworkTypeController extends StateMachine {
                    // ignore
                    break;
                case EVENT_DATA_ACTIVITY_CHANGED:
                    if (isNrNotRestricted()) {
                        // NOT_RESTRICTED_RRC_IDLE -> NOT_RESTRICTED_RRC_CON
                        if (isDataActive()) {
                            transitionWithTimerTo(mLteConnectedState);
                        }
                    } else {
                        log("NR state changed. Sending EVENT_NR_STATE_CHANGED");
                        sendMessage(EVENT_NR_STATE_CHANGED);
                    }
                    break;
                default:
                    return NOT_HANDLED;
@@ -658,9 +664,15 @@ public class NetworkTypeController extends StateMachine {
                    // ignore
                    break;
                case EVENT_DATA_ACTIVITY_CHANGED:
                    if (isNrNotRestricted()) {
                        // NOT_RESTRICTED_RRC_CON -> NOT_RESTRICTED_RRC_IDLE
                        if (!isDataActive()) {
                            transitionWithTimerTo(mIdleState);
                        }
                    } else {
                        log("NR state changed. Sending EVENT_NR_STATE_CHANGED");
                        sendMessage(EVENT_NR_STATE_CHANGED);
                    }
                    break;
                default:
                    return NOT_HANDLED;
@@ -720,8 +732,9 @@ public class NetworkTypeController extends StateMachine {
                    break;
                case EVENT_NR_FREQUENCY_CHANGED:
                    if (!isNrConnected()) {
                        log("The nr state was changed. To update the state.");
                        log("NR state changed. Sending EVENT_NR_STATE_CHANGED");
                        sendMessage(EVENT_NR_STATE_CHANGED);
                        break;
                    }
                    if (!isNrMmwave()) {
                        // STATE_CONNECTED_MMWAVE -> STATE_CONNECTED
@@ -733,7 +746,10 @@ public class NetworkTypeController extends StateMachine {
                    mIsNrMmwave = isNrMmwave();
                    break;
                case EVENT_DATA_ACTIVITY_CHANGED:
                    // ignore
                    if (!isNrConnected()) {
                        log("NR state changed. Sending EVENT_NR_STATE_CHANGED");
                        sendMessage(EVENT_NR_STATE_CHANGED);
                    }
                    break;
                default:
                    return NOT_HANDLED;