package androidx.vectordrawable.graphics.drawable; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.Region; import android.graphics.drawable.Animatable; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.collection.ArrayMap; import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.TypedArrayUtils; import androidx.core.graphics.drawable.DrawableCompat; import androidx.vectordrawable.graphics.drawable.Animatable2Compat; import java.io.IOException; import java.util.ArrayList; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; /* loaded from: classes.dex */ public class AnimatedVectorDrawableCompat extends VectorDrawableCommon implements Animatable2Compat { private static final String ANIMATED_VECTOR = "animated-vector"; private static final boolean DBG_ANIMATION_VECTOR_DRAWABLE = false; private static final String LOGTAG = "AnimatedVDCompat"; private static final String TARGET = "target"; private AnimatedVectorDrawableCompatState mAnimatedVectorState; ArrayList mAnimationCallbacks; private Animator.AnimatorListener mAnimatorListener; private android.animation.ArgbEvaluator mArgbEvaluator; AnimatedVectorDrawableDelegateState mCachedConstantStateDelegate; final Drawable.Callback mCallback; private Context mContext; @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void clearColorFilter() { super.clearColorFilter(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ Drawable getCurrent() { return super.getCurrent(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ int getMinimumHeight() { return super.getMinimumHeight(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ int getMinimumWidth() { return super.getMinimumWidth(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ boolean getPadding(Rect rect) { return super.getPadding(rect); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ int[] getState() { return super.getState(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ Region getTransparentRegion() { return super.getTransparentRegion(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void jumpToCurrentState() { super.jumpToCurrentState(); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void setChangingConfigurations(int i) { super.setChangingConfigurations(i); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void setColorFilter(int i, PorterDuff.Mode mode) { super.setColorFilter(i, mode); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void setFilterBitmap(boolean z) { super.setFilterBitmap(z); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void setHotspot(float f, float f2) { super.setHotspot(f, f2); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ void setHotspotBounds(int i, int i2, int i3, int i4) { super.setHotspotBounds(i, i2, i3, i4); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public /* bridge */ /* synthetic */ boolean setState(int[] iArr) { return super.setState(iArr); } public AnimatedVectorDrawableCompat() { this(null, null, null); } private AnimatedVectorDrawableCompat(@Nullable Context context) { this(context, null, null); } private AnimatedVectorDrawableCompat(@Nullable Context context, @Nullable AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, @Nullable Resources resources) { this.mArgbEvaluator = null; this.mAnimatorListener = null; this.mAnimationCallbacks = null; Drawable.Callback callback = new Drawable.Callback() { // from class: androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat.1 @Override // android.graphics.drawable.Drawable.Callback public void invalidateDrawable(Drawable drawable) { AnimatedVectorDrawableCompat.this.invalidateSelf(); } @Override // android.graphics.drawable.Drawable.Callback public void scheduleDrawable(Drawable drawable, Runnable runnable, long j) { AnimatedVectorDrawableCompat.this.scheduleSelf(runnable, j); } @Override // android.graphics.drawable.Drawable.Callback public void unscheduleDrawable(Drawable drawable, Runnable runnable) { AnimatedVectorDrawableCompat.this.unscheduleSelf(runnable); } }; this.mCallback = callback; this.mContext = context; if (animatedVectorDrawableCompatState != null) { this.mAnimatedVectorState = animatedVectorDrawableCompatState; } else { this.mAnimatedVectorState = new AnimatedVectorDrawableCompatState(context, animatedVectorDrawableCompatState, callback, resources); } } @Override // android.graphics.drawable.Drawable public Drawable mutate() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { drawable.mutate(); } return this; } @Nullable public static AnimatedVectorDrawableCompat create(@NonNull Context context, @DrawableRes int i) { AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(context); Drawable drawable = ResourcesCompat.getDrawable(context.getResources(), i, context.getTheme()); animatedVectorDrawableCompat.mDelegateDrawable = drawable; drawable.setCallback(animatedVectorDrawableCompat.mCallback); animatedVectorDrawableCompat.mCachedConstantStateDelegate = new AnimatedVectorDrawableDelegateState(animatedVectorDrawableCompat.mDelegateDrawable.getConstantState()); return animatedVectorDrawableCompat; } public static AnimatedVectorDrawableCompat createFromXmlInner(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException { AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(context); animatedVectorDrawableCompat.inflate(resources, xmlPullParser, attributeSet, theme); return animatedVectorDrawableCompat; } @Override // android.graphics.drawable.Drawable public Drawable.ConstantState getConstantState() { if (this.mDelegateDrawable != null) { return new AnimatedVectorDrawableDelegateState(this.mDelegateDrawable.getConstantState()); } return null; } @Override // android.graphics.drawable.Drawable public int getChangingConfigurations() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.getChangingConfigurations(); } return super.getChangingConfigurations() | this.mAnimatedVectorState.mChangingConfigurations; } @Override // android.graphics.drawable.Drawable public void draw(Canvas canvas) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { drawable.draw(canvas); return; } this.mAnimatedVectorState.mVectorDrawable.draw(canvas); if (this.mAnimatedVectorState.mAnimatorSet.isStarted()) { invalidateSelf(); } } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public void onBoundsChange(Rect rect) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { drawable.setBounds(rect); } else { this.mAnimatedVectorState.mVectorDrawable.setBounds(rect); } } @Override // android.graphics.drawable.Drawable public boolean onStateChange(int[] iArr) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.setState(iArr); } return this.mAnimatedVectorState.mVectorDrawable.setState(iArr); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public boolean onLevelChange(int i) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.setLevel(i); } return this.mAnimatedVectorState.mVectorDrawable.setLevel(i); } @Override // android.graphics.drawable.Drawable public int getAlpha() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return DrawableCompat.getAlpha(drawable); } return this.mAnimatedVectorState.mVectorDrawable.getAlpha(); } @Override // android.graphics.drawable.Drawable public void setAlpha(int i) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { drawable.setAlpha(i); } else { this.mAnimatedVectorState.mVectorDrawable.setAlpha(i); } } @Override // android.graphics.drawable.Drawable public void setColorFilter(ColorFilter colorFilter) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { drawable.setColorFilter(colorFilter); } else { this.mAnimatedVectorState.mVectorDrawable.setColorFilter(colorFilter); } } @Override // android.graphics.drawable.Drawable public ColorFilter getColorFilter() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return DrawableCompat.getColorFilter(drawable); } return this.mAnimatedVectorState.mVectorDrawable.getColorFilter(); } @Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable public void setTint(int i) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { DrawableCompat.setTint(drawable, i); } else { this.mAnimatedVectorState.mVectorDrawable.setTint(i); } } @Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable public void setTintList(ColorStateList colorStateList) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { DrawableCompat.setTintList(drawable, colorStateList); } else { this.mAnimatedVectorState.mVectorDrawable.setTintList(colorStateList); } } @Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable public void setTintMode(PorterDuff.Mode mode) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { DrawableCompat.setTintMode(drawable, mode); } else { this.mAnimatedVectorState.mVectorDrawable.setTintMode(mode); } } @Override // android.graphics.drawable.Drawable public boolean setVisible(boolean z, boolean z2) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.setVisible(z, z2); } this.mAnimatedVectorState.mVectorDrawable.setVisible(z, z2); return super.setVisible(z, z2); } @Override // android.graphics.drawable.Drawable public boolean isStateful() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.isStateful(); } return this.mAnimatedVectorState.mVectorDrawable.isStateful(); } @Override // android.graphics.drawable.Drawable public int getOpacity() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.getOpacity(); } return this.mAnimatedVectorState.mVectorDrawable.getOpacity(); } @Override // android.graphics.drawable.Drawable public int getIntrinsicWidth() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.getIntrinsicWidth(); } return this.mAnimatedVectorState.mVectorDrawable.getIntrinsicWidth(); } @Override // android.graphics.drawable.Drawable public int getIntrinsicHeight() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return drawable.getIntrinsicHeight(); } return this.mAnimatedVectorState.mVectorDrawable.getIntrinsicHeight(); } @Override // android.graphics.drawable.Drawable public boolean isAutoMirrored() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return DrawableCompat.isAutoMirrored(drawable); } return this.mAnimatedVectorState.mVectorDrawable.isAutoMirrored(); } @Override // android.graphics.drawable.Drawable public void setAutoMirrored(boolean z) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { DrawableCompat.setAutoMirrored(drawable, z); } else { this.mAnimatedVectorState.mVectorDrawable.setAutoMirrored(z); } } @Override // android.graphics.drawable.Drawable public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { DrawableCompat.inflate(drawable, resources, xmlPullParser, attributeSet, theme); return; } int eventType = xmlPullParser.getEventType(); int depth = xmlPullParser.getDepth() + 1; while (eventType != 1 && (xmlPullParser.getDepth() >= depth || eventType != 3)) { if (eventType == 2) { String name = xmlPullParser.getName(); if (ANIMATED_VECTOR.equals(name)) { TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_ANIMATED_VECTOR_DRAWABLE); int resourceId = obtainAttributes.getResourceId(0, 0); if (resourceId != 0) { VectorDrawableCompat create = VectorDrawableCompat.create(resources, resourceId, theme); create.setAllowCaching(false); create.setCallback(this.mCallback); VectorDrawableCompat vectorDrawableCompat = this.mAnimatedVectorState.mVectorDrawable; if (vectorDrawableCompat != null) { vectorDrawableCompat.setCallback(null); } this.mAnimatedVectorState.mVectorDrawable = create; } obtainAttributes.recycle(); } else if (TARGET.equals(name)) { TypedArray obtainAttributes2 = resources.obtainAttributes(attributeSet, AndroidResources.STYLEABLE_ANIMATED_VECTOR_DRAWABLE_TARGET); String string = obtainAttributes2.getString(0); int resourceId2 = obtainAttributes2.getResourceId(1, 0); if (resourceId2 != 0) { Context context = this.mContext; if (context != null) { setupAnimatorsForTarget(string, AnimatorInflaterCompat.loadAnimator(context, resourceId2)); } else { obtainAttributes2.recycle(); throw new IllegalStateException("Context can't be null when inflating animators"); } } obtainAttributes2.recycle(); } else { continue; } } eventType = xmlPullParser.next(); } this.mAnimatedVectorState.setupAnimatorSet(); } @Override // android.graphics.drawable.Drawable public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet) throws XmlPullParserException, IOException { inflate(resources, xmlPullParser, attributeSet, null); } @Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable public void applyTheme(Resources.Theme theme) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { DrawableCompat.applyTheme(drawable, theme); } } @Override // android.graphics.drawable.Drawable public boolean canApplyTheme() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return DrawableCompat.canApplyTheme(drawable); } return false; } @RequiresApi(24) public static class AnimatedVectorDrawableDelegateState extends Drawable.ConstantState { private final Drawable.ConstantState mDelegateState; public AnimatedVectorDrawableDelegateState(Drawable.ConstantState constantState) { this.mDelegateState = constantState; } @Override // android.graphics.drawable.Drawable.ConstantState public Drawable newDrawable() { AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(); Drawable newDrawable = this.mDelegateState.newDrawable(); animatedVectorDrawableCompat.mDelegateDrawable = newDrawable; newDrawable.setCallback(animatedVectorDrawableCompat.mCallback); return animatedVectorDrawableCompat; } @Override // android.graphics.drawable.Drawable.ConstantState public Drawable newDrawable(Resources resources) { AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(); Drawable newDrawable = this.mDelegateState.newDrawable(resources); animatedVectorDrawableCompat.mDelegateDrawable = newDrawable; newDrawable.setCallback(animatedVectorDrawableCompat.mCallback); return animatedVectorDrawableCompat; } @Override // android.graphics.drawable.Drawable.ConstantState public Drawable newDrawable(Resources resources, Resources.Theme theme) { AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(); Drawable newDrawable = this.mDelegateState.newDrawable(resources, theme); animatedVectorDrawableCompat.mDelegateDrawable = newDrawable; newDrawable.setCallback(animatedVectorDrawableCompat.mCallback); return animatedVectorDrawableCompat; } @Override // android.graphics.drawable.Drawable.ConstantState public boolean canApplyTheme() { return this.mDelegateState.canApplyTheme(); } @Override // android.graphics.drawable.Drawable.ConstantState public int getChangingConfigurations() { return this.mDelegateState.getChangingConfigurations(); } } public static class AnimatedVectorDrawableCompatState extends Drawable.ConstantState { AnimatorSet mAnimatorSet; ArrayList mAnimators; int mChangingConfigurations; ArrayMap mTargetNameMap; VectorDrawableCompat mVectorDrawable; @Override // android.graphics.drawable.Drawable.ConstantState public int getChangingConfigurations() { return this.mChangingConfigurations; } public AnimatedVectorDrawableCompatState(Context context, AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, Drawable.Callback callback, Resources resources) { if (animatedVectorDrawableCompatState != null) { this.mChangingConfigurations = animatedVectorDrawableCompatState.mChangingConfigurations; VectorDrawableCompat vectorDrawableCompat = animatedVectorDrawableCompatState.mVectorDrawable; if (vectorDrawableCompat != null) { Drawable.ConstantState constantState = vectorDrawableCompat.getConstantState(); if (resources != null) { this.mVectorDrawable = (VectorDrawableCompat) constantState.newDrawable(resources); } else { this.mVectorDrawable = (VectorDrawableCompat) constantState.newDrawable(); } VectorDrawableCompat vectorDrawableCompat2 = (VectorDrawableCompat) this.mVectorDrawable.mutate(); this.mVectorDrawable = vectorDrawableCompat2; vectorDrawableCompat2.setCallback(callback); this.mVectorDrawable.setBounds(animatedVectorDrawableCompatState.mVectorDrawable.getBounds()); this.mVectorDrawable.setAllowCaching(false); } ArrayList arrayList = animatedVectorDrawableCompatState.mAnimators; if (arrayList != null) { int size = arrayList.size(); this.mAnimators = new ArrayList<>(size); this.mTargetNameMap = new ArrayMap<>(size); for (int i = 0; i < size; i++) { Animator animator = animatedVectorDrawableCompatState.mAnimators.get(i); Animator clone = animator.clone(); String str = animatedVectorDrawableCompatState.mTargetNameMap.get(animator); clone.setTarget(this.mVectorDrawable.getTargetByName(str)); this.mAnimators.add(clone); this.mTargetNameMap.put(clone, str); } setupAnimatorSet(); } } } @Override // android.graphics.drawable.Drawable.ConstantState public Drawable newDrawable() { throw new IllegalStateException("No constant state support for SDK < 24."); } @Override // android.graphics.drawable.Drawable.ConstantState public Drawable newDrawable(Resources resources) { throw new IllegalStateException("No constant state support for SDK < 24."); } public void setupAnimatorSet() { if (this.mAnimatorSet == null) { this.mAnimatorSet = new AnimatorSet(); } this.mAnimatorSet.playTogether(this.mAnimators); } } private void setupColorAnimator(Animator animator) { ArrayList childAnimations; if ((animator instanceof AnimatorSet) && (childAnimations = ((AnimatorSet) animator).getChildAnimations()) != null) { for (int i = 0; i < childAnimations.size(); i++) { setupColorAnimator(childAnimations.get(i)); } } if (animator instanceof ObjectAnimator) { ObjectAnimator objectAnimator = (ObjectAnimator) animator; String propertyName = objectAnimator.getPropertyName(); if ("fillColor".equals(propertyName) || "strokeColor".equals(propertyName)) { if (this.mArgbEvaluator == null) { this.mArgbEvaluator = new android.animation.ArgbEvaluator(); } objectAnimator.setEvaluator(this.mArgbEvaluator); } } } private void setupAnimatorsForTarget(String str, Animator animator) { animator.setTarget(this.mAnimatedVectorState.mVectorDrawable.getTargetByName(str)); AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState = this.mAnimatedVectorState; if (animatedVectorDrawableCompatState.mAnimators == null) { animatedVectorDrawableCompatState.mAnimators = new ArrayList<>(); this.mAnimatedVectorState.mTargetNameMap = new ArrayMap<>(); } this.mAnimatedVectorState.mAnimators.add(animator); this.mAnimatedVectorState.mTargetNameMap.put(animator, str); } @Override // android.graphics.drawable.Animatable public boolean isRunning() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { return ((AnimatedVectorDrawable) drawable).isRunning(); } return this.mAnimatedVectorState.mAnimatorSet.isRunning(); } @Override // android.graphics.drawable.Animatable public void start() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { ((AnimatedVectorDrawable) drawable).start(); } else { if (this.mAnimatedVectorState.mAnimatorSet.isStarted()) { return; } this.mAnimatedVectorState.mAnimatorSet.start(); invalidateSelf(); } } @Override // android.graphics.drawable.Animatable public void stop() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { ((AnimatedVectorDrawable) drawable).stop(); } else { this.mAnimatedVectorState.mAnimatorSet.end(); } } @RequiresApi(23) private static boolean unregisterPlatformCallback(AnimatedVectorDrawable animatedVectorDrawable, Animatable2Compat.AnimationCallback animationCallback) { return animatedVectorDrawable.unregisterAnimationCallback(animationCallback.getPlatformCallback()); } @Override // androidx.vectordrawable.graphics.drawable.Animatable2Compat public void registerAnimationCallback(@NonNull Animatable2Compat.AnimationCallback animationCallback) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { registerPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback); return; } if (animationCallback == null) { return; } if (this.mAnimationCallbacks == null) { this.mAnimationCallbacks = new ArrayList<>(); } if (this.mAnimationCallbacks.contains(animationCallback)) { return; } this.mAnimationCallbacks.add(animationCallback); if (this.mAnimatorListener == null) { this.mAnimatorListener = new AnimatorListenerAdapter() { // from class: androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat.2 @Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener public void onAnimationStart(Animator animator) { ArrayList arrayList = new ArrayList(AnimatedVectorDrawableCompat.this.mAnimationCallbacks); int size = arrayList.size(); for (int i = 0; i < size; i++) { ((Animatable2Compat.AnimationCallback) arrayList.get(i)).onAnimationStart(AnimatedVectorDrawableCompat.this); } } @Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener public void onAnimationEnd(Animator animator) { ArrayList arrayList = new ArrayList(AnimatedVectorDrawableCompat.this.mAnimationCallbacks); int size = arrayList.size(); for (int i = 0; i < size; i++) { ((Animatable2Compat.AnimationCallback) arrayList.get(i)).onAnimationEnd(AnimatedVectorDrawableCompat.this); } } }; } this.mAnimatedVectorState.mAnimatorSet.addListener(this.mAnimatorListener); } @RequiresApi(23) private static void registerPlatformCallback(@NonNull AnimatedVectorDrawable animatedVectorDrawable, @NonNull Animatable2Compat.AnimationCallback animationCallback) { animatedVectorDrawable.registerAnimationCallback(animationCallback.getPlatformCallback()); } private void removeAnimatorSetListener() { Animator.AnimatorListener animatorListener = this.mAnimatorListener; if (animatorListener != null) { this.mAnimatedVectorState.mAnimatorSet.removeListener(animatorListener); this.mAnimatorListener = null; } } @Override // androidx.vectordrawable.graphics.drawable.Animatable2Compat public boolean unregisterAnimationCallback(@NonNull Animatable2Compat.AnimationCallback animationCallback) { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { unregisterPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback); } ArrayList arrayList = this.mAnimationCallbacks; if (arrayList == null || animationCallback == null) { return false; } boolean remove = arrayList.remove(animationCallback); if (this.mAnimationCallbacks.size() == 0) { removeAnimatorSetListener(); } return remove; } @Override // androidx.vectordrawable.graphics.drawable.Animatable2Compat public void clearAnimationCallbacks() { Drawable drawable = this.mDelegateDrawable; if (drawable != null) { ((AnimatedVectorDrawable) drawable).clearAnimationCallbacks(); return; } removeAnimatorSetListener(); ArrayList arrayList = this.mAnimationCallbacks; if (arrayList == null) { return; } arrayList.clear(); } public static void registerAnimationCallback(Drawable drawable, Animatable2Compat.AnimationCallback animationCallback) { if (drawable == null || animationCallback == null || !(drawable instanceof Animatable)) { return; } registerPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback); } public static boolean unregisterAnimationCallback(Drawable drawable, Animatable2Compat.AnimationCallback animationCallback) { if (drawable == null || animationCallback == null || !(drawable instanceof Animatable)) { return false; } return unregisterPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback); } public static void clearAnimationCallbacks(Drawable drawable) { if (drawable instanceof Animatable) { ((AnimatedVectorDrawable) drawable).clearAnimationCallbacks(); } } }