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

Commit f93a7ee9 authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "NSSL: Smooth transition from shade->lockscreen" into main

parents d1bd9e6c 17dc0659
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.constraintlayout.widget.ConstraintSet.END
import androidx.constraintlayout.widget.ConstraintSet.PARENT_ID
import androidx.constraintlayout.widget.ConstraintSet.START
import androidx.constraintlayout.widget.ConstraintSet.TOP
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.deviceentry.shared.DeviceEntryUdfpsRefactor
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
@@ -39,6 +40,7 @@ import com.android.systemui.statusbar.notification.stack.ui.view.SharedNotificat
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationStackAppearanceViewModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.SharedNotificationContainerViewModel
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher

/** Single column format for notifications (default for phones) */
class DefaultNotificationStackScrollLayoutSection
@@ -55,6 +57,7 @@ constructor(
    controller: NotificationStackScrollLayoutController,
    notificationStackSizeCalculator: NotificationStackSizeCalculator,
    private val smartspaceViewModel: KeyguardSmartspaceViewModel,
    @Main mainDispatcher: CoroutineDispatcher,
) :
    NotificationStackScrollLayoutSection(
        context,
@@ -66,6 +69,7 @@ constructor(
        ambientState,
        controller,
        notificationStackSizeCalculator,
        mainDispatcher,
    ) {
    override fun applyConstraints(constraintSet: ConstraintSet) {
        if (!KeyguardShadeMigrationNssl.isEnabled) {
+3 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.systemui.statusbar.notification.stack.ui.viewbinder.Notificat
import com.android.systemui.statusbar.notification.stack.ui.viewbinder.SharedNotificationContainerBinder
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationStackAppearanceViewModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.SharedNotificationContainerViewModel
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.DisposableHandle

abstract class NotificationStackScrollLayoutSection
@@ -48,6 +49,7 @@ constructor(
    private val ambientState: AmbientState,
    private val controller: NotificationStackScrollLayoutController,
    private val notificationStackSizeCalculator: NotificationStackSizeCalculator,
    private val mainDispatcher: CoroutineDispatcher,
) : KeyguardSection() {
    private val placeHolderId = R.id.nssl_placeholder
    private var disposableHandle: DisposableHandle? = null
@@ -79,6 +81,7 @@ constructor(
                sceneContainerFlags,
                controller,
                notificationStackSizeCalculator,
                mainDispatcher,
            )
        if (sceneContainerFlags.flexiNotifsEnabled()) {
            NotificationStackAppearanceViewBinder.bind(
+4 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.constraintlayout.widget.ConstraintSet.END
import androidx.constraintlayout.widget.ConstraintSet.PARENT_ID
import androidx.constraintlayout.widget.ConstraintSet.START
import androidx.constraintlayout.widget.ConstraintSet.TOP
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.deviceentry.shared.DeviceEntryUdfpsRefactor
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
@@ -39,6 +40,7 @@ import com.android.systemui.statusbar.notification.stack.ui.view.SharedNotificat
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationStackAppearanceViewModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.SharedNotificationContainerViewModel
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher

/** Large-screen format for notifications, shown as two columns on the device */
class SplitShadeNotificationStackScrollLayoutSection
@@ -55,6 +57,7 @@ constructor(
    controller: NotificationStackScrollLayoutController,
    notificationStackSizeCalculator: NotificationStackSizeCalculator,
    private val smartspaceViewModel: KeyguardSmartspaceViewModel,
    @Main mainDispatcher: CoroutineDispatcher,
) :
    NotificationStackScrollLayoutSection(
        context,
@@ -66,6 +69,7 @@ constructor(
        ambientState,
        controller,
        notificationStackSizeCalculator,
        mainDispatcher,
    ) {
    override fun applyConstraints(constraintSet: ConstraintSet) {
        if (!KeyguardShadeMigrationNssl.isEnabled) {
+10 −7
Original line number Diff line number Diff line
@@ -2677,6 +2677,8 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
        if (mIsOcclusionTransitionRunning) {
            return;
        }

        if (!KeyguardShadeMigrationNssl.isEnabled()) {
            float alpha = 1f;
            if (mClosingWithAlphaFadeOut && !mExpandingFromHeadsUp
                && !mHeadsUpManager.hasPinnedHeadsUp()) {
@@ -2689,6 +2691,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
            }
            mNotificationStackScrollLayoutController.setMaxAlphaForExpansion(alpha);
        }
    }

    private float getFadeoutAlpha() {
        float alpha;
+7 −3
Original line number Diff line number Diff line
@@ -351,7 +351,6 @@ constructor(
        )
        nsslController.resetScrollPosition()
        nsslController.resetCheckSnoozeLeavebehind()
        shadeRepository.setLegacyLockscreenShadeTracking(false)
        setDragDownAmountAnimated(0f)
    }

@@ -378,7 +377,6 @@ constructor(
                cancel()
            }
        }
        shadeRepository.setLegacyLockscreenShadeTracking(true)
    }

    /** Do we need a falsing check currently? */
@@ -836,7 +834,12 @@ class DragDownHelper(
                    initialTouchX = x
                    dragDownCallback.onDragDownStarted(startingChild)
                    dragDownAmountOnStart = dragDownCallback.dragDownAmount
                    return startingChild != null || dragDownCallback.isDragDownAnywhereEnabled
                    val intercepted =
                        startingChild != null || dragDownCallback.isDragDownAnywhereEnabled
                    if (intercepted) {
                        shadeRepository.setLegacyLockscreenShadeTracking(true)
                    }
                    return intercepted
                }
            }
        }
@@ -964,6 +967,7 @@ class DragDownHelper(
        }
        isDraggingDown = false
        isTrackpadReverseScroll = false
        shadeRepository.setLegacyLockscreenShadeTracking(false)
        dragDownCallback.onDragDownReset()
    }

Loading