diff options
| -rw-r--r-- | graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java | 3 | ||||
| -rw-r--r-- | graphics/java/android/graphics/drawable/VectorDrawable.java | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java index ca214ab115ef..219bca82b702 100644 --- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java @@ -35,6 +35,7 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Insets; import android.graphics.Outline; +import android.graphics.PixelFormat; import android.graphics.PorterDuff; import android.graphics.Rect; import android.os.Build; @@ -307,7 +308,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable2 { @Override public int getOpacity() { - return mAnimatedVectorState.mVectorDrawable.getOpacity(); + return PixelFormat.TRANSLUCENT; } @Override diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java index 9e0f1b460839..44a91fefc4a0 100644 --- a/graphics/java/android/graphics/drawable/VectorDrawable.java +++ b/graphics/java/android/graphics/drawable/VectorDrawable.java @@ -364,7 +364,9 @@ public class VectorDrawable extends Drawable { @Override public int getOpacity() { - return PixelFormat.TRANSLUCENT; + // We can't tell whether the drawable is fully opaque unless we examine all the pixels, + // but we could tell it is transparent if the root alpha is 0. + return getAlpha() == 0 ? PixelFormat.TRANSPARENT : PixelFormat.TRANSLUCENT; } @Override |