[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
This commit is contained in:
Caitlin Shkuratov
2023-05-04 19:36:38 +00:00
parent e6d80348a5
commit 970a8f6025
2 changed files with 16 additions and 1 deletions

View File

@@ -259,7 +259,7 @@ constructor(
*/
override val isDefaultConnectionFailed: StateFlow<Boolean> =
combine(
mobileConnectionsRepo.mobileIsDefault,
mobileIsDefault,
mobileConnectionsRepo.defaultConnectionIsValidated,
forcingCellularValidation,
) { mobileIsDefault, defaultConnectionIsValidated, forcingCellularValidation ->

View File

@@ -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() =