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

Commit 06f282ec authored by Sherry Zhou's avatar Sherry Zhou Committed by Android (Google) Code Review
Browse files

Merge "Fix clock being clipped in lockscreen after opening notification shade...

Merge "Fix clock being clipped in lockscreen after opening notification shade and unlocking" into main
parents 4662a2cf 281c870c
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -51,7 +51,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
@@ -250,17 +249,20 @@ constructor(
    val isKeyguardGoingAway: Flow<Boolean> = repository.isKeyguardGoingAway

    /** Keyguard can be clipped at the top as the shade is dragged */
    val topClippingBounds: Flow<Int?> by lazy {
        repository.topClippingBounds
            .sampleFilter(
    val topClippingBounds: Flow<Int?> =
        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()
            }
            .distinctUntilChanged()

    /** Last point that [KeyguardRootView] view was tapped */
    val lastRootViewTapPosition: Flow<Point?> = repository.lastRootViewTapPosition.asStateFlow()