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

Commit 1ed4d497 authored by Alexandr Shabalin's avatar Alexandr Shabalin Committed by Android (Google) Code Review
Browse files

Merge "Don't request suggestion when the player is in resumption state." into main

parents f27d4f75 6c6d773d
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -1088,11 +1088,7 @@ constructor(
        val visibleMediaIndex = mediaCarouselScrollHandler.visibleMediaIndex
        debugLogger.logCardVisibilityChanged(isCarouselVisible, visibleMediaIndex)

        if (
            !enableSuggestedDeviceUi() ||
                !isCarouselVisible ||
                MediaPlayerData.mediaData().all { it.second.resumption }
        ) {
        if (!enableSuggestedDeviceUi() || !isCarouselVisible) {
            return
        }
        if (MediaPlayerData.players().size > visibleMediaIndex) {
+3 −0
Original line number Diff line number Diff line
@@ -613,6 +613,9 @@ public class MediaControlPanel {
        if (!Flags.enableSuggestedDeviceUi()) {
            return;
        }
        if (mMediaData.getResumption()) {
            return;
        }
        @Nullable Runnable onSuggestionVisibleRunnable = mOnSuggestionSpaceVisibleRunnable;
        if (onSuggestionVisibleRunnable != null) {
            onSuggestionVisibleRunnable.run();
+38 −0
Original line number Diff line number Diff line
@@ -1326,6 +1326,44 @@ public class MediaControlPanelTest : SysuiTestCase() {
            .isEqualTo(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS)
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUGGESTED_DEVICE_UI)
    fun onPanelFullyVisible_activeState_requestsSuggestion() {
        player.attachPlayer(viewHolder)

        val suggestionData =
            SuggestionData(
                suggestedMediaDeviceData = null,
                onSuggestionSpaceVisible = mock(Runnable::class.java),
            )
        player.bindPlayer(
            mediaData.copy(suggestionData = suggestionData, resumption = false),
            PACKAGE,
        )
        player.onPanelFullyVisible()

        verify(suggestionData.onSuggestionSpaceVisible).run()
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUGGESTED_DEVICE_UI)
    fun onPanelFullyVisible_resumptionState_doesNothing() {
        player.attachPlayer(viewHolder)

        val suggestionData =
            SuggestionData(
                suggestedMediaDeviceData = null,
                onSuggestionSpaceVisible = mock(Runnable::class.java),
            )
        player.bindPlayer(
            mediaData.copy(suggestionData = suggestionData, resumption = true),
            PACKAGE,
        )
        player.onPanelFullyVisible()

        verify(suggestionData.onSuggestionSpaceVisible, never()).run()
    }

    /* ***** Guts tests for the player ***** */

    @Test