Re-Add a flag to Enable Carrier N1 Mode Control
Add a new flag to control Carrier N1 Mode, so that
it can be defaulted to off. Some OEMs may not have
had sufficient opportunity to update all other
configs in all other software that must correctly
reflect the carrier SA mode support. In the event
that those configs are not updated, enabling this
feature will cause functional regressions. Thus,
disabling this feature by default.
Bug: 328848947
Test: atest GsmCdmaPhoneTest
Test: manually verified on Pixel
Change-Id: Ic3d490422ea7973a21a59b5363232f8b8c06f872
(cherry picked from commit 650660f91426d141a29fff2e9b55003d5e64ad3f)
diff --git a/flags/network.aconfig b/flags/network.aconfig
index c0394e8..ab917f0 100644
--- a/flags/network.aconfig
+++ b/flags/network.aconfig
@@ -1,10 +1,14 @@
package: "com.android.internal.telephony.flags"
flag {
- name: "enable_carrier_config_n1_control"
+ name: "enable_carrier_config_n1_control_attempt2"
namespace: "telephony"
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 {
diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
index 44122b5..db0fb2d 100644
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
@@ -2443,7 +2443,7 @@
*/
@Override
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
// lock, post it through the handler.
post(() -> {
@@ -2484,7 +2484,7 @@
/** Only called on the handler thread. */
private void updateCarrierN1ModeSupported(@NonNull PersistableBundle b) {
- if (!mFeatureFlags.enableCarrierConfigN1Control()) return;
+ if (!mFeatureFlags.enableCarrierConfigN1ControlAttempt2()) return;
if (!CarrierConfigManager.isConfigForIdentifiedCarrier(b)) return;
diff --git a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
index 5e9ff46..614846b 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
@@ -1519,7 +1519,7 @@
@Test
public void testNrCapabilityChanged_firstRequest_incompleteCarrierConfig_changeNeeded() {
- when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
+ when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);
mPhoneUT.mCi = mMockCi;
PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
@@ -1550,7 +1550,7 @@
@Test
public void testNrCapabilityChanged_firstRequest_noChangeNeeded() {
- when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
+ when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);
mPhoneUT.mCi = mMockCi;
PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
@@ -1574,7 +1574,7 @@
@Test
public void testNrCapabilityChanged_firstRequest_needsChange() {
- when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
+ when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);
mPhoneUT.mCi = mMockCi;
PersistableBundle bundle = mContextFixture.getCarrierConfigBundle();
@@ -1598,7 +1598,7 @@
@Test
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
testNrCapabilityChanged_firstRequest_needsChange();
@@ -1620,7 +1620,7 @@
@Test
public void testNrCapabilityChanged_CarrierConfigChanges_ErrorResponse() {
- when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
+ when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);
mPhoneUT.mCi = mMockCi;
for (int i = 0; i < 2; i++) {
@@ -1646,7 +1646,7 @@
@Test
public void testNrCapabilityChanged_firstRequest_ImsChanges() {
- when(mFeatureFlags.enableCarrierConfigN1Control()).thenReturn(true);
+ when(mFeatureFlags.enableCarrierConfigN1ControlAttempt2()).thenReturn(true);
mPhoneUT.mCi = mMockCi;
Message passthroughMessage = mTestHandler.obtainMessage(0xC0FFEE);