jimu-decompiled/sources/com/google/android/material/animation/MotionSpec.java
2025-05-13 19:24:51 +02:00

97 lines
2.9 KiB
Java

package com.google.android.material.animation;
import android.animation.Animator;
import android.animation.AnimatorInflater;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.util.Log;
import androidx.collection.SimpleArrayMap;
import java.util.ArrayList;
import java.util.List;
/* loaded from: classes.dex */
public class MotionSpec {
private final SimpleArrayMap<String, MotionTiming> a = new SimpleArrayMap<>();
public MotionTiming a(String str) {
if (b(str)) {
return this.a.get(str);
}
throw new IllegalArgumentException();
}
public boolean b(String str) {
return this.a.get(str) != null;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || MotionSpec.class != obj.getClass()) {
return false;
}
return this.a.equals(((MotionSpec) obj).a);
}
public int hashCode() {
return this.a.hashCode();
}
public String toString() {
return '\n' + MotionSpec.class.getName() + '{' + Integer.toHexString(System.identityHashCode(this)) + " timings: " + this.a + "}\n";
}
public void a(String str, MotionTiming motionTiming) {
this.a.put(str, motionTiming);
}
public long a() {
int size = this.a.size();
long j = 0;
for (int i = 0; i < size; i++) {
MotionTiming d = this.a.d(i);
j = Math.max(j, d.a() + d.b());
}
return j;
}
public static MotionSpec a(Context context, int i) {
try {
Animator loadAnimator = AnimatorInflater.loadAnimator(context, i);
if (loadAnimator instanceof AnimatorSet) {
return a(((AnimatorSet) loadAnimator).getChildAnimations());
}
if (loadAnimator == null) {
return null;
}
ArrayList arrayList = new ArrayList();
arrayList.add(loadAnimator);
return a(arrayList);
} catch (Exception e) {
Log.w("MotionSpec", "Can't load animation resource ID #0x" + Integer.toHexString(i), e);
return null;
}
}
private static MotionSpec a(List<Animator> list) {
MotionSpec motionSpec = new MotionSpec();
int size = list.size();
for (int i = 0; i < size; i++) {
a(motionSpec, list.get(i));
}
return motionSpec;
}
private static void a(MotionSpec motionSpec, Animator animator) {
if (animator instanceof ObjectAnimator) {
ObjectAnimator objectAnimator = (ObjectAnimator) animator;
motionSpec.a(objectAnimator.getPropertyName(), MotionTiming.a((ValueAnimator) objectAnimator));
} else {
throw new IllegalArgumentException("Animator must be an ObjectAnimator: " + animator);
}
}
}