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

Commit e30e8980 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Disable RT animations for header ripple" into mnc-dr-dev

parents 26b555d4 b7303a36
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -48,8 +48,8 @@ class RippleBackground extends RippleComponent {
    // Software rendering properties.
    private float mOpacity = 0;

    public RippleBackground(RippleDrawable owner, Rect bounds) {
        super(owner, bounds);
    public RippleBackground(RippleDrawable owner, Rect bounds, boolean forceSoftware) {
        super(owner, bounds, forceSoftware);
    }

    public boolean isVisible() {
+9 −2
Original line number Diff line number Diff line
@@ -52,9 +52,16 @@ abstract class RippleComponent {
    /** Screen density used to adjust pixel-based constants. */
    protected float mDensity;

    public RippleComponent(RippleDrawable owner, Rect bounds) {
    /**
     * If set, force all ripple animations to not run on RenderThread, even if it would be
     * available.
     */
    private final boolean mForceSoftware;

    public RippleComponent(RippleDrawable owner, Rect bounds, boolean forceSoftware) {
        mOwner = owner;
        mBounds = bounds;
        mForceSoftware = forceSoftware;
    }

    public void onBoundsChange() {
@@ -143,7 +150,7 @@ abstract class RippleComponent {
     * @return {@code true} if something was drawn, {@code false} otherwise
     */
    public boolean draw(Canvas c, Paint p) {
        final boolean hasDisplayListCanvas = c.isHardwareAccelerated()
        final boolean hasDisplayListCanvas = !mForceSoftware && c.isHardwareAccelerated()
                && c instanceof DisplayListCanvas;
        if (mHasDisplayListCanvas != hasDisplayListCanvas) {
            mHasDisplayListCanvas = hasDisplayListCanvas;
+18 −2
Original line number Diff line number Diff line
@@ -165,6 +165,12 @@ public class RippleDrawable extends LayerDrawable {
    /** Whether bounds are being overridden. */
    private boolean mOverrideBounds;

    /**
     * If set, force all ripple animations to not run on RenderThread, even if it would be
     * available.
     */
    private boolean mForceSoftware;

    /**
     * Constructor used for drawable inflation.
     */
@@ -546,7 +552,7 @@ public class RippleDrawable extends LayerDrawable {
     */
    private void tryBackgroundEnter(boolean focused) {
        if (mBackground == null) {
            mBackground = new RippleBackground(this, mHotspotBounds);
            mBackground = new RippleBackground(this, mHotspotBounds, mForceSoftware);
        }

        mBackground.setup(mState.mMaxRadius, mDensity);
@@ -584,7 +590,7 @@ public class RippleDrawable extends LayerDrawable {
            }

            final boolean isBounded = isBounded();
            mRipple = new RippleForeground(this, mHotspotBounds, x, y, isBounded);
            mRipple = new RippleForeground(this, mHotspotBounds, x, y, isBounded, mForceSoftware);
        }

        mRipple.setup(mState.mMaxRadius, mDensity);
@@ -949,6 +955,16 @@ public class RippleDrawable extends LayerDrawable {
        }
    }

    /**
     * Sets whether to disable RenderThread animations for this ripple.
     *
     * @param forceSoftware true if RenderThread animations should be disabled, false otherwise
     * @hide
     */
    public void setForceSoftware(boolean forceSoftware) {
        mForceSoftware = forceSoftware;
    }

    @Override
    public ConstantState getConstantState() {
        return mState;
+2 −2
Original line number Diff line number Diff line
@@ -87,8 +87,8 @@ class RippleForeground extends RippleComponent {
    private boolean mHasFinishedExit;

    public RippleForeground(RippleDrawable owner, Rect bounds, float startingX, float startingY,
            boolean isBounded) {
        super(owner, bounds);
            boolean isBounded, boolean forceSoftware) {
        super(owner, bounds, forceSoftware);

        mIsBounded = isBounded;
        mStartingX = startingX;
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.graphics.drawable.AnimatedVectorDrawable;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.RippleDrawable;
import android.service.notification.StatusBarNotification;
import android.util.AttributeSet;
import android.view.MotionEvent;
Loading