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

Commit 970a8f60 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[SB Refactor] Use the calculated mobileIsDefault for failed connection.

This is not directly related to b/225902574 but I noticed it while
looking at that issue.

In the case where carrier merged comes through a WIFI connection, it
would never show the ! because mobileIsDefault=false. However, the
carrier merged connection could be non-validated, in which case we
*should* show the ! (but wouldn't right now).

This CL updates the `isDefaultConnectionFailed` calculation to also
show the ! if carrier merged is default and not validated. It does this
by using the interactor's interally calculated `mobileIsDefault` flow,
which includes carrier merged (as opposed to the repo's
`mobileIsDefault` flow, which does not include carrier merged).

Bug: 225902574
Test: atest MobileIconsInteractorTest
Change-Id: Ic79cc1755a67400de067a51abcf654b1294b7fe1
parent e6d80348
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -259,7 +259,7 @@ constructor(
     */
    override val isDefaultConnectionFailed: StateFlow<Boolean> =
        combine(
                mobileConnectionsRepo.mobileIsDefault,
                mobileIsDefault,
                mobileConnectionsRepo.defaultConnectionIsValidated,
                forcingCellularValidation,
            ) { mobileIsDefault, defaultConnectionIsValidated, forcingCellularValidation ->
+15 −0
Original line number Diff line number Diff line
@@ -361,6 +361,21 @@ class MobileIconsInteractorTest : SysuiTestCase() {
            job.cancel()
        }

    @Test
    fun failedConnection_carrierMergedDefault_notValidated_failed() =
        testScope.runTest {
            var latest: Boolean? = null
            val job = underTest.isDefaultConnectionFailed.onEach { latest = it }.launchIn(this)

            connectionsRepository.hasCarrierMergedConnection.value = true
            connectionsRepository.defaultConnectionIsValidated.value = false
            yield()

            assertThat(latest).isTrue()

            job.cancel()
        }

    /** Regression test for b/275076959. */
    @Test
    fun failedConnection_dataSwitchInSameGroup_notFailed() =