Merge "Better error message for AVD" into oc-dev
This commit is contained in:
@@ -834,6 +834,16 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable2 {
|
|||||||
final Animator localAnimator = animator.clone();
|
final Animator localAnimator = animator.clone();
|
||||||
final String targetName = mTargetNameMap.get(animator);
|
final String targetName = mTargetNameMap.get(animator);
|
||||||
final Object target = mVectorDrawable.getTargetByName(targetName);
|
final Object target = mVectorDrawable.getTargetByName(targetName);
|
||||||
|
if (!mShouldIgnoreInvalidAnim) {
|
||||||
|
if (target == null) {
|
||||||
|
throw new IllegalStateException("Target with the name \"" + targetName
|
||||||
|
+ "\" cannot be found in the VectorDrawable to be animated.");
|
||||||
|
} else if (!(target instanceof VectorDrawable.VectorDrawableState)
|
||||||
|
&& !(target instanceof VectorDrawable.VObject)) {
|
||||||
|
throw new UnsupportedOperationException("Target should be either VGroup, VPath,"
|
||||||
|
+ " or ConstantState, " + target.getClass() + " is not supported");
|
||||||
|
}
|
||||||
|
}
|
||||||
localAnimator.setTarget(target);
|
localAnimator.setTarget(target);
|
||||||
return localAnimator;
|
return localAnimator;
|
||||||
}
|
}
|
||||||
@@ -1321,16 +1331,10 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable2 {
|
|||||||
throw new IllegalArgumentException("ClipPath only supports PathData " +
|
throw new IllegalArgumentException("ClipPath only supports PathData " +
|
||||||
"property");
|
"property");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else if (target instanceof VectorDrawable.VectorDrawableState) {
|
} else if (target instanceof VectorDrawable.VectorDrawableState) {
|
||||||
createRTAnimatorForRootGroup(values, animator,
|
createRTAnimatorForRootGroup(values, animator,
|
||||||
(VectorDrawable.VectorDrawableState) target, startTime);
|
(VectorDrawable.VectorDrawableState) target, startTime);
|
||||||
} else if (!mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
|
|
||||||
// Should never get here
|
|
||||||
throw new UnsupportedOperationException("Target should be either VGroup, VPath, " +
|
|
||||||
"or ConstantState, " + target == null ? "Null target" : target.getClass() +
|
|
||||||
" is not supported");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user