Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a7287b9 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Make tile in dialog not clickable

Test: atest TileRequestDialogTest
Test: manual, using Talkback
Fixes: 213456299
Change-Id: Icac2033e7c816640972e57c203f0f3cff7502b4f
parent 2cda351f
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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.post {
            tile.stateDescription = ""
            tile.isClickable = false
            tile.isSelected = true
        }
        return tile
    }

+33 −0
Original line number Diff line number Diff line
@@ -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()
    }
}
 No newline at end of file