Merge "Fix a11y for controls header" into tm-qpr-dev am: 2639c3b316
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22100308 Change-Id: If2f0ff66110bb8dc23254e41b3e6ae1d487078a0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -608,6 +608,7 @@ class ControlsUiControllerImpl @Inject constructor (
|
||||
if (items.size == 1) {
|
||||
spinner.setBackground(null)
|
||||
anchor.setOnClickListener(null)
|
||||
anchor.isClickable = false
|
||||
return
|
||||
} else {
|
||||
spinner.background = parent.context.resources
|
||||
|
||||
@@ -200,6 +200,56 @@ class ControlsUiControllerImplTest : SysuiTestCase() {
|
||||
verify(taskViewFactory).create(eq(context), eq(uiExecutor), any())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testSingleAppHeaderIsNotClickable() {
|
||||
mockLayoutInflater()
|
||||
val packageName = "pkg"
|
||||
`when`(authorizedPanelsRepository.getAuthorizedPanels()).thenReturn(setOf(packageName))
|
||||
val panel = SelectedItem.PanelItem("App name", ComponentName(packageName, "cls"))
|
||||
val serviceInfo = setUpPanel(panel)
|
||||
|
||||
underTest.show(parent, {}, context)
|
||||
|
||||
val captor = argumentCaptor<ControlsListingController.ControlsListingCallback>()
|
||||
|
||||
verify(controlsListingController).addCallback(capture(captor))
|
||||
|
||||
captor.value.onServicesUpdated(listOf(serviceInfo))
|
||||
FakeExecutor.exhaustExecutors(uiExecutor, bgExecutor)
|
||||
|
||||
val header: View = parent.requireViewById(R.id.controls_header)
|
||||
assertThat(header.isClickable).isFalse()
|
||||
assertThat(header.hasOnClickListeners()).isFalse()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testMultipleAppHeaderIsClickable() {
|
||||
mockLayoutInflater()
|
||||
val packageName1 = "pkg"
|
||||
val panel1 = SelectedItem.PanelItem("App name 1", ComponentName(packageName1, "cls"))
|
||||
val serviceInfo1 = setUpPanel(panel1)
|
||||
|
||||
val packageName2 = "pkg"
|
||||
val panel2 = SelectedItem.PanelItem("App name 2", ComponentName(packageName2, "cls"))
|
||||
val serviceInfo2 = setUpPanel(panel2)
|
||||
|
||||
`when`(authorizedPanelsRepository.getAuthorizedPanels())
|
||||
.thenReturn(setOf(packageName1, packageName2))
|
||||
|
||||
underTest.show(parent, {}, context)
|
||||
|
||||
val captor = argumentCaptor<ControlsListingController.ControlsListingCallback>()
|
||||
|
||||
verify(controlsListingController).addCallback(capture(captor))
|
||||
|
||||
captor.value.onServicesUpdated(listOf(serviceInfo1, serviceInfo2))
|
||||
FakeExecutor.exhaustExecutors(uiExecutor, bgExecutor)
|
||||
|
||||
val header: View = parent.requireViewById(R.id.controls_header)
|
||||
assertThat(header.isClickable).isTrue()
|
||||
assertThat(header.hasOnClickListeners()).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPanelControllerStartActivityWithCorrectArguments() {
|
||||
mockLayoutInflater()
|
||||
|
||||
Reference in New Issue
Block a user