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

Commit 118b1e3b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixed a issue where notification icons don't align vertically while peeking" into pi-dev

parents 11d87656 5be1f7c2
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.policy.HeadsUpManager;

import java.util.ArrayList;
import java.util.Collection;

/**
 * A global state to track all input states for the algorithm.
@@ -72,6 +71,7 @@ public class AmbientState {
    private ExpandableNotificationRow mExpandingNotification;
    private int mDarkTopPadding;
    private float mDarkAmount;
    private boolean mAppearing;

    public AmbientState(Context context) {
        reload(context);
@@ -436,4 +436,12 @@ public class AmbientState {
    public int getDarkTopPadding() {
        return mDarkTopPadding;
    }

    public void setAppearing(boolean appearing) {
        mAppearing = appearing;
    }

    public boolean isAppearing() {
        return mAppearing;
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -885,7 +885,9 @@ public class NotificationStackScrollLayout extends ViewGroup
        float appearEndPosition = getAppearEndPosition();
        float appearStartPosition = getAppearStartPosition();
        float appearFraction = 1.0f;
        if (height >= appearEndPosition) {
        boolean appearing = height < appearEndPosition;
        mAmbientState.setAppearing(appearing);
        if (!appearing) {
            translationY = 0;
            if (mShouldShowShelfOnly) {
                stackHeight = mTopPadding + mShelf.getIntrinsicHeight();
+4 −16
Original line number Diff line number Diff line
@@ -478,22 +478,6 @@ public class StackScrollAlgorithm {
                childState.hidden = false;
            }
        }
        // Let's hide all the views if we are not expanded. the views might otherwise be visible
        // in the headsup area if a view was swiped away
        if (!mIsExpanded) {
            for (int i = 0; i < childCount; i++) {
                boolean visible = false;
                View child = algorithmState.visibleChildren.get(i);
                if (child instanceof ExpandableNotificationRow) {
                    ExpandableNotificationRow row = (ExpandableNotificationRow) child;
                    visible = row.isHeadsUp() || row.isHeadsUpAnimatingAway();
                }
                if (!visible) {
                    ExpandableViewState childState = resultState.getViewStateForView(child);
                    childState.hidden = true;
                }
            }
        }
    }

    private void clampHunToTop(AmbientState ambientState, ExpandableNotificationRow row,
@@ -536,6 +520,10 @@ public class StackScrollAlgorithm {

        int shelfStart = ambientState.getInnerHeight()
                - ambientState.getShelf().getIntrinsicHeight();
        if (ambientState.isAppearing() && !child.isAboveShelf()) {
            // Don't show none heads-up notifications while in appearing phase.
            childViewState.yTranslation = Math.max(childViewState.yTranslation, shelfStart);
        }
        childViewState.yTranslation = Math.min(childViewState.yTranslation, shelfStart);
        if (childViewState.yTranslation >= shelfStart) {
            childViewState.hidden = !child.isExpandAnimationRunning() && !child.hasExpandingChild();