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

Commit 5f0f1937 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Merge "Transitions: PRIMARY_BOUNCER -> GONE notification scrim" into...

Merge "Merge "Transitions: PRIMARY_BOUNCER -> GONE notification scrim" into tm-qpr-dev am: 9d91f4d3 am: 1154e118" into udc-dev am: 896db6b2

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22180292



Change-Id: I929ffe7ae5bb7f227bd8c23151dfbd7a5bee4405
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 1750ca34 896db6b2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -303,6 +303,10 @@ constructor(

    /** Tell the bouncer to start the pre hide animation. */
    fun startDisappearAnimation(runnable: Runnable) {
        if (willRunDismissFromKeyguard()) {
            runnable.run()
            return
        }
        val finishRunnable = Runnable {
            runnable.run()
            repository.setPrimaryStartDisappearAnimation(null)
+1 −3
Original line number Diff line number Diff line
@@ -81,9 +81,7 @@ constructor(
            )
            .map {
                if (willRunDismissFromKeyguard) {
                    ScrimAlpha(
                        notificationsAlpha = 1f,
                    )
                    ScrimAlpha()
                } else if (leaveShadeOpen) {
                    ScrimAlpha(
                        behindAlpha = 1f,
+44 −29
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.phone.KeyguardBypassController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.whenever
import com.android.systemui.utils.os.FakeHandler
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -50,7 +51,6 @@ import org.mockito.Mock
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations

@SmallTest
@@ -90,9 +90,9 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
                keyguardUpdateMonitor,
                keyguardBypassController,
            )
        `when`(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        `when`(repository.primaryBouncerShow.value).thenReturn(false)
        `when`(bouncerView.delegate).thenReturn(bouncerViewDelegate)
        whenever(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        whenever(repository.primaryBouncerShow.value).thenReturn(false)
        whenever(bouncerView.delegate).thenReturn(bouncerViewDelegate)
        resources = context.orCreateTestableResources
    }

@@ -118,7 +118,7 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {

    @Test
    fun testShow_keyguardIsDone() {
        `when`(bouncerView.delegate?.showNextSecurityScreenOrFinish()).thenReturn(true)
        whenever(bouncerView.delegate?.showNextSecurityScreenOrFinish()).thenReturn(true)
        verify(keyguardStateController, never()).notifyPrimaryBouncerShowing(true)
        verify(mPrimaryBouncerCallbackInteractor, never()).dispatchStartingToShow()
    }
@@ -135,7 +135,7 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {

    @Test
    fun testExpansion() {
        `when`(repository.panelExpansionAmount.value).thenReturn(0.5f)
        whenever(repository.panelExpansionAmount.value).thenReturn(0.5f)
        underTest.setPanelExpansion(0.6f)
        verify(repository).setPanelExpansion(0.6f)
        verify(mPrimaryBouncerCallbackInteractor).dispatchExpansionChanged(0.6f)
@@ -143,8 +143,8 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {

    @Test
    fun testExpansion_fullyShown() {
        `when`(repository.panelExpansionAmount.value).thenReturn(0.5f)
        `when`(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        whenever(repository.panelExpansionAmount.value).thenReturn(0.5f)
        whenever(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        underTest.setPanelExpansion(EXPANSION_VISIBLE)
        verify(falsingCollector).onBouncerShown()
        verify(mPrimaryBouncerCallbackInteractor).dispatchFullyShown()
@@ -152,8 +152,8 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {

    @Test
    fun testExpansion_fullyHidden() {
        `when`(repository.panelExpansionAmount.value).thenReturn(0.5f)
        `when`(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        whenever(repository.panelExpansionAmount.value).thenReturn(0.5f)
        whenever(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        underTest.setPanelExpansion(EXPANSION_HIDDEN)
        verify(repository).setPrimaryShow(false)
        verify(falsingCollector).onBouncerHidden()
@@ -163,7 +163,7 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {

    @Test
    fun testExpansion_startingToHide() {
        `when`(repository.panelExpansionAmount.value).thenReturn(EXPANSION_VISIBLE)
        whenever(repository.panelExpansionAmount.value).thenReturn(EXPANSION_VISIBLE)
        underTest.setPanelExpansion(0.1f)
        verify(repository).setPrimaryStartingToHide(true)
        verify(mPrimaryBouncerCallbackInteractor).dispatchStartingToHide()
@@ -228,7 +228,21 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
    }

    @Test
    fun testStartDisappearAnimation() {
    fun testStartDisappearAnimation_willRunDismissFromKeyguard() {
        whenever(bouncerViewDelegate.willRunDismissFromKeyguard()).thenReturn(true)

        val runnable = mock(Runnable::class.java)
        underTest.startDisappearAnimation(runnable)
        // End runnable should run immediately
        verify(runnable).run()
        // ... while the disappear animation should never be run
        verify(repository, never()).setPrimaryStartDisappearAnimation(any(Runnable::class.java))
    }

    @Test
    fun testStartDisappearAnimation_willNotRunDismissFromKeyguard_() {
        whenever(bouncerViewDelegate.willRunDismissFromKeyguard()).thenReturn(false)

        val runnable = mock(Runnable::class.java)
        underTest.startDisappearAnimation(runnable)
        verify(repository).setPrimaryStartDisappearAnimation(any(Runnable::class.java))
@@ -236,45 +250,45 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {

    @Test
    fun testIsFullShowing() {
        `when`(repository.primaryBouncerShow.value).thenReturn(true)
        `when`(repository.panelExpansionAmount.value).thenReturn(EXPANSION_VISIBLE)
        `when`(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        whenever(repository.primaryBouncerShow.value).thenReturn(true)
        whenever(repository.panelExpansionAmount.value).thenReturn(EXPANSION_VISIBLE)
        whenever(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        assertThat(underTest.isFullyShowing()).isTrue()
        `when`(repository.primaryBouncerShow.value).thenReturn(false)
        whenever(repository.primaryBouncerShow.value).thenReturn(false)
        assertThat(underTest.isFullyShowing()).isFalse()
    }

    @Test
    fun testIsScrimmed() {
        `when`(repository.primaryBouncerScrimmed.value).thenReturn(true)
        whenever(repository.primaryBouncerScrimmed.value).thenReturn(true)
        assertThat(underTest.isScrimmed()).isTrue()
        `when`(repository.primaryBouncerScrimmed.value).thenReturn(false)
        whenever(repository.primaryBouncerScrimmed.value).thenReturn(false)
        assertThat(underTest.isScrimmed()).isFalse()
    }

    @Test
    fun testIsInTransit() {
        `when`(repository.primaryBouncerShowingSoon.value).thenReturn(true)
        whenever(repository.primaryBouncerShowingSoon.value).thenReturn(true)
        assertThat(underTest.isInTransit()).isTrue()
        `when`(repository.primaryBouncerShowingSoon.value).thenReturn(false)
        whenever(repository.primaryBouncerShowingSoon.value).thenReturn(false)
        assertThat(underTest.isInTransit()).isFalse()
        `when`(repository.panelExpansionAmount.value).thenReturn(0.5f)
        whenever(repository.panelExpansionAmount.value).thenReturn(0.5f)
        assertThat(underTest.isInTransit()).isTrue()
    }

    @Test
    fun testIsAnimatingAway() {
        `when`(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(Runnable {})
        whenever(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(Runnable {})
        assertThat(underTest.isAnimatingAway()).isTrue()
        `when`(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        whenever(repository.primaryBouncerStartingDisappearAnimation.value).thenReturn(null)
        assertThat(underTest.isAnimatingAway()).isFalse()
    }

    @Test
    fun testWillDismissWithAction() {
        `when`(bouncerViewDelegate.willDismissWithActions()).thenReturn(true)
        whenever(bouncerViewDelegate.willDismissWithActions()).thenReturn(true)
        assertThat(underTest.willDismissWithAction()).isTrue()
        `when`(bouncerViewDelegate.willDismissWithActions()).thenReturn(false)
        whenever(bouncerViewDelegate.willDismissWithActions()).thenReturn(false)
        assertThat(underTest.willDismissWithAction()).isFalse()
    }

@@ -363,12 +377,13 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
        isUnlockingWithFpAllowed: Boolean,
        isAnimatingAway: Boolean
    ) {
        `when`(repository.primaryBouncerShow.value).thenReturn(isVisible)
        whenever(repository.primaryBouncerShow.value).thenReturn(isVisible)
        resources.addOverride(R.bool.config_show_sidefps_hint_on_bouncer, sfpsEnabled)
        `when`(keyguardUpdateMonitor.isFingerprintDetectionRunning).thenReturn(fpsDetectionRunning)
        `when`(keyguardUpdateMonitor.isUnlockingWithFingerprintAllowed)
        whenever(keyguardUpdateMonitor.isFingerprintDetectionRunning)
            .thenReturn(fpsDetectionRunning)
        whenever(keyguardUpdateMonitor.isUnlockingWithFingerprintAllowed)
            .thenReturn(isUnlockingWithFpAllowed)
        `when`(repository.primaryBouncerStartingDisappearAnimation.value)
        whenever(repository.primaryBouncerStartingDisappearAnimation.value)
            .thenReturn(if (isAnimatingAway) Runnable {} else null)
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() {
            repository.sendTransitionStep(step(1f))

            assertThat(values.size).isEqualTo(4)
            values.forEach { assertThat(it).isEqualTo(ScrimAlpha(notificationsAlpha = 1f)) }
            values.forEach { assertThat(it).isEqualTo(ScrimAlpha()) }

            job.cancel()
        }