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

Commit 0917ecb0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make tile in dialog not clickable"

parents cba3b716 7a7287b9
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