CrackMe.apk
Download file
package androidx.vectordrawable.graphics.drawable;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ArgbEvaluator;
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.os.Build;
import android.util.AttributeSet;
import androidx.collection.ArrayMap;
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;
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<Animatable2Compat.AnimationCallback> mAnimationCallbacks;
private Animator.AnimatorListener mAnimatorListener;
private ArgbEvaluator mArgbEvaluator;
AnimatedVectorDrawableDelegateState mCachedConstantStateDelegate;
final Drawable.Callback mCallback;
private Context mContext;
public /* bridge */ /* synthetic */ void clearColorFilter() {
super.clearColorFilter();
}
public /* bridge */ /* synthetic */ Drawable getCurrent() {
return super.getCurrent();
}
public /* bridge */ /* synthetic */ int getMinimumHeight() {
return super.getMinimumHeight();
}
public /* bridge */ /* synthetic */ int getMinimumWidth() {
return super.getMinimumWidth();
}
public /* bridge */ /* synthetic */ boolean getPadding(Rect rect) {
return super.getPadding(rect);
}
public /* bridge */ /* synthetic */ int[] getState() {
return super.getState();
}
public /* bridge */ /* synthetic */ Region getTransparentRegion() {
return super.getTransparentRegion();
}
public /* bridge */ /* synthetic */ void jumpToCurrentState() {
super.jumpToCurrentState();
}
public /* bridge */ /* synthetic */ void setChangingConfigurations(int i) {
super.setChangingConfigurations(i);
}
public /* bridge */ /* synthetic */ void setColorFilter(int i, PorterDuff.Mode mode) {
super.setColorFilter(i, mode);
}
public /* bridge */ /* synthetic */ void setFilterBitmap(boolean z) {
super.setFilterBitmap(z);
}
public /* bridge */ /* synthetic */ void setHotspot(float f, float f2) {
super.setHotspot(f, f2);
}
public /* bridge */ /* synthetic */ void setHotspotBounds(int i, int i2, int i3, int i4) {
super.setHotspotBounds(i, i2, i3, i4);
}
public /* bridge */ /* synthetic */ boolean setState(int[] iArr) {
return super.setState(iArr);
}
AnimatedVectorDrawableCompat() {
this((Context) null, (AnimatedVectorDrawableCompatState) null, (Resources) null);
}
private AnimatedVectorDrawableCompat(Context context) {
this(context, (AnimatedVectorDrawableCompatState) null, (Resources) null);
}
private AnimatedVectorDrawableCompat(Context context, AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, Resources resources) {
this.mArgbEvaluator = null;
this.mAnimatorListener = null;
this.mAnimationCallbacks = null;
AnonymousClass1 r0 = new Drawable.Callback() {
public void invalidateDrawable(Drawable drawable) {
AnimatedVectorDrawableCompat.this.invalidateSelf();
}
public void scheduleDrawable(Drawable drawable, Runnable runnable, long j) {
AnimatedVectorDrawableCompat.this.scheduleSelf(runnable, j);
}
public void unscheduleDrawable(Drawable drawable, Runnable runnable) {
AnimatedVectorDrawableCompat.this.unscheduleSelf(runnable);
}
};
this.mCallback = r0;
this.mContext = context;
if (animatedVectorDrawableCompatState != null) {
this.mAnimatedVectorState = animatedVectorDrawableCompatState;
} else {
this.mAnimatedVectorState = new AnimatedVectorDrawableCompatState(context, animatedVectorDrawableCompatState, r0, resources);
}
}
public Drawable mutate() {
if (this.mDelegateDrawable != null) {
this.mDelegateDrawable.mutate();
}
return this;
}
/* JADX WARNING: Removed duplicated region for block: B:13:0x004b A[Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }] */
/* JADX WARNING: Removed duplicated region for block: B:15:0x0058 A[Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }] */
/* Code decompiled incorrectly, please refer to instructions dump. */
public static androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat create(android.content.Context r6, int r7) {
/*
java.lang.String r0 = "parser error"
java.lang.String r1 = "AnimatedVDCompat"
int r2 = android.os.Build.VERSION.SDK_INT
r3 = 24
if (r2 < r3) goto L_0x0032
androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat r0 = new androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat
r0.<init>(r6)
android.content.res.Resources r1 = r6.getResources()
android.content.res.Resources$Theme r6 = r6.getTheme()
android.graphics.drawable.Drawable r6 = androidx.core.content.res.ResourcesCompat.getDrawable(r1, r7, r6)
r0.mDelegateDrawable = r6
android.graphics.drawable.Drawable r6 = r0.mDelegateDrawable
android.graphics.drawable.Drawable$Callback r7 = r0.mCallback
r6.setCallback(r7)
androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState r6 = new androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState
android.graphics.drawable.Drawable r7 = r0.mDelegateDrawable
android.graphics.drawable.Drawable$ConstantState r7 = r7.getConstantState()
r6.<init>(r7)
r0.mCachedConstantStateDelegate = r6
return r0
L_0x0032:
android.content.res.Resources r2 = r6.getResources()
android.content.res.XmlResourceParser r7 = r2.getXml(r7) // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
android.util.AttributeSet r2 = android.util.Xml.asAttributeSet(r7) // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
L_0x003e:
int r3 = r7.next() // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
r4 = 2
if (r3 == r4) goto L_0x0049
r5 = 1
if (r3 == r5) goto L_0x0049
goto L_0x003e
L_0x0049:
if (r3 != r4) goto L_0x0058
android.content.res.Resources r3 = r6.getResources() // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
android.content.res.Resources$Theme r4 = r6.getTheme() // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat r6 = createFromXmlInner(r6, r3, r7, r2, r4) // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
return r6
L_0x0058:
org.xmlpull.v1.XmlPullParserException r6 = new org.xmlpull.v1.XmlPullParserException // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
java.lang.String r7 = "No start tag found"
r6.<init>(r7) // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
throw r6 // Catch:{ XmlPullParserException -> 0x0065, IOException -> 0x0060 }
L_0x0060:
r6 = move-exception
android.util.Log.e(r1, r0, r6)
goto L_0x0069
L_0x0065:
r6 = move-exception
android.util.Log.e(r1, r0, r6)
L_0x0069:
r6 = 0
return r6
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat.create(android.content.Context, int):androidx.vectordrawable.graphics.drawable.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;
}
public Drawable.ConstantState getConstantState() {
if (this.mDelegateDrawable == null || Build.VERSION.SDK_INT < 24) {
return null;
}
return new AnimatedVectorDrawableDelegateState(this.mDelegateDrawable.getConstantState());
}
public int getChangingConfigurations() {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.getChangingConfigurations();
}
return super.getChangingConfigurations() | this.mAnimatedVectorState.mChangingConfigurations;
}
public void draw(Canvas canvas) {
if (this.mDelegateDrawable != null) {
this.mDelegateDrawable.draw(canvas);
return;
}
this.mAnimatedVectorState.mVectorDrawable.draw(canvas);
if (this.mAnimatedVectorState.mAnimatorSet.isStarted()) {
invalidateSelf();
}
}
/* access modifiers changed from: protected */
public void onBoundsChange(Rect rect) {
if (this.mDelegateDrawable != null) {
this.mDelegateDrawable.setBounds(rect);
} else {
this.mAnimatedVectorState.mVectorDrawable.setBounds(rect);
}
}
/* access modifiers changed from: protected */
public boolean onStateChange(int[] iArr) {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.setState(iArr);
}
return this.mAnimatedVectorState.mVectorDrawable.setState(iArr);
}
/* access modifiers changed from: protected */
public boolean onLevelChange(int i) {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.setLevel(i);
}
return this.mAnimatedVectorState.mVectorDrawable.setLevel(i);
}
public int getAlpha() {
if (this.mDelegateDrawable != null) {
return DrawableCompat.getAlpha(this.mDelegateDrawable);
}
return this.mAnimatedVectorState.mVectorDrawable.getAlpha();
}
public void setAlpha(int i) {
if (this.mDelegateDrawable != null) {
this.mDelegateDrawable.setAlpha(i);
} else {
this.mAnimatedVectorState.mVectorDrawable.setAlpha(i);
}
}
public void setColorFilter(ColorFilter colorFilter) {
if (this.mDelegateDrawable != null) {
this.mDelegateDrawable.setColorFilter(colorFilter);
} else {
this.mAnimatedVectorState.mVectorDrawable.setColorFilter(colorFilter);
}
}
public ColorFilter getColorFilter() {
if (this.mDelegateDrawable != null) {
return DrawableCompat.getColorFilter(this.mDelegateDrawable);
}
return this.mAnimatedVectorState.mVectorDrawable.getColorFilter();
}
public void setTint(int i) {
if (this.mDelegateDrawable != null) {
DrawableCompat.setTint(this.mDelegateDrawable, i);
} else {
this.mAnimatedVectorState.mVectorDrawable.setTint(i);
}
}
public void setTintList(ColorStateList colorStateList) {
if (this.mDelegateDrawable != null) {
DrawableCompat.setTintList(this.mDelegateDrawable, colorStateList);
} else {
this.mAnimatedVectorState.mVectorDrawable.setTintList(colorStateList);
}
}
public void setTintMode(PorterDuff.Mode mode) {
if (this.mDelegateDrawable != null) {
DrawableCompat.setTintMode(this.mDelegateDrawable, mode);
} else {
this.mAnimatedVectorState.mVectorDrawable.setTintMode(mode);
}
}
public boolean setVisible(boolean z, boolean z2) {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.setVisible(z, z2);
}
this.mAnimatedVectorState.mVectorDrawable.setVisible(z, z2);
return super.setVisible(z, z2);
}
public boolean isStateful() {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.isStateful();
}
return this.mAnimatedVectorState.mVectorDrawable.isStateful();
}
public int getOpacity() {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.getOpacity();
}
return this.mAnimatedVectorState.mVectorDrawable.getOpacity();
}
public int getIntrinsicWidth() {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.getIntrinsicWidth();
}
return this.mAnimatedVectorState.mVectorDrawable.getIntrinsicWidth();
}
public int getIntrinsicHeight() {
if (this.mDelegateDrawable != null) {
return this.mDelegateDrawable.getIntrinsicHeight();
}
return this.mAnimatedVectorState.mVectorDrawable.getIntrinsicHeight();
}
public boolean isAutoMirrored() {
if (this.mDelegateDrawable != null) {
return DrawableCompat.isAutoMirrored(this.mDelegateDrawable);
}
return this.mAnimatedVectorState.mVectorDrawable.isAutoMirrored();
}
public void setAutoMirrored(boolean z) {
if (this.mDelegateDrawable != null) {
DrawableCompat.setAutoMirrored(this.mDelegateDrawable, z);
} else {
this.mAnimatedVectorState.mVectorDrawable.setAutoMirrored(z);
}
}
public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
if (this.mDelegateDrawable != null) {
DrawableCompat.inflate(this.mDelegateDrawable, 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);
if (this.mAnimatedVectorState.mVectorDrawable != null) {
this.mAnimatedVectorState.mVectorDrawable.setCallback((Drawable.Callback) 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();
}
public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet) throws XmlPullParserException, IOException {
inflate(resources, xmlPullParser, attributeSet, (Resources.Theme) null);
}
public void applyTheme(Resources.Theme theme) {
if (this.mDelegateDrawable != null) {
DrawableCompat.applyTheme(this.mDelegateDrawable, theme);
}
}
public boolean canApplyTheme() {
if (this.mDelegateDrawable != null) {
return DrawableCompat.canApplyTheme(this.mDelegateDrawable);
}
return false;
}
private static class AnimatedVectorDrawableDelegateState extends Drawable.ConstantState {
private final Drawable.ConstantState mDelegateState;
public AnimatedVectorDrawableDelegateState(Drawable.ConstantState constantState) {
this.mDelegateState = constantState;
}
public Drawable newDrawable() {
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
animatedVectorDrawableCompat.mDelegateDrawable = this.mDelegateState.newDrawable();
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
return animatedVectorDrawableCompat;
}
public Drawable newDrawable(Resources resources) {
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
animatedVectorDrawableCompat.mDelegateDrawable = this.mDelegateState.newDrawable(resources);
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
return animatedVectorDrawableCompat;
}
public Drawable newDrawable(Resources resources, Resources.Theme theme) {
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
animatedVectorDrawableCompat.mDelegateDrawable = this.mDelegateState.newDrawable(resources, theme);
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
return animatedVectorDrawableCompat;
}
public boolean canApplyTheme() {
return this.mDelegateState.canApplyTheme();
}
public int getChangingConfigurations() {
return this.mDelegateState.getChangingConfigurations();
}
}
private static class AnimatedVectorDrawableCompatState extends Drawable.ConstantState {
AnimatorSet mAnimatorSet;
ArrayList<Animator> mAnimators;
int mChangingConfigurations;
ArrayMap<Animator, String> mTargetNameMap;
VectorDrawableCompat mVectorDrawable;
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<Animator> 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();
}
}
}
public Drawable newDrawable() {
throw new IllegalStateException("No constant state support for SDK < 24.");
}
public Drawable newDrawable(Resources resources) {
throw new IllegalStateException("No constant state support for SDK < 24.");
}
public int getChangingConfigurations() {
return this.mChangingConfigurations;
}
public void setupAnimatorSet() {
if (this.mAnimatorSet == null) {
this.mAnimatorSet = new AnimatorSet();
}
this.mAnimatorSet.playTogether(this.mAnimators);
}
}
private void setupColorAnimator(Animator animator) {
ArrayList<Animator> 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 ArgbEvaluator();
}
objectAnimator.setEvaluator(this.mArgbEvaluator);
}
}
}
private void setupAnimatorsForTarget(String str, Animator animator) {
animator.setTarget(this.mAnimatedVectorState.mVectorDrawable.getTargetByName(str));
if (Build.VERSION.SDK_INT < 21) {
setupColorAnimator(animator);
}
if (this.mAnimatedVectorState.mAnimators == null) {
this.mAnimatedVectorState.mAnimators = new ArrayList<>();
this.mAnimatedVectorState.mTargetNameMap = new ArrayMap<>();
}
this.mAnimatedVectorState.mAnimators.add(animator);
this.mAnimatedVectorState.mTargetNameMap.put(animator, str);
}
public boolean isRunning() {
if (this.mDelegateDrawable != null) {
return ((AnimatedVectorDrawable) this.mDelegateDrawable).isRunning();
}
return this.mAnimatedVectorState.mAnimatorSet.isRunning();
}
public void start() {
if (this.mDelegateDrawable != null) {
((AnimatedVectorDrawable) this.mDelegateDrawable).start();
} else if (!this.mAnimatedVectorState.mAnimatorSet.isStarted()) {
this.mAnimatedVectorState.mAnimatorSet.start();
invalidateSelf();
}
}
public void stop() {
if (this.mDelegateDrawable != null) {
((AnimatedVectorDrawable) this.mDelegateDrawable).stop();
} else {
this.mAnimatedVectorState.mAnimatorSet.end();
}
}
private static boolean unregisterPlatformCallback(AnimatedVectorDrawable animatedVectorDrawable, Animatable2Compat.AnimationCallback animationCallback) {
return animatedVectorDrawable.unregisterAnimationCallback(animationCallback.getPlatformCallback());
}
public void registerAnimationCallback(Animatable2Compat.AnimationCallback animationCallback) {
if (this.mDelegateDrawable != null) {
registerPlatformCallback((AnimatedVectorDrawable) this.mDelegateDrawable, animationCallback);
} else if (animationCallback != null) {
if (this.mAnimationCallbacks == null) {
this.mAnimationCallbacks = new ArrayList<>();
}
if (!this.mAnimationCallbacks.contains(animationCallback)) {
this.mAnimationCallbacks.add(animationCallback);
if (this.mAnimatorListener == null) {
this.mAnimatorListener = new AnimatorListenerAdapter() {
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);
}
}
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);
}
}
}
private static void registerPlatformCallback(AnimatedVectorDrawable animatedVectorDrawable, Animatable2Compat.AnimationCallback animationCallback) {
animatedVectorDrawable.registerAnimationCallback(animationCallback.getPlatformCallback());
}
private void removeAnimatorSetListener() {
if (this.mAnimatorListener != null) {
this.mAnimatedVectorState.mAnimatorSet.removeListener(this.mAnimatorListener);
this.mAnimatorListener = null;
}
}
public boolean unregisterAnimationCallback(Animatable2Compat.AnimationCallback animationCallback) {
if (this.mDelegateDrawable != null) {
unregisterPlatformCallback((AnimatedVectorDrawable) this.mDelegateDrawable, animationCallback);
}
ArrayList<Animatable2Compat.AnimationCallback> arrayList = this.mAnimationCallbacks;
if (arrayList == null || animationCallback == null) {
return false;
}
boolean remove = arrayList.remove(animationCallback);
if (this.mAnimationCallbacks.size() == 0) {
removeAnimatorSetListener();
}
return remove;
}
public void clearAnimationCallbacks() {
if (this.mDelegateDrawable != null) {
((AnimatedVectorDrawable) this.mDelegateDrawable).clearAnimationCallbacks();
return;
}
removeAnimatorSetListener();
ArrayList<Animatable2Compat.AnimationCallback> arrayList = this.mAnimationCallbacks;
if (arrayList != null) {
arrayList.clear();
}
}
public static void registerAnimationCallback(Drawable drawable, Animatable2Compat.AnimationCallback animationCallback) {
if (drawable != null && animationCallback != null && (drawable instanceof Animatable)) {
if (Build.VERSION.SDK_INT >= 24) {
registerPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback);
} else {
((AnimatedVectorDrawableCompat) drawable).registerAnimationCallback(animationCallback);
}
}
}
public static boolean unregisterAnimationCallback(Drawable drawable, Animatable2Compat.AnimationCallback animationCallback) {
if (drawable == null || animationCallback == null || !(drawable instanceof Animatable)) {
return false;
}
if (Build.VERSION.SDK_INT >= 24) {
return unregisterPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback);
}
return ((AnimatedVectorDrawableCompat) drawable).unregisterAnimationCallback(animationCallback);
}
public static void clearAnimationCallbacks(Drawable drawable) {
if (drawable instanceof Animatable) {
if (Build.VERSION.SDK_INT >= 24) {
((AnimatedVectorDrawable) drawable).clearAnimationCallbacks();
} else {
((AnimatedVectorDrawableCompat) drawable).clearAnimationCallbacks();
}
}
}
}
Download file