From 7a7287b9c3910b49801b9d89a27dfcc95ae6ab47 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Thu, 6 Jan 2022 11:54:10 -0500 Subject: [PATCH] Make tile in dialog not clickable Test: atest TileRequestDialogTest Test: manual, using Talkback Fixes: 213456299 Change-Id: Icac2033e7c816640972e57c203f0f3cff7502b4f --- .../systemui/qs/external/TileRequestDialog.kt | 8 ++++- .../qs/external/TileRequestDialogTest.kt | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt b/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt index 11c49496fc1d2..bd2f64bb98749 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt @@ -59,6 +59,7 @@ class TileRequestDialog( R.dimen.qs_tile_service_request_tile_width), context.resources.getDimensionPixelSize(R.dimen.qs_quick_tile_size) ) + isSelected = true } val spacing = 0 setView(ll, spacing, spacing, spacing, spacing / 2) @@ -68,12 +69,17 @@ class TileRequestDialog( val tile = QSTileViewImpl(context, QSIconViewImpl(context), true) val state = QSTile.BooleanState().apply { label = tileData.label + handlesLongClick = false icon = tileData.icon?.loadDrawable(context)?.let { QSTileImpl.DrawableIcon(it) } ?: ResourceIcon.get(R.drawable.android) } tile.onStateChanged(state) - tile.isSelected = true + tile.post { + tile.stateDescription = "" + tile.isClickable = false + tile.isSelected = true + } return tile } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt index f56a185a19a5b..2ad9c9400f65f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt @@ -130,4 +130,37 @@ class TileRequestDialogTest : SysuiTestCase() { val tile = content.getChildAt(1) as QSTileView assertThat((tile.icon.iconView as ImageView).drawable).isNotNull() } + + @Test + fun setTileData_hasNoStateDescription() { + val icon = Icon.createWithResource(mContext, R.drawable.cloud) + val tileData = TileRequestDialog.TileData(APP_NAME, LABEL, icon) + + dialog.setTileData(tileData) + dialog.show() + + TestableLooper.get(this).processAllMessages() + + val content = dialog.requireViewById(TileRequestDialog.CONTENT_ID) + val tile = content.getChildAt(1) as QSTileView + + assertThat(tile.stateDescription).isEqualTo("") + } + + @Test + fun setTileData_tileNotClickable() { + val icon = Icon.createWithResource(mContext, R.drawable.cloud) + val tileData = TileRequestDialog.TileData(APP_NAME, LABEL, icon) + + dialog.setTileData(tileData) + dialog.show() + + TestableLooper.get(this).processAllMessages() + + val content = dialog.requireViewById(TileRequestDialog.CONTENT_ID) + val tile = content.getChildAt(1) as QSTileView + + assertThat(tile.isClickable).isFalse() + assertThat(tile.isLongClickable).isFalse() + } } \ No newline at end of file