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

Commit c2bcdf38 authored by Michal Brzezinski's avatar Michal Brzezinski
Browse files

Fixing Y translation of media when no media is visible in previousLocation

Fixes: 271247142
Test: have media playing -> go to lockscreen in split shade -> remove media player -> swipe down to shade and see clock not jumping
Change-Id: I7e7e682a5c70adc9e3a6d08ccbc0b8f78d43a775
parent 854fe441
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -317,13 +317,16 @@ constructor(

    /**
     * Returns the amount of translationY of the media container, during the current guided
     * transformation, if running. If there is no guided transformation running, it will return 0.
     * transformation, if running. If there is no guided transformation running, it will return -1.
     */
    fun getGuidedTransformationTranslationY(): Int {
        if (!isCurrentlyInGuidedTransformation()) {
            return -1
        }
        val startHost = getHost(previousLocation) ?: return 0
        val startHost = getHost(previousLocation)
        if (startHost == null || !startHost.visible) {
            return 0
        }
        return targetBounds.top - startHost.currentBounds.top
    }

+9 −0
Original line number Diff line number Diff line
@@ -388,6 +388,15 @@ class MediaHierarchyManagerTest : SysuiTestCase() {
            .isEqualTo(expectedTranslation)
    }

    @Test
    fun getGuidedTransformationTranslationY_previousHostInvisible_returnsZero() {
        goToLockscreen()
        enterGuidedTransformation()
        whenever(lockHost.visible).thenReturn(false)

        assertThat(mediaHierarchyManager.getGuidedTransformationTranslationY()).isEqualTo(0)
    }

    @Test
    fun isCurrentlyInGuidedTransformation_hostsVisible_returnsTrue() {
        goToLockscreen()