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

Commit 3def199b authored by Lyn Han's avatar Lyn Han Committed by Android (Google) Code Review
Browse files

Merge "Fix alpha not fading on notifications after the first shade expansion" into tm-qpr-dev

parents 108cea32 e5152328
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ public class StackScrollAlgorithm {
                // which is more expensive.
                if (shelfState.hidden) {
                    // When the shelf is hidden, it won't clip views, so we don't hide rows
                    return;
                    continue;
                }

                final float shelfTop = shelfState.yTranslation;
+28 −1
Original line number Diff line number Diff line
@@ -179,7 +179,28 @@ class StackScrollAlgorithmTest : SysuiTestCase() {
    }

    @Test
    fun resetViewStates_hiddenShelf_viewAlphaDoesNotChange() {
    fun resetViewStates_hiddenShelf_allRowsBecomesTransparent() {
        hostView.removeAllViews()
        val row1 = mockExpandableNotificationRow()
        hostView.addView(row1)
        val row2 = mockExpandableNotificationRow()
        hostView.addView(row2)

        ambientState.setStatusBarState(StatusBarState.KEYGUARD)
        ambientState.hideAmount = 0.25f
        notificationShelf.viewState.hidden = true
        ambientState.shelf = notificationShelf
        stackScrollAlgorithm.initView(context)

        stackScrollAlgorithm.resetViewStates(ambientState, /* speedBumpIndex= */ 0)

        val expected = 1f - ambientState.hideAmount
        assertThat(row1.viewState.alpha).isEqualTo(expected)
        assertThat(row2.viewState.alpha).isEqualTo(expected)
    }

    @Test
    fun resetViewStates_hiddenShelf_shelfAlphaDoesNotChange() {
        val expected = notificationShelf.viewState.alpha
        notificationShelf.viewState.hidden = true
        ambientState.shelf = notificationShelf
@@ -459,3 +480,9 @@ class StackScrollAlgorithmTest : SysuiTestCase() {
        assertEquals(1f, currentRoundness)
    }
}

private fun mockExpandableNotificationRow(): ExpandableNotificationRow {
    return mock(ExpandableNotificationRow::class.java).apply {
        whenever(viewState).thenReturn(ExpandableViewState())
    }
}