From 98916d146afe2ff25a439603f7d9559e74a790ca Mon Sep 17 00:00:00 2001 From: ztenghui Date: Tue, 23 Sep 2014 11:12:43 -0700 Subject: [PATCH] Fix AVD for CTS failure. Mostly about changingConfig flags, the fix is just a copy from VectorDrawable. b/17631551 Change-Id: Ibad9c2f61cd86b15e9bca1d1991c8cd147897bb0 --- .../graphics/drawable/AnimatedVectorDrawable.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java index 49e8b9da5f89e..df1b126a79eed 100644 --- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java @@ -137,8 +137,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { private boolean mMutated; public AnimatedVectorDrawable() { - mAnimatedVectorState = new AnimatedVectorDrawableState( - new AnimatedVectorDrawableState(null)); + mAnimatedVectorState = new AnimatedVectorDrawableState(null); } private AnimatedVectorDrawable(AnimatedVectorDrawableState state, Resources res, @@ -160,9 +159,15 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { @Override public ConstantState getConstantState() { + mAnimatedVectorState.mChangingConfigurations = getChangingConfigurations(); return mAnimatedVectorState; } + @Override + public int getChangingConfigurations() { + return super.getChangingConfigurations() | mAnimatedVectorState.mChangingConfigurations; + } + @Override public void draw(Canvas canvas) { mAnimatedVectorState.mVectorDrawable.draw(canvas); @@ -347,6 +352,8 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { mTargetNameMap.put(animClone, targetName); } } + } else { + mVectorDrawable = new VectorDrawable(); } }