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

Commit 7776269d authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Only update arrow constraints if visibility changes" into main

parents f8c5210a c83c9b24
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -205,6 +205,7 @@ public class MediaControlPanel {
    private boolean mIsArtworkBound = false;
    private int mArtworkBoundId = 0;
    private int mArtworkNextBindRequestId = 0;
    private boolean mPageArrowsVisible = false;

    private final KeyguardStateController mKeyguardStateController;
    private final ActivityIntentHelper mActivityIntentHelper;
@@ -1095,7 +1096,8 @@ public class MediaControlPanel {
    }

    void setPageArrowsVisible(boolean visible) {
        if (!Flags.mediaCarouselArrows()) return;
        if (!Flags.mediaCarouselArrows() || mPageArrowsVisible == visible) return;
        mPageArrowsVisible = visible;

        ConstraintSet expandedSet = mMediaViewController.getExpandedLayout();
        setVisibleAndAlpha(expandedSet, R.id.page_left, visible);
+18 −0
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ import org.mockito.Mockito.`when` as whenever
import org.mockito.junit.MockitoJUnit
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.clearInvocations
import org.mockito.kotlin.eq

private const val KEY = "TEST_KEY"
@@ -1923,6 +1924,20 @@ public class MediaControlPanelTest : SysuiTestCase() {
        verify(collapsedSet).setGuidelineEnd(eq(R.id.action_button_guideline), eq(guidePx))
    }

    @RequiresFlagsEnabled(Flags.FLAG_MEDIA_CAROUSEL_ARROWS)
    @Test
    fun setArrowsVisible_alreadyVisible_noOp() {
        setArrowsVisible()

        // If same visibility is set again, does not update the constraints again
        player.setPageArrowsVisible(true)
        verify(expandedSet).setVisibility(R.id.page_left, ConstraintSet.VISIBLE)
        verify(expandedSet).setVisibility(R.id.page_right, ConstraintSet.VISIBLE)

        verify(collapsedSet).setVisibility(R.id.page_left, ConstraintSet.VISIBLE)
        verify(collapsedSet).setVisibility(R.id.page_right, ConstraintSet.VISIBLE)
    }

    @RequiresFlagsEnabled(Flags.FLAG_MEDIA_CAROUSEL_ARROWS)
    @Test
    fun setArrowsNotVisible() {
@@ -1931,6 +1946,9 @@ public class MediaControlPanelTest : SysuiTestCase() {

        player.attachPlayer(viewHolder)
        player.bindPlayer(mediaData, PACKAGE)
        player.setPageArrowsVisible(true)
        clearInvocations(expandedSet)
        clearInvocations(collapsedSet)

        player.setPageArrowsVisible(false)