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

Commit a98b34d5 authored by Aaron Liu's avatar Aaron Liu Committed by Android (Google) Code Review
Browse files

Merge "[Bouncer] Fix flicker tests." into tm-qpr-dev

parents 3c57cb91 3e304dff
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.keyguard.data

import android.view.KeyEvent
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.plugins.ActivityStarter
import java.lang.ref.WeakReference
import javax.inject.Inject

@@ -45,4 +46,9 @@ interface BouncerViewDelegate {
    fun dispatchBackKeyEventPreIme(): Boolean
    fun showNextSecurityScreenOrFinish(): Boolean
    fun resume()
    fun setDismissAction(
        onDismissAction: ActivityStarter.OnDismissAction?,
        cancelAction: Runnable?,
    )
    fun willDismissWithActions(): Boolean
}
+0 −7
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.keyguard.ViewMediatorCallback
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.shared.model.BouncerCallbackActionsModel
import com.android.systemui.keyguard.shared.model.BouncerShowMessageModel
import com.android.systemui.keyguard.shared.model.KeyguardBouncerModel
import com.android.systemui.statusbar.phone.KeyguardBouncer
@@ -60,8 +59,6 @@ constructor(
    val hide = _hide.asStateFlow()
    private val _startingToHide = MutableStateFlow(false)
    val startingToHide = _startingToHide.asStateFlow()
    private val _onDismissAction = MutableStateFlow<BouncerCallbackActionsModel?>(null)
    val onDismissAction = _onDismissAction.asStateFlow()
    private val _disappearAnimation = MutableStateFlow<Runnable?>(null)
    val startingDisappearAnimation = _disappearAnimation.asStateFlow()
    private val _keyguardPosition = MutableStateFlow(0f)
@@ -126,10 +123,6 @@ constructor(
        _startingToHide.value = startingToHide
    }

    fun setOnDismissAction(bouncerCallbackActionsModel: BouncerCallbackActionsModel?) {
        _onDismissAction.value = bouncerCallbackActionsModel
    }

    fun setStartDisappearAnimation(runnable: Runnable?) {
        _disappearAnimation.value = runnable
    }
+2 −7
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.keyguard.DismissCallbackRegistry
import com.android.systemui.keyguard.data.BouncerView
import com.android.systemui.keyguard.data.repository.KeyguardBouncerRepository
import com.android.systemui.keyguard.shared.model.BouncerCallbackActionsModel
import com.android.systemui.keyguard.shared.model.BouncerShowMessageModel
import com.android.systemui.keyguard.shared.model.KeyguardBouncerModel
import com.android.systemui.plugins.ActivityStarter
@@ -94,8 +93,6 @@ constructor(
    val showMessage: Flow<BouncerShowMessageModel> = repository.showMessage.filterNotNull()
    val startingDisappearAnimation: Flow<Runnable> =
        repository.startingDisappearAnimation.filterNotNull()
    val onDismissAction: Flow<BouncerCallbackActionsModel> =
        repository.onDismissAction.filterNotNull()
    val resourceUpdateRequests: Flow<Boolean> = repository.resourceUpdateRequests.filter { it }
    val keyguardPosition: Flow<Float> = repository.keyguardPosition
    val panelExpansionAmount: Flow<Float> = repository.panelExpansionAmount
@@ -160,7 +157,6 @@ constructor(
        }
        keyguardStateController.notifyBouncerShowing(true)
        callbackInteractor.dispatchStartingToShow()

        Trace.endSection()
    }

@@ -179,7 +175,6 @@ constructor(
        keyguardStateController.notifyBouncerShowing(false /* showing */)
        cancelShowRunnable()
        repository.setShowingSoon(false)
        repository.setOnDismissAction(null)
        repository.setVisible(false)
        repository.setHide(true)
        repository.setShow(null)
@@ -241,7 +236,7 @@ constructor(
        onDismissAction: ActivityStarter.OnDismissAction?,
        cancelAction: Runnable?
    ) {
        repository.setOnDismissAction(BouncerCallbackActionsModel(onDismissAction, cancelAction))
        bouncerView.delegate?.setDismissAction(onDismissAction, cancelAction)
    }

    /** Update the resources of the views. */
@@ -319,7 +314,7 @@ constructor(

    /** Return whether bouncer will dismiss with actions */
    fun willDismissWithAction(): Boolean {
        return repository.onDismissAction.value?.onDismissAction != null
        return bouncerView.delegate?.willDismissWithActions() == true
    }

    /** Returns whether the bouncer should be full screen. */
+12 −9
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.keyguard.dagger.KeyguardBouncerComponent
import com.android.systemui.keyguard.data.BouncerViewDelegate
import com.android.systemui.keyguard.ui.viewmodel.KeyguardBouncerViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.phone.KeyguardBouncer.EXPANSION_VISIBLE
import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.flow.collect
@@ -75,6 +76,17 @@ object KeyguardBouncerViewBinder {
                    hostViewController.showPrimarySecurityScreen()
                    hostViewController.onResume()
                }

                override fun setDismissAction(
                    onDismissAction: ActivityStarter.OnDismissAction?,
                    cancelAction: Runnable?
                ) {
                    hostViewController.setOnDismissAction(onDismissAction, cancelAction)
                }

                override fun willDismissWithActions(): Boolean {
                    return hostViewController.hasDismissActions()
                }
            }
        view.repeatWhenAttached {
            repeatOnLifecycle(Lifecycle.State.STARTED) {
@@ -121,15 +133,6 @@ object KeyguardBouncerViewBinder {
                        viewModel.startingToHide.collect { hostViewController.onStartingToHide() }
                    }

                    launch {
                        viewModel.setDismissAction.collect {
                            hostViewController.setOnDismissAction(
                                it.onDismissAction,
                                it.cancelAction
                            )
                        }
                    }

                    launch {
                        viewModel.startDisappearAnimation.collect {
                            hostViewController.startDisappearAnimation(it)
+0 −4
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.view.View
import com.android.systemui.keyguard.data.BouncerView
import com.android.systemui.keyguard.data.BouncerViewDelegate
import com.android.systemui.keyguard.domain.interactor.BouncerInteractor
import com.android.systemui.keyguard.shared.model.BouncerCallbackActionsModel
import com.android.systemui.keyguard.shared.model.BouncerShowMessageModel
import com.android.systemui.keyguard.shared.model.KeyguardBouncerModel
import com.android.systemui.statusbar.phone.KeyguardBouncer.EXPANSION_VISIBLE
@@ -63,9 +62,6 @@ constructor(
    /** Observe whether bouncer is starting to hide. */
    val startingToHide: Flow<Unit> = interactor.startingToHide

    /** Observe whether we want to set the dismiss action to the bouncer. */
    val setDismissAction: Flow<BouncerCallbackActionsModel> = interactor.onDismissAction

    /** Observe whether we want to start the disappear animation. */
    val startDisappearAnimation: Flow<Runnable> = interactor.startingDisappearAnimation

Loading