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

Commit 2c57cccc authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Include on/off state if dual target" into main

parents e724f383 932991cd
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -267,6 +267,32 @@ class TileUiStateTest : SysuiTestCase() {
            .contains(resources.getString(R.string.tile_unavailable))
    }

    @Test
    fun dualTarget_inactive_hasStateDescriptionOff() {
        val state =
            QSTile.State().apply {
                state = Tile.STATE_INACTIVE
                handlesSecondaryClick = true
            }

        val uiState = state.toUiState()
        assertThat(uiState.accessibilityUiState.stateDescription)
            .contains(context.getString(R.string.switch_bar_off))
    }

    @Test
    fun dualTarget_active_hasStateDescriptionOn() {
        val state =
            QSTile.State().apply {
                state = Tile.STATE_ACTIVE
                handlesSecondaryClick = true
            }

        val uiState = state.toUiState()
        assertThat(uiState.accessibilityUiState.stateDescription)
            .contains(context.getString(R.string.switch_bar_on))
    }

    private fun QSTile.State.toUiState() = toUiState(resources)
}

+5 −1
Original line number Diff line number Diff line
@@ -63,7 +63,11 @@ fun QSTile.State.toUiState(resources: Resources): TileUiState {
    // State handling and description
    val stateDescription = StringBuilder()
    val stateText =
        if (accessibilityRole == Role.Switch || state == Tile.STATE_UNAVAILABLE) {
        if (
            accessibilityRole == Role.Switch ||
                state == Tile.STATE_UNAVAILABLE ||
                handlesSecondaryClick
        ) {
            getStateText(resources)
        } else {
            ""