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

Commit 0dd00933 authored by Beth Thibodeau's avatar Beth Thibodeau
Browse files

Do not allow focus on invisible buttons

Fixes: 282157959
Test: atest MediaControlPanelTest
Test: manual with Talkback
Change-Id: I0c6d1d5e7e071f9ff6825c8eabe25ecba73271f3
parent a24961f0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1235,6 +1235,8 @@ public class MediaControlPanel {
        if ((buttonId == R.id.actionPrev && semanticActions.getReservePrev())
                || (buttonId == R.id.actionNext && semanticActions.getReserveNext())) {
            notVisibleValue = ConstraintSet.INVISIBLE;
            mMediaViewHolder.getAction(buttonId).setFocusable(visible);
            mMediaViewHolder.getAction(buttonId).setClickable(visible);
        } else {
            notVisibleValue = ConstraintSet.GONE;
        }
+6 −0
Original line number Diff line number Diff line
@@ -530,6 +530,8 @@ public class MediaControlPanelTest : SysuiTestCase() {
        verify(collapsedSet).setVisibility(R.id.actionPlayPause, ConstraintSet.VISIBLE)

        assertThat(actionNext.isEnabled()).isTrue()
        assertThat(actionNext.isFocusable()).isTrue()
        assertThat(actionNext.isClickable()).isTrue()
        assertThat(actionNext.contentDescription).isEqualTo("next")
        verify(collapsedSet).setVisibility(R.id.actionNext, ConstraintSet.VISIBLE)

@@ -576,6 +578,8 @@ public class MediaControlPanelTest : SysuiTestCase() {

        assertThat(actionPrev.isEnabled()).isFalse()
        assertThat(actionPrev.drawable).isNull()
        assertThat(actionPrev.isFocusable()).isFalse()
        assertThat(actionPrev.isClickable()).isFalse()
        verify(expandedSet).setVisibility(R.id.actionPrev, ConstraintSet.INVISIBLE)

        assertThat(actionNext.isEnabled()).isFalse()
@@ -610,6 +614,8 @@ public class MediaControlPanelTest : SysuiTestCase() {

        assertThat(actionNext.isEnabled()).isFalse()
        assertThat(actionNext.drawable).isNull()
        assertThat(actionNext.isFocusable()).isFalse()
        assertThat(actionNext.isClickable()).isFalse()
        verify(expandedSet).setVisibility(R.id.actionNext, ConstraintSet.INVISIBLE)
    }