Merge "[Chipbar] Don't add null icon descriptions to the main description." into tm-qpr-dev am: 6fa4943481

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

Change-Id: I422bb23c17648010ff23dc1476a7ee2f05ccad21
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-12-08 23:19:40 +00:00
committed by Automerger Merge Worker
2 changed files with 37 additions and 5 deletions

View File

@@ -156,11 +156,14 @@ open class ChipbarCoordinator @Inject constructor(
}
// ---- Overall accessibility ----
currentView.requireViewById<ViewGroup>(
R.id.chipbar_inner
).contentDescription =
"${newInfo.startIcon.icon.contentDescription.loadContentDescription(context)} " +
"${newInfo.text.loadText(context)}"
val iconDesc = newInfo.startIcon.icon.contentDescription
val loadedIconDesc = if (iconDesc != null) {
"${iconDesc.loadContentDescription(context)} "
} else {
""
}
currentView.requireViewById<ViewGroup>(R.id.chipbar_inner).contentDescription =
"$loadedIconDesc${newInfo.text.loadText(context)}"
// ---- Haptics ----
newInfo.vibrationEffect?.let {

View File

@@ -109,6 +109,35 @@ class ChipbarCoordinatorTest : SysuiTestCase() {
underTest.start()
}
@Test
fun displayView_contentDescription_iconHasDescription() {
underTest.displayView(
createChipbarInfo(
Icon.Resource(R.drawable.ic_cake, ContentDescription.Loaded("loadedCD")),
Text.Loaded("text"),
endItem = null,
)
)
val contentDescView = getChipbarView().requireViewById<ViewGroup>(R.id.chipbar_inner)
assertThat(contentDescView.contentDescription.toString()).contains("loadedCD")
assertThat(contentDescView.contentDescription.toString()).contains("text")
}
@Test
fun displayView_contentDescription_iconHasNoDescription() {
underTest.displayView(
createChipbarInfo(
Icon.Resource(R.drawable.ic_cake, contentDescription = null),
Text.Loaded("text"),
endItem = null,
)
)
val contentDescView = getChipbarView().requireViewById<ViewGroup>(R.id.chipbar_inner)
assertThat(contentDescView.contentDescription.toString()).isEqualTo("text")
}
@Test
fun displayView_loadedIcon_correctlyRendered() {
val drawable = context.getDrawable(R.drawable.ic_celebration)!!