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

Commit 1bb44372 authored by Selim Cinek's avatar Selim Cinek Committed by Android (Google) Code Review
Browse files

Merge "Fixed an animation bug" into lmp-preview-dev

parents b2be801f 159ffdbf
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ public class NotificationStackScrollLayout extends ViewGroup
    private ArrayList<View> mSwipedOutViews = new ArrayList<View>();
    private final StackStateAnimator mStateAnimator = new StackStateAnimator(this);
    private boolean mAnimationsEnabled;
    private boolean mChangePositionInProgress;

    /**
     * The raw amount of the overScroll on the top, which is not rubber-banded.
@@ -1318,7 +1319,7 @@ public class NotificationStackScrollLayout extends ViewGroup
    protected void onViewRemoved(View child) {
        super.onViewRemoved(child);
        mStackScrollAlgorithm.notifyChildrenChanged(this);
        if (mChildrenChangingPositions.contains(child)) {
        if (mChangePositionInProgress) {
            // This is only a position change, don't do anything special
            return;
        }
@@ -1413,7 +1414,7 @@ public class NotificationStackScrollLayout extends ViewGroup
     * @param child The view to be added.
     */
    public void generateAddAnimation(View child) {
        if (mIsExpanded && mAnimationsEnabled && !mChildrenChangingPositions.contains(child)) {
        if (mIsExpanded && mAnimationsEnabled && !mChangePositionInProgress) {
            // Generate Animations
            mChildrenToAddAnimated.add(child);
            mNeedsAnimation = true;
@@ -1428,12 +1429,16 @@ public class NotificationStackScrollLayout extends ViewGroup
     */
    public void changeViewPosition(View child, int newIndex) {
        if (child != null && child.getParent() == this) {
            mChildrenChangingPositions.add(child);
            mChangePositionInProgress = true;
            removeView(child);
            addView(child, newIndex);
            mChangePositionInProgress = false;
            if (mIsExpanded && mAnimationsEnabled) {
                mChildrenChangingPositions.add(child);
                mNeedsAnimation = true;
            }
        }
    }

    private void startAnimationToState() {
        if (mNeedsAnimation) {