Loading packages/SystemUI/src/com/android/systemui/keyguard/data/BouncerView.kt +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -45,4 +46,9 @@ interface BouncerViewDelegate { fun dispatchBackKeyEventPreIme(): Boolean fun showNextSecurityScreenOrFinish(): Boolean fun resume() fun setDismissAction( onDismissAction: ActivityStarter.OnDismissAction?, cancelAction: Runnable?, ) fun willDismissWithActions(): Boolean } packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBouncerRepository.kt +0 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading Loading @@ -126,10 +123,6 @@ constructor( _startingToHide.value = startingToHide } fun setOnDismissAction(bouncerCallbackActionsModel: BouncerCallbackActionsModel?) { _onDismissAction.value = bouncerCallbackActionsModel } fun setStartDisappearAnimation(runnable: Runnable?) { _disappearAnimation.value = runnable } Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/BouncerInteractor.kt +2 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -160,7 +157,6 @@ constructor( } keyguardStateController.notifyBouncerShowing(true) callbackInteractor.dispatchStartingToShow() Trace.endSection() } Loading @@ -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) Loading Loading @@ -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. */ Loading Loading @@ -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. */ Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBouncerViewBinder.kt +12 −9 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) { Loading Loading @@ -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) Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModel.kt +0 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading
packages/SystemUI/src/com/android/systemui/keyguard/data/BouncerView.kt +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -45,4 +46,9 @@ interface BouncerViewDelegate { fun dispatchBackKeyEventPreIme(): Boolean fun showNextSecurityScreenOrFinish(): Boolean fun resume() fun setDismissAction( onDismissAction: ActivityStarter.OnDismissAction?, cancelAction: Runnable?, ) fun willDismissWithActions(): Boolean }
packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBouncerRepository.kt +0 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading Loading @@ -126,10 +123,6 @@ constructor( _startingToHide.value = startingToHide } fun setOnDismissAction(bouncerCallbackActionsModel: BouncerCallbackActionsModel?) { _onDismissAction.value = bouncerCallbackActionsModel } fun setStartDisappearAnimation(runnable: Runnable?) { _disappearAnimation.value = runnable } Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/BouncerInteractor.kt +2 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -160,7 +157,6 @@ constructor( } keyguardStateController.notifyBouncerShowing(true) callbackInteractor.dispatchStartingToShow() Trace.endSection() } Loading @@ -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) Loading Loading @@ -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. */ Loading Loading @@ -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. */ Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBouncerViewBinder.kt +12 −9 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) { Loading Loading @@ -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) Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModel.kt +0 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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