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

Commit f3c3a0d0 authored by Evan Laird's avatar Evan Laird Committed by Android (Google) Code Review
Browse files

Merge "[sb] fallback from data_spn to spn" into main

parents 500078bc 8bb53fda
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -100,7 +100,14 @@ fun Intent.toNetworkNameModel(separator: String): NetworkNameModel? {
    val showSpn = getBooleanExtra(EXTRA_SHOW_SPN, false)
    val spn =
        if (statusBarSwitchToSpnFromDataSpn()) {
            // Context: b/358669494. Use DATA_SPN if it exists, since that allows carriers to
            // customize the display name. Otherwise, fall back to the SPN
            val dataSpn = getStringExtra(EXTRA_DATA_SPN)
            if (dataSpn.isNullOrEmpty()) {
                getStringExtra(EXTRA_SPN)
            } else {
                dataSpn
            }
        } else {
            getStringExtra(EXTRA_DATA_SPN)
        }
@@ -109,10 +116,8 @@ fun Intent.toNetworkNameModel(separator: String): NetworkNameModel? {
    val plmn = getStringExtra(EXTRA_PLMN)

    val str = StringBuilder()
    val strData = StringBuilder()
    if (showPlmn && plmn != null) {
        str.append(plmn)
        strData.append(plmn)
    }
    if (showSpn && spn != null) {
        if (str.isNotEmpty()) {
+88 −7
Original line number Diff line number Diff line
@@ -817,7 +817,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
            captor.lastValue.onReceive(context, intent)

            // spnIntent() sets all values to true and test strings
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))

            job.cancel()
        }
@@ -852,7 +852,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
            verify(context).registerReceiver(captor.capture(), any())
            captor.lastValue.onReceive(context, intent)

            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))

            // WHEN an intent with a different subId is sent
            val wrongSubIntent = spnIntent(subId = 101)
@@ -860,7 +860,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
            captor.lastValue.onReceive(context, wrongSubIntent)

            // THEN the previous intent's name is still used
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))

            job.cancel()
        }
@@ -902,7 +902,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
            verify(context).registerReceiver(captor.capture(), any())
            captor.lastValue.onReceive(context, intent)

            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))

            val intentWithoutInfo =
                spnIntent(
@@ -961,7 +961,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {

            // The value is still there despite no active subscribers
            assertThat(underTest.networkName.value)
                .isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
                .isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))
        }

    @Test
@@ -986,7 +986,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {

    @Test
    @EnableFlags(Flags.FLAG_STATUS_BAR_SWITCH_TO_SPN_FROM_DATA_SPN)
    fun networkName_allFieldsSet_doesNotUseDataSpn() =
    fun networkName_allFieldsSet_prioritizesDataSpnOverSpn() =
        testScope.runTest {
            val latest by collectLastValue(underTest.networkName)
            val captor = argumentCaptor<BroadcastReceiver>()
@@ -1002,6 +1002,27 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
                    plmn = PLMN,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))
        }

    @Test
    @EnableFlags(Flags.FLAG_STATUS_BAR_SWITCH_TO_SPN_FROM_DATA_SPN)
    fun networkName_spnAndPlmn_fallbackToSpnWhenNullDataSpn() =
        testScope.runTest {
            val latest by collectLastValue(underTest.networkName)
            val captor = argumentCaptor<BroadcastReceiver>()
            verify(context).registerReceiver(captor.capture(), any())

            val intent =
                spnIntent(
                    subId = SUB_1_ID,
                    showSpn = true,
                    spn = SPN,
                    dataSpn = null,
                    showPlmn = true,
                    plmn = PLMN,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
        }

@@ -1043,7 +1064,27 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
                    plmn = PLMN,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN"))
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$DATA_SPN"))
        }

    @Test
    @EnableFlags(Flags.FLAG_STATUS_BAR_SWITCH_TO_SPN_FROM_DATA_SPN)
    fun networkName_showPlmn_plmnNotNull_showSpn_spnNotNull_dataSpnNull() =
        testScope.runTest {
            val latest by collectLastValue(underTest.networkName)
            val captor = argumentCaptor<BroadcastReceiver>()
            verify(context).registerReceiver(captor.capture(), any())
            val intent =
                spnIntent(
                    subId = SUB_1_ID,
                    showSpn = true,
                    spn = SPN,
                    dataSpn = null,
                    showPlmn = true,
                    plmn = PLMN,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$PLMN$SEP$SPN"))
        }

    @Test
@@ -1102,9 +1143,49 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
                    plmn = null,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$DATA_SPN"))
        }

    @Test
    @EnableFlags(Flags.FLAG_STATUS_BAR_SWITCH_TO_SPN_FROM_DATA_SPN)
    fun networkName_showPlmn_plmnNull_showSpn_dataSpnNull() =
        testScope.runTest {
            val latest by collectLastValue(underTest.networkName)
            val captor = argumentCaptor<BroadcastReceiver>()
            verify(context).registerReceiver(captor.capture(), any())
            val intent =
                spnIntent(
                    subId = SUB_1_ID,
                    showSpn = true,
                    spn = SPN,
                    dataSpn = null,
                    showPlmn = true,
                    plmn = null,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(NetworkNameModel.IntentDerived("$SPN"))
        }

    @Test
    @EnableFlags(Flags.FLAG_STATUS_BAR_SWITCH_TO_SPN_FROM_DATA_SPN)
    fun networkName_showPlmn_plmnNull_showSpn_bothSpnNull() =
        testScope.runTest {
            val latest by collectLastValue(underTest.networkName)
            val captor = argumentCaptor<BroadcastReceiver>()
            verify(context).registerReceiver(captor.capture(), any())
            val intent =
                spnIntent(
                    subId = SUB_1_ID,
                    showSpn = true,
                    spn = null,
                    dataSpn = null,
                    showPlmn = true,
                    plmn = null,
                )
            captor.lastValue.onReceive(context, intent)
            assertThat(latest).isEqualTo(DEFAULT_NAME_MODEL)
        }

    @Test
    @DisableFlags(Flags.FLAG_STATUS_BAR_SWITCH_TO_SPN_FROM_DATA_SPN)
    fun networkName_showPlmn_plmnNull_showSpn_flagOff() =