Merge "[SB Refactor] Don't show RAT icon if the resource ID is invalid." into udc-dev am: e05e51d380

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22298425

Change-Id: Ife88f0198ddbfcaa08a97fd4c06aed53d3dee1de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Caitlin Shkuratov
2023-04-05 17:24:06 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 2 deletions

View File

@@ -170,7 +170,10 @@ constructor(
if (networkTypeIconGroup.dataContentDescription != 0)
ContentDescription.Resource(networkTypeIconGroup.dataContentDescription)
else null
val icon = Icon.Resource(networkTypeIconGroup.dataType, desc)
val icon =
if (networkTypeIconGroup.dataType != 0)
Icon.Resource(networkTypeIconGroup.dataType, desc)
else null
return@combine when {
!shouldShow -> null
else -> icon

View File

@@ -20,6 +20,7 @@ import androidx.test.filters.SmallTest
import com.android.settingslib.AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH
import com.android.settingslib.AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH_NONE
import com.android.settingslib.mobile.TelephonyIcons.THREE_G
import com.android.settingslib.mobile.TelephonyIcons.UNKNOWN
import com.android.systemui.SysuiTestCase
import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.Icon
@@ -343,7 +344,7 @@ class MobileIconViewModelTest : SysuiTestCase() {
fun networkType_alwaysShow_shownEvenWhenDisabled() =
testScope.runTest {
interactor.setIconGroup(THREE_G)
interactor.setIsDataEnabled(true)
interactor.setIsDataEnabled(false)
interactor.alwaysShowDataRatIcon.value = true
var latest: Icon? = null
@@ -399,6 +400,21 @@ class MobileIconViewModelTest : SysuiTestCase() {
job.cancel()
}
@Test
fun networkType_alwaysShow_notShownWhenInvalidDataTypeIcon() =
testScope.runTest {
// The UNKNOWN icon group doesn't have a valid data type icon ID
interactor.setIconGroup(UNKNOWN)
interactor.alwaysShowDataRatIcon.value = true
var latest: Icon? = null
val job = underTest.networkTypeIcon.onEach { latest = it }.launchIn(this)
assertThat(latest).isNull()
job.cancel()
}
@Test
fun `network type - alwaysShow - shown when not default`() =
testScope.runTest {