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

Commit 19328fab authored by John Spurlock's avatar John Spurlock
Browse files

QS: Fix detail clip reverse transition.

Give it a layer during the transition to workaround a recent
regression in the clip animation.

Also:
 - Dial down the transition alpha a bit
 - Do a delayed reverse transition on exit

Change-Id: I622d6eb863d6186293b0126dda8fca3a04a80a85
parent 1c18285c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
    <color name="qs_tile_text">#B3FFFFFF</color><!-- 70% white -->
    <color name="qs_subhead">#99FFFFFF</color><!-- 60% white -->
    <color name="qs_detail_empty">#24B0BEC5</color><!-- 14% blue grey 200-->
    <color name="qs_detail_transition">#99FFFFFF</color>
    <color name="qs_detail_transition">#66FFFFFF</color>
    <color name="data_usage_secondary">#99FFFFFF</color><!-- 60% white -->
    <color name="data_usage_graph_track">#33FFFFFF</color><!-- 20% white -->
    <color name="data_usage_graph_warning">#FFFFFFFF</color>
+13 −0
Original line number Diff line number Diff line
@@ -51,16 +51,27 @@ public class QSDetailClipper {
        if (listener != null) {
            mAnimator.addListener(listener);
        }
        mDetail.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        if (in) {
            mBackground.startTransition((int)(mAnimator.getDuration() * 0.6));
            mAnimator.addListener(mVisibleOnStart);
            mAnimator.start();
        } else {
            mDetail.postDelayed(mReverseBackground, (long)(mAnimator.getDuration() * 0.65));
            mAnimator.addListener(mGoneOnEnd);
            mAnimator.reverse();
        }
    }

    private final Runnable mReverseBackground = new Runnable() {
        @Override
        public void run() {
            if (mAnimator != null) {
                mBackground.reverseTransition((int)(mAnimator.getDuration() * 0.35));
            }
        }
    };

    private final AnimatorListenerAdapter mVisibleOnStart = new AnimatorListenerAdapter() {
        @Override
        public void onAnimationStart(Animator animation) {
@@ -68,6 +79,7 @@ public class QSDetailClipper {
        }

        public void onAnimationEnd(Animator animation) {
            mDetail.setLayerType(View.LAYER_TYPE_NONE, null);
            mAnimator = null;
        }
    };
@@ -75,6 +87,7 @@ public class QSDetailClipper {
    private final AnimatorListenerAdapter mGoneOnEnd = new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            mDetail.setLayerType(View.LAYER_TYPE_NONE, null);
            mDetail.setVisibility(View.GONE);
            mBackground.resetTransition();
            mAnimator = null;