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

Commit b40378b0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Null-check the desaturating view, it might be gone." into rvc-dev am: b19c92dc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11708789

Change-Id: Id9462a150298952846661eafef02123d4a6ded80
parents 17a61ccf b19c92dc
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -270,7 +270,7 @@ public class BubbleStackView extends FrameLayout
    private boolean mShowingDismiss = false;

    /** The view to desaturate/darken when magneted to the dismiss target. */
    private View mDesaturateAndDarkenTargetView;
    @Nullable private View mDesaturateAndDarkenTargetView;

    private LayoutInflater mInflater;

@@ -908,7 +908,10 @@ public class BubbleStackView extends FrameLayout

            // Update the paint and apply it to the bubble container.
            mDesaturateAndDarkenPaint.setColorFilter(new ColorMatrixColorFilter(animatedMatrix));

            if (mDesaturateAndDarkenTargetView != null) {
                mDesaturateAndDarkenTargetView.setLayerPaint(mDesaturateAndDarkenPaint);
            }
        });

        // If the stack itself is touched, it means none of its touchable views (bubbles, flyouts,
@@ -1894,6 +1897,10 @@ public class BubbleStackView extends FrameLayout
    private void animateDesaturateAndDarken(View targetView, boolean desaturateAndDarken) {
        mDesaturateAndDarkenTargetView = targetView;

        if (mDesaturateAndDarkenTargetView == null) {
            return;
        }

        if (desaturateAndDarken) {
            // Use the animated paint for the bubbles.
            mDesaturateAndDarkenTargetView.setLayerType(
@@ -1915,9 +1922,14 @@ public class BubbleStackView extends FrameLayout
    }

    private void resetDesaturationAndDarken() {

        mDesaturateAndDarkenAnimator.removeAllListeners();
        mDesaturateAndDarkenAnimator.cancel();

        if (mDesaturateAndDarkenTargetView != null) {
            mDesaturateAndDarkenTargetView.setLayerType(View.LAYER_TYPE_NONE, null);
            mDesaturateAndDarkenTargetView = null;
        }
    }

    /** Animates in the dismiss target. */