diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt index 859326a29b28..ec03a6d8121f 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt @@ -52,7 +52,6 @@ import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.notification.NotificationUtils.interpolate import com.android.systemui.statusbar.notification.stack.domain.interactor.SharedNotificationContainerInteractor import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine -import com.android.systemui.util.kotlin.Utils.Companion.sampleFilter import com.android.systemui.util.kotlin.pairwise import com.android.systemui.util.kotlin.sample import javax.inject.Inject @@ -251,13 +250,17 @@ constructor( /** Keyguard can be clipped at the top as the shade is dragged */ val topClippingBounds: Flow<Int?> by lazy { - repository.topClippingBounds - .sampleFilter( + combineTransform( keyguardTransitionInteractor .transitionValue(scene = Scenes.Gone, stateWithoutSceneContainer = GONE) - .onStart { emit(0f) } - ) { goneValue -> - goneValue != 1f + .map { it == 1f } + .onStart { emit(false) } + .distinctUntilChanged(), + repository.topClippingBounds + ) { isGone, topClippingBounds -> + if (!isGone) { + emit(topClippingBounds) + } } .distinctUntilChanged() } |