jimu-decompiled/sources/androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat.java
2025-05-13 19:24:51 +02:00

479 lines
19 KiB
Java

package androidx.vectordrawable.graphics.drawable;
import android.animation.Animator;
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.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 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 AnimatedVectorDrawableCompatState b;
private Context c;
private android.animation.ArgbEvaluator d;
final Drawable.Callback e;
private static class AnimatedVectorDrawableCompatState extends Drawable.ConstantState {
int a;
VectorDrawableCompat b;
AnimatorSet c;
ArrayList<Animator> d;
ArrayMap<Animator, String> e;
public AnimatedVectorDrawableCompatState(Context context, AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, Drawable.Callback callback, Resources resources) {
if (animatedVectorDrawableCompatState != null) {
this.a = animatedVectorDrawableCompatState.a;
VectorDrawableCompat vectorDrawableCompat = animatedVectorDrawableCompatState.b;
if (vectorDrawableCompat != null) {
Drawable.ConstantState constantState = vectorDrawableCompat.getConstantState();
if (resources != null) {
this.b = (VectorDrawableCompat) constantState.newDrawable(resources);
} else {
this.b = (VectorDrawableCompat) constantState.newDrawable();
}
VectorDrawableCompat vectorDrawableCompat2 = this.b;
vectorDrawableCompat2.mutate();
this.b = vectorDrawableCompat2;
this.b.setCallback(callback);
this.b.setBounds(animatedVectorDrawableCompatState.b.getBounds());
this.b.a(false);
}
ArrayList<Animator> arrayList = animatedVectorDrawableCompatState.d;
if (arrayList != null) {
int size = arrayList.size();
this.d = new ArrayList<>(size);
this.e = new ArrayMap<>(size);
for (int i = 0; i < size; i++) {
Animator animator = animatedVectorDrawableCompatState.d.get(i);
Animator clone = animator.clone();
String str = animatedVectorDrawableCompatState.e.get(animator);
clone.setTarget(this.b.a(str));
this.d.add(clone);
this.e.put(clone, str);
}
a();
}
}
}
public void a() {
if (this.c == null) {
this.c = new AnimatorSet();
}
this.c.playTogether(this.d);
}
@Override // android.graphics.drawable.Drawable.ConstantState
public int getChangingConfigurations() {
return this.a;
}
@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.");
}
}
AnimatedVectorDrawableCompat() {
this(null, null, null);
}
public static AnimatedVectorDrawableCompat a(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 // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
public void applyTheme(Resources.Theme theme) {
Drawable drawable = this.a;
if (drawable != null) {
DrawableCompat.a(drawable, theme);
}
}
@Override // android.graphics.drawable.Drawable
public boolean canApplyTheme() {
Drawable drawable = this.a;
if (drawable != null) {
return DrawableCompat.a(drawable);
}
return false;
}
@Override // android.graphics.drawable.Drawable
public void draw(Canvas canvas) {
Drawable drawable = this.a;
if (drawable != null) {
drawable.draw(canvas);
return;
}
this.b.b.draw(canvas);
if (this.b.c.isStarted()) {
invalidateSelf();
}
}
@Override // android.graphics.drawable.Drawable
public int getAlpha() {
Drawable drawable = this.a;
return drawable != null ? DrawableCompat.c(drawable) : this.b.b.getAlpha();
}
@Override // android.graphics.drawable.Drawable
public int getChangingConfigurations() {
Drawable drawable = this.a;
return drawable != null ? drawable.getChangingConfigurations() : super.getChangingConfigurations() | this.b.a;
}
@Override // android.graphics.drawable.Drawable
public Drawable.ConstantState getConstantState() {
Drawable drawable = this.a;
if (drawable == null || Build.VERSION.SDK_INT < 24) {
return null;
}
return new AnimatedVectorDrawableDelegateState(drawable.getConstantState());
}
@Override // android.graphics.drawable.Drawable
public int getIntrinsicHeight() {
Drawable drawable = this.a;
return drawable != null ? drawable.getIntrinsicHeight() : this.b.b.getIntrinsicHeight();
}
@Override // android.graphics.drawable.Drawable
public int getIntrinsicWidth() {
Drawable drawable = this.a;
return drawable != null ? drawable.getIntrinsicWidth() : this.b.b.getIntrinsicWidth();
}
@Override // android.graphics.drawable.Drawable
public int getOpacity() {
Drawable drawable = this.a;
return drawable != null ? drawable.getOpacity() : this.b.b.getOpacity();
}
@Override // android.graphics.drawable.Drawable
public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
Drawable drawable = this.a;
if (drawable != null) {
DrawableCompat.a(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 a = TypedArrayUtils.a(resources, theme, attributeSet, AndroidResources.e);
int resourceId = a.getResourceId(0, 0);
if (resourceId != 0) {
VectorDrawableCompat a2 = VectorDrawableCompat.a(resources, resourceId, theme);
a2.a(false);
a2.setCallback(this.e);
VectorDrawableCompat vectorDrawableCompat = this.b.b;
if (vectorDrawableCompat != null) {
vectorDrawableCompat.setCallback(null);
}
this.b.b = a2;
}
a.recycle();
} else if ("target".equals(name)) {
TypedArray obtainAttributes = resources.obtainAttributes(attributeSet, AndroidResources.f);
String string = obtainAttributes.getString(0);
int resourceId2 = obtainAttributes.getResourceId(1, 0);
if (resourceId2 != 0) {
Context context = this.c;
if (context == null) {
obtainAttributes.recycle();
throw new IllegalStateException("Context can't be null when inflating animators");
}
a(string, AnimatorInflaterCompat.a(context, resourceId2));
}
obtainAttributes.recycle();
} else {
continue;
}
}
eventType = xmlPullParser.next();
}
this.b.a();
}
@Override // android.graphics.drawable.Drawable
public boolean isAutoMirrored() {
Drawable drawable = this.a;
return drawable != null ? DrawableCompat.f(drawable) : this.b.b.isAutoMirrored();
}
@Override // android.graphics.drawable.Animatable
public boolean isRunning() {
Drawable drawable = this.a;
return drawable != null ? ((AnimatedVectorDrawable) drawable).isRunning() : this.b.c.isRunning();
}
@Override // android.graphics.drawable.Drawable
public boolean isStateful() {
Drawable drawable = this.a;
return drawable != null ? drawable.isStateful() : this.b.b.isStateful();
}
@Override // android.graphics.drawable.Drawable
public Drawable mutate() {
Drawable drawable = this.a;
if (drawable != null) {
drawable.mutate();
}
return this;
}
@Override // android.graphics.drawable.Drawable
protected void onBoundsChange(Rect rect) {
Drawable drawable = this.a;
if (drawable != null) {
drawable.setBounds(rect);
} else {
this.b.b.setBounds(rect);
}
}
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
protected boolean onLevelChange(int i) {
Drawable drawable = this.a;
return drawable != null ? drawable.setLevel(i) : this.b.b.setLevel(i);
}
@Override // android.graphics.drawable.Drawable
protected boolean onStateChange(int[] iArr) {
Drawable drawable = this.a;
return drawable != null ? drawable.setState(iArr) : this.b.b.setState(iArr);
}
@Override // android.graphics.drawable.Drawable
public void setAlpha(int i) {
Drawable drawable = this.a;
if (drawable != null) {
drawable.setAlpha(i);
} else {
this.b.b.setAlpha(i);
}
}
@Override // android.graphics.drawable.Drawable
public void setAutoMirrored(boolean z) {
Drawable drawable = this.a;
if (drawable != null) {
DrawableCompat.a(drawable, z);
} else {
this.b.b.setAutoMirrored(z);
}
}
@Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable
public void setTint(int i) {
Drawable drawable = this.a;
if (drawable != null) {
DrawableCompat.b(drawable, i);
} else {
this.b.b.setTint(i);
}
}
@Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable
public void setTintList(ColorStateList colorStateList) {
Drawable drawable = this.a;
if (drawable != null) {
DrawableCompat.a(drawable, colorStateList);
} else {
this.b.b.setTintList(colorStateList);
}
}
@Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable
public void setTintMode(PorterDuff.Mode mode) {
Drawable drawable = this.a;
if (drawable != null) {
DrawableCompat.a(drawable, mode);
} else {
this.b.b.setTintMode(mode);
}
}
@Override // android.graphics.drawable.Drawable
public boolean setVisible(boolean z, boolean z2) {
Drawable drawable = this.a;
if (drawable != null) {
return drawable.setVisible(z, z2);
}
this.b.b.setVisible(z, z2);
return super.setVisible(z, z2);
}
@Override // android.graphics.drawable.Animatable
public void start() {
Drawable drawable = this.a;
if (drawable != null) {
((AnimatedVectorDrawable) drawable).start();
} else {
if (this.b.c.isStarted()) {
return;
}
this.b.c.start();
invalidateSelf();
}
}
@Override // android.graphics.drawable.Animatable
public void stop() {
Drawable drawable = this.a;
if (drawable != null) {
((AnimatedVectorDrawable) drawable).stop();
} else {
this.b.c.end();
}
}
private AnimatedVectorDrawableCompat(Context context) {
this(context, null, null);
}
@Override // android.graphics.drawable.Drawable
public void setColorFilter(ColorFilter colorFilter) {
Drawable drawable = this.a;
if (drawable != null) {
drawable.setColorFilter(colorFilter);
} else {
this.b.b.setColorFilter(colorFilter);
}
}
private static class AnimatedVectorDrawableDelegateState extends Drawable.ConstantState {
private final Drawable.ConstantState a;
public AnimatedVectorDrawableDelegateState(Drawable.ConstantState constantState) {
this.a = constantState;
}
@Override // android.graphics.drawable.Drawable.ConstantState
public boolean canApplyTheme() {
return this.a.canApplyTheme();
}
@Override // android.graphics.drawable.Drawable.ConstantState
public int getChangingConfigurations() {
return this.a.getChangingConfigurations();
}
@Override // android.graphics.drawable.Drawable.ConstantState
public Drawable newDrawable() {
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
animatedVectorDrawableCompat.a = this.a.newDrawable();
animatedVectorDrawableCompat.a.setCallback(animatedVectorDrawableCompat.e);
return animatedVectorDrawableCompat;
}
@Override // android.graphics.drawable.Drawable.ConstantState
public Drawable newDrawable(Resources resources) {
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
animatedVectorDrawableCompat.a = this.a.newDrawable(resources);
animatedVectorDrawableCompat.a.setCallback(animatedVectorDrawableCompat.e);
return animatedVectorDrawableCompat;
}
@Override // android.graphics.drawable.Drawable.ConstantState
public Drawable newDrawable(Resources resources, Resources.Theme theme) {
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
animatedVectorDrawableCompat.a = this.a.newDrawable(resources, theme);
animatedVectorDrawableCompat.a.setCallback(animatedVectorDrawableCompat.e);
return animatedVectorDrawableCompat;
}
}
private AnimatedVectorDrawableCompat(Context context, AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, Resources resources) {
this.d = null;
this.e = 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.c = context;
if (animatedVectorDrawableCompatState != null) {
this.b = animatedVectorDrawableCompatState;
} else {
this.b = new AnimatedVectorDrawableCompatState(context, animatedVectorDrawableCompatState, this.e, resources);
}
}
private void a(Animator animator) {
ArrayList<Animator> childAnimations;
if ((animator instanceof AnimatorSet) && (childAnimations = ((AnimatorSet) animator).getChildAnimations()) != null) {
for (int i = 0; i < childAnimations.size(); i++) {
a(childAnimations.get(i));
}
}
if (animator instanceof ObjectAnimator) {
ObjectAnimator objectAnimator = (ObjectAnimator) animator;
String propertyName = objectAnimator.getPropertyName();
if ("fillColor".equals(propertyName) || "strokeColor".equals(propertyName)) {
if (this.d == null) {
this.d = new android.animation.ArgbEvaluator();
}
objectAnimator.setEvaluator(this.d);
}
}
}
private void a(String str, Animator animator) {
animator.setTarget(this.b.b.a(str));
if (Build.VERSION.SDK_INT < 21) {
a(animator);
}
AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState = this.b;
if (animatedVectorDrawableCompatState.d == null) {
animatedVectorDrawableCompatState.d = new ArrayList<>();
this.b.e = new ArrayMap<>();
}
this.b.d.add(animator);
this.b.e.put(animator, str);
}
@Override // android.graphics.drawable.Drawable
public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet) throws XmlPullParserException, IOException {
inflate(resources, xmlPullParser, attributeSet, null);
}
}