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

Commit 4e2f4956 authored by Ling Ma's avatar Ling Ma
Browse files

Cleanup flag

Flag: EXEMPT removing support_nr_sa_rrc_idle
Test: m
Change-Id: I1db2f6f9733f2a3f661cfb107cbcfd51a46b4da7
parent 6a489a8e
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -65,14 +65,6 @@ flag {
  bug: "310639009"
}

# OWNER=sarahchin TARGET=24Q2
flag {
  name: "support_nr_sa_rrc_idle"
  namespace: "telephony"
  description: "Support RRC idle for NR SA."
  bug: "298233308"
}

# OWNER=nharold TARGET=24Q3
flag {
  name: "network_registration_info_reject_cause"
+17 −41
Original line number Diff line number Diff line
@@ -513,9 +513,6 @@ public class NetworkTypeController extends StateMachine {
                    if (DBG) loge("Invalid 5G icon configuration, config = " + pair);
                    continue;
                }
                if (!mFeatureFlags.supportNrSaRrcIdle() && kv[0].equals(STATE_CONNECTED_RRC_IDLE)) {
                    continue;
                }
                int icon = TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE;
                if (kv[1].equals(ICON_5G)) {
                    icon = TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA;
@@ -543,9 +540,6 @@ public class NetworkTypeController extends StateMachine {
                    if (DBG) loge("Invalid 5G icon timer configuration, config = " + triple);
                    continue;
                }
                if (!mFeatureFlags.supportNrSaRrcIdle() && kv[0].equals(STATE_CONNECTED_RRC_IDLE)) {
                    continue;
                }
                int duration;
                try {
                    duration = Integer.parseInt(kv[2]);
@@ -554,10 +548,6 @@ public class NetworkTypeController extends StateMachine {
                }
                if (kv[0].equals(STATE_ANY)) {
                    for (String state : ALL_STATES) {
                        if (!mFeatureFlags.supportNrSaRrcIdle()
                                && state.equals(STATE_CONNECTED_RRC_IDLE)) {
                            continue;
                        }
                        OverrideTimerRule node = tempRules.get(state);
                        node.addTimer(kv[1], duration);
                    }
@@ -578,9 +568,6 @@ public class NetworkTypeController extends StateMachine {
                    }
                    continue;
                }
                if (kv[0].equals(STATE_CONNECTED_RRC_IDLE) && !mFeatureFlags.supportNrSaRrcIdle()) {
                    continue;
                }
                int duration;
                try {
                    duration = Integer.parseInt(kv[2]);
@@ -589,10 +576,6 @@ public class NetworkTypeController extends StateMachine {
                }
                if (kv[0].equals(STATE_ANY)) {
                    for (String state : ALL_STATES) {
                        if (state.equals(STATE_CONNECTED_RRC_IDLE)
                                && !mFeatureFlags.supportNrSaRrcIdle()) {
                            continue;
                        }
                        OverrideTimerRule node = tempRules.get(state);
                        node.addSecondaryTimer(kv[1], duration);
                    }
@@ -605,7 +588,6 @@ public class NetworkTypeController extends StateMachine {

        // TODO: Remove this workaround to make STATE_CONNECTED_RRC_IDLE backwards compatible with
        //  STATE_CONNECTED once carrier configs are updated.
        if (mFeatureFlags.supportNrSaRrcIdle()) {
        OverrideTimerRule nrRules = tempRules.get(STATE_CONNECTED);
        if (!tempRules.get(STATE_CONNECTED_RRC_IDLE).isDefined() && nrRules.isDefined()) {
            OverrideTimerRule nrIdleRules =
@@ -618,7 +600,6 @@ public class NetworkTypeController extends StateMachine {
            }
            tempRules.put(STATE_CONNECTED_RRC_IDLE, nrIdleRules);
        }
        }

        mOverrideTimerRules = tempRules;
        if (DBG) log("mOverrideTimerRules: " + mOverrideTimerRules);
@@ -892,7 +873,6 @@ public class NetworkTypeController extends StateMachine {
                            transitionTo(mNrConnectedAdvancedState);
                        } else {
                            transitionTo(isPhysicalLinkActive()
                                    || !mFeatureFlags.supportNrSaRrcIdle()
                                    ? mNrConnectedState : mNrIdleState);
                        }
                    } else if (isLte(rat) && isNrNotRestricted()) {
@@ -975,7 +955,6 @@ public class NetworkTypeController extends StateMachine {
                            transitionTo(mNrConnectedAdvancedState);
                        } else {
                            transitionTo(isPhysicalLinkActive()
                                    || !mFeatureFlags.supportNrSaRrcIdle()
                                    ? mNrConnectedState : mNrIdleState);
                        }
                    } else if (!isLte(rat) || !isNrNotRestricted()) {
@@ -1059,7 +1038,6 @@ public class NetworkTypeController extends StateMachine {
                            transitionTo(mNrConnectedAdvancedState);
                        } else {
                            transitionTo(isPhysicalLinkActive()
                                    || !mFeatureFlags.supportNrSaRrcIdle()
                                    ? mNrConnectedState : mNrIdleState);
                        }
                    } else if (!isLte(rat) || !isNrNotRestricted()) {
@@ -1191,7 +1169,7 @@ public class NetworkTypeController extends StateMachine {

        @Override
        public String getName() {
            return mFeatureFlags.supportNrSaRrcIdle() ? STATE_CONNECTED_RRC_IDLE : STATE_CONNECTED;
            return STATE_CONNECTED_RRC_IDLE;
        }
    }

@@ -1226,7 +1204,7 @@ public class NetworkTypeController extends StateMachine {
                            || (isLte(rat) && isNrConnected())) {
                        if (isNrAdvanced()) {
                            transitionTo(mNrConnectedAdvancedState);
                        } else if (!isPhysicalLinkActive() && mFeatureFlags.supportNrSaRrcIdle()) {
                        } else if (!isPhysicalLinkActive()) {
                            transitionWithTimerTo(mNrIdleState);
                        } else {
                            // Update in case the override network type changed
@@ -1245,7 +1223,7 @@ public class NetworkTypeController extends StateMachine {
                    if (isUsingPhysicalChannelConfigForRrcDetection()) {
                        mPhysicalLinkStatus = getPhysicalLinkStatusFromPhysicalChannelConfig();
                    }
                    if (!isPhysicalLinkActive() && mFeatureFlags.supportNrSaRrcIdle()) {
                    if (!isPhysicalLinkActive()) {
                        transitionWithTimerTo(mNrIdleState);
                    } else if (isNrAdvanced()) {
                        transitionTo(mNrConnectedAdvancedState);
@@ -1253,7 +1231,7 @@ public class NetworkTypeController extends StateMachine {
                    break;
                case EVENT_PHYSICAL_LINK_STATUS_CHANGED:
                    mPhysicalLinkStatus = msg.arg1;
                    if (!isPhysicalLinkActive() && mFeatureFlags.supportNrSaRrcIdle()) {
                    if (!isPhysicalLinkActive()) {
                        transitionWithTimerTo(mNrIdleState);
                    }
                    break;
@@ -1318,7 +1296,6 @@ public class NetworkTypeController extends StateMachine {
                                        TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE;
                            }
                            transitionWithTimerTo(isPhysicalLinkActive()
                                    || !mFeatureFlags.supportNrSaRrcIdle()
                                    ? mNrConnectedState : mNrIdleState);
                        }
                    } else if (isLte(rat) && isNrNotRestricted()) {
@@ -1334,7 +1311,7 @@ public class NetworkTypeController extends StateMachine {
                    if (isUsingPhysicalChannelConfigForRrcDetection()) {
                        mPhysicalLinkStatus = getPhysicalLinkStatusFromPhysicalChannelConfig();
                    }
                    if (!isPhysicalLinkActive() && mFeatureFlags.supportNrSaRrcIdle()) {
                    if (!isPhysicalLinkActive()) {
                        transitionWithTimerTo(mNrIdleState);
                    } else if (!isNrAdvanced()) {
                        transitionWithTimerTo(mNrConnectedState);
@@ -1429,7 +1406,7 @@ public class NetworkTypeController extends StateMachine {
            mRatchetedNrBandwidths = Math.max(mRatchetedNrBandwidths, nrBandwidths);
            mRatchetedNrBands.addAll(nrBands);
        } else {
            if (mFeatureFlags.supportNrSaRrcIdle() && mDoesPccListIndicateIdle
            if (mDoesPccListIndicateIdle
                    && anchorNrCellId != mLastAnchorNrCellId
                    && isUsingPhysicalChannelConfigForRrcDetection()
                    && !mPrimaryCellChangedWhileIdle
@@ -1538,7 +1515,7 @@ public class NetworkTypeController extends StateMachine {
        int dataRat = getDataNetworkType();
        IState transitionState;
        if (dataRat == TelephonyManager.NETWORK_TYPE_NR || (isLte(dataRat) && isNrConnected())) {
            if (!isPhysicalLinkActive() && mFeatureFlags.supportNrSaRrcIdle()) {
            if (!isPhysicalLinkActive()) {
                transitionState = mNrIdleState;
            } else if (isNrAdvanced()) {
                transitionState = mNrConnectedAdvancedState;
@@ -1846,7 +1823,6 @@ public class NetworkTypeController extends StateMachine {
        pw.flush();
        pw.increaseIndent();
        pw.println("mSubId=" + mPhone.getSubId());
        pw.println("supportNrSaRrcIdle=" + mFeatureFlags.supportNrSaRrcIdle());
        pw.println("mOverrideTimerRules=" + mOverrideTimerRules.toString());
        pw.println("mLteEnhancedPattern=" + mLteEnhancedPattern);
        pw.println("mIsPhysicalChannelConfigOn=" + mIsPhysicalChannelConfigOn);
+11 −10
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ public class NetworkTypeControllerTest extends TelephonyTest {
        // Capture listener to emulate the carrier config change notification used later
        ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> listenerArgumentCaptor =
                ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class);
        setPhysicalLinkStatus(true);
        mNetworkTypeController =
                new NetworkTypeController(mPhone, mDisplayInfoController, mFeatureFlags);
        processAllMessages();
@@ -374,7 +375,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {
    @Test
    public void testTransitionToCurrentStateNrConnectedIdle() throws Exception {
        assertEquals("DefaultState", getCurrentState().getName());
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        doReturn(new ArrayList<>()).when(mSST).getPhysicalChannelConfigList();
        sendCarrierConfigChanged();
@@ -640,7 +640,7 @@ public class NetworkTypeControllerTest extends TelephonyTest {
        mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIGS_CHANGED */,
                new AsyncResult(null, new ArrayList<>(), null));
        processAllMessages();
        assertEquals("connected_mmwave", getCurrentState().getName());
        assertEquals("connected_rrc_idle", getCurrentState().getName());

        // bands and bandwidths should stay ratcheted as long as anchor NR cell is the same
        physicalChannelConfigs.remove(pcc2);
@@ -704,7 +704,7 @@ public class NetworkTypeControllerTest extends TelephonyTest {
        mNetworkTypeController.sendMessage(11 /* EVENT_PHYSICAL_CHANNEL_CONFIGS_CHANGED */,
                new AsyncResult(null, new ArrayList<>(), null));
        processAllMessages();
        assertEquals("connected_mmwave", getCurrentState().getName());
        assertEquals("connected_rrc_idle", getCurrentState().getName());

        // bands and bandwidths should change if PCC list changes
        physicalChannelConfigs.remove(pcc2);
@@ -809,7 +809,14 @@ public class NetworkTypeControllerTest extends TelephonyTest {
                new NetworkTypeController(mPhone, mDisplayInfoController, mFeatureFlags);
        sendCarrierConfigChanged();
        processAllMessages();
        testTransitionToCurrentStateNrConnectedMmwave();

        // service state of NrConnectedMmwave shouldn't affect the result
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(mServiceState).getNrFrequencyRange();

        mNetworkTypeController.sendMessage(3 /* EVENT_SERVICE_STATE_CHANGED */);
        processAllMessages();

        doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(mServiceState).getNrState();
        mNetworkTypeController.sendMessage(4 /* EVENT_PHYSICAL_LINK_STATUS_CHANGED */,
                DataCallResponse.LINK_STATUS_ACTIVE);
@@ -1252,7 +1259,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {

    @Test
    public void testPrimaryTimerPrimaryCellChangeNrIdle() throws Exception {
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        ArrayList<PhysicalChannelConfig> physicalChannelConfigs = new ArrayList<>();
        physicalChannelConfigs.add(new PhysicalChannelConfig.Builder()
@@ -1509,7 +1515,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {

    @Test
    public void testTransitionToNrIdle() throws Exception {
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
        ArrayList<PhysicalChannelConfig> physicalChannelConfigs = new ArrayList<>();
@@ -1555,7 +1560,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {

    @Test
    public void testSecondaryTimerAdvanceBand() throws Exception {
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
        ArrayList<PhysicalChannelConfig> physicalChannelConfigs = new ArrayList<>();
@@ -1677,7 +1681,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {

    @Test
    public void testSecondaryTimerExpireNrIdle() throws Exception {
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        ArrayList<PhysicalChannelConfig> physicalChannelConfigs = new ArrayList<>();
        physicalChannelConfigs.add(new PhysicalChannelConfig.Builder()
@@ -1748,7 +1751,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {

    @Test
    public void testSecondaryTimerResetNrIdle() throws Exception {
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        ArrayList<PhysicalChannelConfig> physicalChannelConfigs = new ArrayList<>();
        physicalChannelConfigs.add(new PhysicalChannelConfig.Builder()
@@ -1830,7 +1832,6 @@ public class NetworkTypeControllerTest extends TelephonyTest {

    @Test
    public void testSecondaryTimerPrimaryCellChangeNrIdle() throws Exception {
        doReturn(true).when(mFeatureFlags).supportNrSaRrcIdle();
        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
        ArrayList<PhysicalChannelConfig> physicalChannelConfigs = new ArrayList<>();
        physicalChannelConfigs.add(new PhysicalChannelConfig.Builder()