diff options
Diffstat (limited to 'packages/SystemUI/src/com')
4 files changed, 31 insertions, 31 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBouncerRepository.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBouncerRepository.kt index ae5b79947006..64e2a2cbd396 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBouncerRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBouncerRepository.kt @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.data.repository import android.os.Build +import android.util.Log import com.android.keyguard.ViewMediatorCallback import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application @@ -34,6 +35,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.onEach /** * Encapsulates app state for the lock screen primary and alternate bouncer. @@ -231,6 +233,7 @@ constructor( primaryBouncerShow .logDiffsForTable(buffer, "", "PrimaryBouncerShow", false) + .onEach { Log.d(TAG, "Keyguard Bouncer is ${if (it) "showing" else "hiding."}") } .launchIn(applicationScope) primaryBouncerShowingSoon .logDiffsForTable(buffer, "", "PrimaryBouncerShowingSoon", false) @@ -274,5 +277,6 @@ constructor( companion object { private const val NOT_VISIBLE = -1L + private const val TAG = "KeyguardBouncerRepositoryImpl" } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/PrimaryBouncerInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/PrimaryBouncerInteractor.kt index 0a3b3d3796cc..e9184aeeb29e 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/PrimaryBouncerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/PrimaryBouncerInteractor.kt @@ -95,8 +95,7 @@ constructor( } val keyguardAuthenticated: Flow<Boolean> = repository.keyguardAuthenticated.filterNotNull() - val show: Flow<Unit> = repository.primaryBouncerShow.filter { it }.map {} - val hide: Flow<Unit> = repository.primaryBouncerShow.filter { !it }.map {} + val isShowing: Flow<Boolean> = repository.primaryBouncerShow val startingToHide: Flow<Unit> = repository.primaryBouncerStartingToHide.filter { it }.map {} val isBackButtonEnabled: Flow<Boolean> = repository.isBackButtonEnabled.filterNotNull() val showMessage: Flow<BouncerShowMessageModel> = repository.showMessage.filterNotNull() diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBouncerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBouncerViewBinder.kt index 5fcf1052d949..468a6b52c5e5 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBouncerViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBouncerViewBinder.kt @@ -109,36 +109,36 @@ object KeyguardBouncerViewBinder { try { viewModel.setBouncerViewDelegate(delegate) launch { - viewModel.show.collect { - // Reset Security Container entirely. - securityContainerController.reinflateViewFlipper { + viewModel.isShowing.collect { isShowing -> + if (isShowing) { // Reset Security Container entirely. - view.visibility = View.VISIBLE + securityContainerController.reinflateViewFlipper { + // Reset Security Container entirely. + view.visibility = View.VISIBLE + securityContainerController.onBouncerVisibilityChanged( + /* isVisible= */ true + ) + securityContainerController.showPrimarySecurityScreen( + /* turningOff= */ false + ) + securityContainerController.appear() + securityContainerController.onResume( + KeyguardSecurityView.SCREEN_ON + ) + } + } else { + view.visibility = View.INVISIBLE securityContainerController.onBouncerVisibilityChanged( - /* isVisible= */ true + /* isVisible= */ false ) - securityContainerController.showPrimarySecurityScreen( - /* turningOff= */ false - ) - securityContainerController.appear() - securityContainerController.onResume(KeyguardSecurityView.SCREEN_ON) + securityContainerController.cancelDismissAction() + securityContainerController.reset() + securityContainerController.onPause() } } } launch { - viewModel.hide.collect { - view.visibility = View.INVISIBLE - securityContainerController.onBouncerVisibilityChanged( - /* isVisible= */ false - ) - securityContainerController.cancelDismissAction() - securityContainerController.reset() - securityContainerController.onPause() - } - } - - launch { viewModel.startingToHide.collect { securityContainerController.onStartingToHide() } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModel.kt index 0656c9baa921..9602888ced58 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModel.kt @@ -40,11 +40,8 @@ constructor( /** Can the user interact with the view? */ val isInteractable: Flow<Boolean> = interactor.isInteractable - /** Observe whether bouncer is showing. */ - val show: Flow<Unit> = interactor.show - - /** Observe whether bouncer is hiding. */ - val hide: Flow<Unit> = interactor.hide + /** Observe whether bouncer is showing or not. */ + val isShowing: Flow<Boolean> = interactor.isShowing /** Observe whether bouncer is starting to hide. */ val startingToHide: Flow<Unit> = interactor.startingToHide @@ -70,8 +67,8 @@ constructor( /** Observe whether we should update fps is showing. */ val shouldUpdateSideFps: Flow<Unit> = merge( - interactor.hide, - interactor.show, + interactor.isShowing.map {}, + interactor.startingToHide, interactor.startingDisappearAnimation.filterNotNull().map {} ) |