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

Commit 98bf27bf authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Add transfer mode support to ShapeDrawable

Test: runtest --path cts/tests/tests/graphics/src/android/graphics/drawable/cts/ShapeDrawableTest.java
Change-Id: I754cf20fda3fe5c28ba70aab089f9bebd27ca2bf
parent 2b33162e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -46008,6 +46008,7 @@ package android.view {
    method public int getScaledDoubleTapSlop();
    method public int getScaledEdgeSlop();
    method public int getScaledFadingEdgeLength();
    method public float getScaledHorizontalScrollFactor();
    method public int getScaledMaximumDrawingCacheSize();
    method public int getScaledMaximumFlingVelocity();
    method public int getScaledMinimumFlingVelocity();
@@ -46017,6 +46018,7 @@ package android.view {
    method public int getScaledScrollBarSize();
    method public int getScaledScrollFactor();
    method public int getScaledTouchSlop();
    method public float getScaledVerticalScrollFactor();
    method public int getScaledWindowTouchSlop();
    method public static int getScrollBarFadeDuration();
    method public static deprecated int getScrollBarSize();
+2 −0
Original line number Diff line number Diff line
@@ -49464,6 +49464,7 @@ package android.view {
    method public int getScaledDoubleTapSlop();
    method public int getScaledEdgeSlop();
    method public int getScaledFadingEdgeLength();
    method public float getScaledHorizontalScrollFactor();
    method public int getScaledMaximumDrawingCacheSize();
    method public int getScaledMaximumFlingVelocity();
    method public int getScaledMinimumFlingVelocity();
@@ -49473,6 +49474,7 @@ package android.view {
    method public int getScaledScrollBarSize();
    method public int getScaledScrollFactor();
    method public int getScaledTouchSlop();
    method public float getScaledVerticalScrollFactor();
    method public int getScaledWindowTouchSlop();
    method public static int getScrollBarFadeDuration();
    method public static deprecated int getScrollBarSize();
+3 −0
Original line number Diff line number Diff line
@@ -14347,6 +14347,7 @@ package android.graphics.drawable {
    method public void setPadding(android.graphics.Rect);
    method public void setShaderFactory(android.graphics.drawable.ShapeDrawable.ShaderFactory);
    method public void setShape(android.graphics.drawable.shapes.Shape);
    method public void setXfermode(android.graphics.Xfermode);
  }
  public static abstract class ShapeDrawable.ShaderFactory {
@@ -46389,6 +46390,7 @@ package android.view {
    method public int getScaledDoubleTapSlop();
    method public int getScaledEdgeSlop();
    method public int getScaledFadingEdgeLength();
    method public float getScaledHorizontalScrollFactor();
    method public int getScaledMaximumDrawingCacheSize();
    method public int getScaledMaximumFlingVelocity();
    method public int getScaledMinimumFlingVelocity();
@@ -46398,6 +46400,7 @@ package android.view {
    method public int getScaledScrollBarSize();
    method public int getScaledScrollFactor();
    method public int getScaledTouchSlop();
    method public float getScaledVerticalScrollFactor();
    method public int getScaledWindowTouchSlop();
    method public static int getScrollBarFadeDuration();
    method public static deprecated int getScrollBarSize();
+13 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package android.graphics.drawable;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.content.pm.ActivityInfo.Config;
import android.content.res.ColorStateList;
import android.content.res.Resources;
@@ -32,6 +34,7 @@ import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect;
import android.graphics.Shader;
import android.graphics.Xfermode;
import android.graphics.drawable.shapes.Shape;
import android.util.AttributeSet;

@@ -306,6 +309,16 @@ public class ShapeDrawable extends Drawable {
        invalidateSelf();
    }

    /**
     * @hide
     */
    @Override
    @TestApi
    public void setXfermode(@Nullable Xfermode mode) {
        mShapeState.mPaint.setXfermode(mode);
        invalidateSelf();
    }

    @Override
    public int getOpacity() {
        if (mShapeState.mShape == null) {