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

Commit f732acb3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Re-Add a flag to Enable Carrier N1 Mode Control" into main

parents 21dd2dc4 650660f9
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
package: "com.android.internal.telephony.flags"
package: "com.android.internal.telephony.flags"


flag {
flag {
    name: "enable_carrier_config_n1_control"
    name: "enable_carrier_config_n1_control_attempt2"
    namespace: "telephony"
    namespace: "telephony"
    description: "enabling this flag allows KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY to control N1 mode enablement"
    description: "enabling this flag allows KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY to control N1 mode enablement"
    bug:"302033535"
    bug:"328848947"

    metadata {
        purpose: PURPOSE_BUGFIX
    }
}
}


flag {
flag {
+2 −2
Original line number Original line Diff line number Diff line
@@ -2448,7 +2448,7 @@ public class GsmCdmaPhone extends Phone {
     */
     */
    @Override
    @Override
    public void setN1ModeEnabled(boolean enable, @Nullable Message result) {
    public void setN1ModeEnabled(boolean enable, @Nullable Message result) {
        if (mFeatureFlags.enableCarrierConfigN1Control()) {
        if (mFeatureFlags.enableCarrierConfigN1ControlAttempt2()) {
            // This might be called by IMS on another thread, so to avoid the requirement to
            // This might be called by IMS on another thread, so to avoid the requirement to
            // lock, post it through the handler.
            // lock, post it through the handler.
            post(() -> {
            post(() -> {
@@ -2489,7 +2489,7 @@ public class GsmCdmaPhone extends Phone {


    /** Only called on the handler thread. */
    /** Only called on the handler thread. */
    private void updateCarrierN1ModeSupported(@NonNull PersistableBundle b) {
    private void updateCarrierN1ModeSupported(@NonNull PersistableBundle b) {
        if (!mFeatureFlags.enableCarrierConfigN1Control()) return;
        if (!mFeatureFlags.enableCarrierConfigN1ControlAttempt2()) return;


        if (!CarrierConfigManager.isConfigForIdentifiedCarrier(b)) return;
        if (!CarrierConfigManager.isConfigForIdentifiedCarrier(b)) return;


+6 −6
Original line number Original line Diff line number Diff line
@@ -1519,7 +1519,7 @@ public class GsmCdmaPhoneTest extends TelephonyTest {


    @Test
    @Test
    public void testNrCapabilityChanged_firstRequest_incompleteCarrierConfig_changeNeeded() {
    public void testNrCapabilityChanged_firstRequest_incompleteCarrierConfig_changeNeeded() {
        when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
        when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);


        mPhoneUT.mCi = mMockCi;
        mPhoneUT.mCi = mMockCi;
        PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
        PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
@@ -1550,7 +1550,7 @@ public class GsmCdmaPhoneTest extends TelephonyTest {


    @Test
    @Test
    public void testNrCapabilityChanged_firstRequest_noChangeNeeded() {
    public void testNrCapabilityChanged_firstRequest_noChangeNeeded() {
        when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
        when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);


        mPhoneUT.mCi = mMockCi;
        mPhoneUT.mCi = mMockCi;
        PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
        PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
@@ -1574,7 +1574,7 @@ public class GsmCdmaPhoneTest extends TelephonyTest {


    @Test
    @Test
    public void testNrCapabilityChanged_firstRequest_needsChange() {
    public void testNrCapabilityChanged_firstRequest_needsChange() {
        when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
        when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);


        mPhoneUT.mCi = mMockCi;
        mPhoneUT.mCi = mMockCi;
        PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
        PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
@@ -1598,7 +1598,7 @@ public class GsmCdmaPhoneTest extends TelephonyTest {


    @Test
    @Test
    public void testNrCapabilityChanged_CarrierConfigChanges() {
    public void testNrCapabilityChanged_CarrierConfigChanges() {
        when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
        when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);


        // Initialize the inner cache and set the modem to N1 mode = enabled/true
        // Initialize the inner cache and set the modem to N1 mode = enabled/true
        testNrCapabilityChanged_firstRequest_needsChange();
        testNrCapabilityChanged_firstRequest_needsChange();
@@ -1620,7 +1620,7 @@ public class GsmCdmaPhoneTest extends TelephonyTest {


    @Test
    @Test
    public void testNrCapabilityChanged_CarrierConfigChanges_ErrorResponse() {
    public void testNrCapabilityChanged_CarrierConfigChanges_ErrorResponse() {
        when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
        when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);


        mPhoneUT.mCi = mMockCi;
        mPhoneUT.mCi = mMockCi;
        for (int i = 0; i < 2; i++) {
        for (int i = 0; i < 2; i++) {
@@ -1646,7 +1646,7 @@ public class GsmCdmaPhoneTest extends TelephonyTest {


    @Test
    @Test
    public void testNrCapabilityChanged_firstRequest_ImsChanges() {
    public void testNrCapabilityChanged_firstRequest_ImsChanges() {
        when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
        when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);


        mPhoneUT.mCi = mMockCi;
        mPhoneUT.mCi = mMockCi;
        Message passthroughMessage = mTestHandler.obtainMessage(0xC0FFEE);
        Message passthroughMessage = mTestHandler.obtainMessage(0xC0FFEE);