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

Commit f1a446aa authored by Evan Laird's avatar Evan Laird Committed by Automerger Merge Worker
Browse files

Merge "Set secondaryView to GONE when invisible" into rvc-dev am: 20309013

Change-Id: I138ce089f81338f1caec173ef6fd0c3ff52ff62a
parents 0b39e521 20309013
Loading
Loading
Loading
Loading
+28 −3
Original line number Diff line number Diff line
@@ -47,6 +47,18 @@ public abstract class StackScrollerDecorView extends ExpandableView {
        }
    };

    private boolean mSecondaryAnimating = false;
    private final Runnable mSecondaryVisibilityEndRunnable = () -> {
        mSecondaryAnimating = false;
        // If we were on screen, become GONE to avoid touches
        if (mSecondaryView == null) return;
        if (getVisibility() != View.GONE
                && mSecondaryView.getVisibility() != View.GONE
                && !mIsSecondaryVisible) {
            mSecondaryView.setVisibility(View.GONE);
        }
    };

    public StackScrollerDecorView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setClipChildren(false);
@@ -88,9 +100,11 @@ public abstract class StackScrollerDecorView extends ExpandableView {
    private void setContentVisible(boolean contentVisible, boolean animate) {
        if (mContentVisible != contentVisible) {
            mContentAnimating = animate;
            setViewVisible(mContent, contentVisible, animate, mContentVisibilityEndRunnable);
            mContentVisible = contentVisible;
        } if (!mContentAnimating) {
            setViewVisible(mContent, contentVisible, animate, mContentVisibilityEndRunnable);
        }

        if (!mContentAnimating) {
            mContentVisibilityEndRunnable.run();
        }
    }
@@ -136,8 +150,13 @@ public abstract class StackScrollerDecorView extends ExpandableView {
     */
    public void setSecondaryVisible(boolean nowVisible, boolean animate) {
        if (mIsSecondaryVisible != nowVisible) {
            setViewVisible(mSecondaryView, nowVisible, animate, null /* endRunnable */);
            mSecondaryAnimating = animate;
            mIsSecondaryVisible = nowVisible;
            setViewVisible(mSecondaryView, nowVisible, animate, mSecondaryVisibilityEndRunnable);
        }

        if (!mSecondaryAnimating) {
            mSecondaryVisibilityEndRunnable.run();
        }
    }

@@ -170,6 +189,12 @@ public abstract class StackScrollerDecorView extends ExpandableView {
        if (view == null) {
            return;
        }

        // Make sure we're visible so animations work
        if (view.getVisibility() != View.VISIBLE) {
            view.setVisibility(View.VISIBLE);
        }

        // cancel any previous animations
        view.animate().cancel();
        float endValue = nowVisible ? 1.0f : 0.0f;