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

Commit 129869eb authored by Lyn Han's avatar Lyn Han
Browse files

Fade in notifications one by one

NSSL#applyCurrentState sets ExpandableViewState#shouldFadeForShadeOpen
which ViewState uses to determine whether to animate alpha.

Bug: 172289889
Test: visual

Change-Id: Iab095bdbdbe6c3d882c0a8a0f678a132cdb6eaed
parent 195d1b15
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -614,6 +614,12 @@ public abstract class ExpandableView extends FrameLayout implements Dumpable {
        }
    }

    public void setShouldFadeForShadeOpen(boolean shouldFade) {
        if (!mViewState.gone) {
            mViewState.setShouldFadeForShadeOpen(shouldFade);
        }
    }

    /**
     * @return whether the current view doesn't add height to the overall content. This means that
     * if it is added to a list of items, its content will still have the same height.
+10 −0
Original line number Diff line number Diff line
@@ -88,6 +88,12 @@ public class ExpandableViewState extends ViewState {
    public boolean hideSensitive;
    public boolean belowSpeedBump;
    public boolean inShelf;
    public boolean shouldFadeForShadeOpen;

    @Override
    boolean shouldAnimateAlpha() {
        return shouldFadeForShadeOpen;
    }

    /**
     * A state indicating whether a headsup is currently fully visible, even when not scrolled.
@@ -171,6 +177,10 @@ public class ExpandableViewState extends ViewState {
        }
    }

    public void setShouldFadeForShadeOpen(boolean shouldFade) {
        shouldFadeForShadeOpen = shouldFade;
    }

    @Override
    public void animateTo(View child, AnimationProperties properties) {
        super.animateTo(child, properties);
+1 −0
Original line number Diff line number Diff line
@@ -3947,6 +3947,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        int numChildren = getChildCount();
        for (int i = 0; i < numChildren; i++) {
            ExpandableView child = (ExpandableView) getChildAt(i);
            child.setShouldFadeForShadeOpen(mAmbientState.isShadeOpening());
            child.applyViewState();
        }

+8 −5
Original line number Diff line number Diff line
@@ -568,11 +568,14 @@ public class StackScrollAlgorithm {
            // Add padding before sections for overscroll effect.
            childViewState.yTranslation += ambientState.getSectionPadding();
        }
        if (childViewState.yTranslation >= shelfStart) {
            childViewState.hidden = !child.isExpandAnimationRunning() && !child.hasExpandingChild();
            childViewState.inShelf = true;
            childViewState.headsUpIsVisible = false;
        }
        boolean show = childViewState.yTranslation < shelfStart
                && !ambientState.isAppearing();
        childViewState.hidden = !show
                && !child.isExpandAnimationRunning()
                && !child.hasExpandingChild();
        childViewState.inShelf = !show;
        childViewState.headsUpIsVisible = show;
        childViewState.alpha = show ? 1f : 0f;
    }

    protected int getMaxAllowedChildHeight(View child) {
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ public class StackStateAnimator {
    public static final int ANIMATION_DURATION_CORNER_RADIUS = 200;
    public static final int ANIMATION_DURATION_WAKEUP = 500;
    public static final int ANIMATION_DURATION_GO_TO_FULL_SHADE = 448;
    public static final int ANIMATION_DURATION_FADE_IN = 700;
    public static final int ANIMATION_DURATION_APPEAR_DISAPPEAR = 464;
    public static final int ANIMATION_DURATION_SWIPE = 260;
    public static final int ANIMATION_DURATION_DIMMED_ACTIVATED = 220;
Loading