[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:
@@ -259,7 +259,7 @@ constructor(
|
||||
*/
|
||||
override val isDefaultConnectionFailed: StateFlow<Boolean> =
|
||||
combine(
|
||||
mobileConnectionsRepo.mobileIsDefault,
|
||||
mobileIsDefault,
|
||||
mobileConnectionsRepo.defaultConnectionIsValidated,
|
||||
forcingCellularValidation,
|
||||
) { mobileIsDefault, defaultConnectionIsValidated, forcingCellularValidation ->
|
||||
|
||||
@@ -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() =
|
||||
|
||||
Reference in New Issue
Block a user