Merge "Make tile in dialog not clickable"

This commit is contained in:
TreeHugger Robot
2022-01-11 19:52:47 +00:00
committed by Android (Google) Code Review
2 changed files with 40 additions and 1 deletions

View File

@@ -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
}

View File

@@ -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<ViewGroup>(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<ViewGroup>(TileRequestDialog.CONTENT_ID)
val tile = content.getChildAt(1) as QSTileView
assertThat(tile.isClickable).isFalse()
assertThat(tile.isLongClickable).isFalse()
}
}