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

Commit 0588aa51 authored by Selim Cinek's avatar Selim Cinek Committed by Android (Google) Code Review
Browse files

Merge "Animating the shade when going back to the keyguard from shade locked" into qt-r1-dev

parents 35890aba 601cda65
Loading
Loading
Loading
Loading
+15 −5
Original line number Original line Diff line number Diff line
@@ -38,7 +38,7 @@ import javax.inject.Singleton
class NotificationWakeUpCoordinator @Inject constructor(
class NotificationWakeUpCoordinator @Inject constructor(
        private val mContext: Context,
        private val mContext: Context,
        private val mHeadsUpManagerPhone: HeadsUpManagerPhone,
        private val mHeadsUpManagerPhone: HeadsUpManagerPhone,
        private val mStatusBarStateController: StatusBarStateController,
        private val statusBarStateController: StatusBarStateController,
        private val bypassController: KeyguardBypassController)
        private val bypassController: KeyguardBypassController)
    : OnHeadsUpChangedListener, StatusBarStateController.StateListener {
    : OnHeadsUpChangedListener, StatusBarStateController.StateListener {


@@ -69,6 +69,8 @@ class NotificationWakeUpCoordinator @Inject constructor(
    private val mDozeParameters: DozeParameters
    private val mDozeParameters: DozeParameters
    private var pulseExpanding: Boolean = false
    private var pulseExpanding: Boolean = false
    private val wakeUpListeners = arrayListOf<WakeUpListener>()
    private val wakeUpListeners = arrayListOf<WakeUpListener>()
    private var state: Int = StatusBarState.KEYGUARD

    var fullyAwake: Boolean = false
    var fullyAwake: Boolean = false


    var willWakeUp = false
    var willWakeUp = false
@@ -111,14 +113,14 @@ class NotificationWakeUpCoordinator @Inject constructor(
            if (bypassController.bypassEnabled) {
            if (bypassController.bypassEnabled) {
                // We also allow pulsing on the lock screen!
                // We also allow pulsing on the lock screen!
                canShow = canShow || (mWakingUp || willWakeUp || fullyAwake)
                canShow = canShow || (mWakingUp || willWakeUp || fullyAwake)
                        && mStatusBarStateController.state == StatusBarState.KEYGUARD
                        && statusBarStateController.state == StatusBarState.KEYGUARD
            }
            }
            return canShow
            return canShow
        }
        }


    init {
    init {
        mHeadsUpManagerPhone.addListener(this)
        mHeadsUpManagerPhone.addListener(this)
        mStatusBarStateController.addCallback(this)
        statusBarStateController.addCallback(this)
        mDozeParameters = DozeParameters.getInstance(mContext)
        mDozeParameters = DozeParameters.getInstance(mContext)
    }
    }


@@ -217,13 +219,21 @@ class NotificationWakeUpCoordinator @Inject constructor(


    override fun onStateChanged(newState: Int) {
    override fun onStateChanged(newState: Int) {
        updateDozeAmountIfBypass();
        updateDozeAmountIfBypass();
        if (bypassController.bypassEnabled &&
                newState == StatusBarState.KEYGUARD && state == StatusBarState.SHADE_LOCKED
                && (!statusBarStateController.isDozing || shouldAnimateVisibility())) {
            // We're leaving shade locked. Let's animate the notifications away
            setNotificationsVisible(visible = true, increaseSpeed = false, animate = false)
            setNotificationsVisible(visible = false, increaseSpeed = false, animate = true)
        }
        this.state = newState
    }
    }


    private fun updateDozeAmountIfBypass(): Boolean {
    private fun updateDozeAmountIfBypass(): Boolean {
        if (bypassController.bypassEnabled) {
        if (bypassController.bypassEnabled) {
            var amount = 1.0f;
            var amount = 1.0f;
            if (mStatusBarStateController.state == StatusBarState.SHADE
            if (statusBarStateController.state == StatusBarState.SHADE
                    || mStatusBarStateController.state == StatusBarState.SHADE_LOCKED) {
                    || statusBarStateController.state == StatusBarState.SHADE_LOCKED) {
                amount = 0.0f;
                amount = 0.0f;
            }
            }
            setDozeAmount(amount,  amount)
            setDozeAmount(amount,  amount)