mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-30 11:02:31 -06:00
115 lines
4.5 KiB
Java
115 lines
4.5 KiB
Java
package androidx.constraintlayout.motion.widget;
|
|
|
|
import android.content.Context;
|
|
import android.util.Log;
|
|
import android.util.Xml;
|
|
import androidx.constraintlayout.widget.ConstraintAttribute;
|
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
import java.io.IOException;
|
|
import java.lang.reflect.Constructor;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.Set;
|
|
import org.xmlpull.v1.XmlPullParser;
|
|
import org.xmlpull.v1.XmlPullParserException;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class KeyFrames {
|
|
private static final String TAG = "KeyFrames";
|
|
public static final int UNSET = -1;
|
|
static HashMap<String, Constructor<? extends Key>> sKeyMakers;
|
|
private HashMap<Integer, ArrayList<Key>> mFramesMap = new HashMap<>();
|
|
|
|
static {
|
|
HashMap<String, Constructor<? extends Key>> hashMap = new HashMap<>();
|
|
sKeyMakers = hashMap;
|
|
try {
|
|
hashMap.put("KeyAttribute", KeyAttributes.class.getConstructor(new Class[0]));
|
|
sKeyMakers.put("KeyPosition", KeyPosition.class.getConstructor(new Class[0]));
|
|
sKeyMakers.put("KeyCycle", KeyCycle.class.getConstructor(new Class[0]));
|
|
sKeyMakers.put("KeyTimeCycle", KeyTimeCycle.class.getConstructor(new Class[0]));
|
|
sKeyMakers.put("KeyTrigger", KeyTrigger.class.getConstructor(new Class[0]));
|
|
} catch (NoSuchMethodException e) {
|
|
Log.e(TAG, "unable to load", e);
|
|
}
|
|
}
|
|
|
|
private void addKey(Key key) {
|
|
if (!this.mFramesMap.containsKey(Integer.valueOf(key.mTargetId))) {
|
|
this.mFramesMap.put(Integer.valueOf(key.mTargetId), new ArrayList<>());
|
|
}
|
|
this.mFramesMap.get(Integer.valueOf(key.mTargetId)).add(key);
|
|
}
|
|
|
|
public KeyFrames(Context context, XmlPullParser xmlPullParser) {
|
|
Exception e;
|
|
Key key;
|
|
try {
|
|
int eventType = xmlPullParser.getEventType();
|
|
Key key2 = null;
|
|
while (eventType != 1) {
|
|
if (eventType == 2) {
|
|
String name = xmlPullParser.getName();
|
|
if (sKeyMakers.containsKey(name)) {
|
|
try {
|
|
key = sKeyMakers.get(name).newInstance(new Object[0]);
|
|
} catch (Exception e2) {
|
|
Key key3 = key2;
|
|
e = e2;
|
|
key = key3;
|
|
}
|
|
try {
|
|
key.load(context, Xml.asAttributeSet(xmlPullParser));
|
|
addKey(key);
|
|
} catch (Exception e3) {
|
|
e = e3;
|
|
Log.e(TAG, "unable to create ", e);
|
|
key2 = key;
|
|
eventType = xmlPullParser.next();
|
|
}
|
|
key2 = key;
|
|
} else if (name.equalsIgnoreCase("CustomAttribute") && key2 != null && key2.mCustomConstraints != null) {
|
|
ConstraintAttribute.parse(context, xmlPullParser, key2.mCustomConstraints);
|
|
}
|
|
} else if (eventType == 3 && "KeyFrameSet".equals(xmlPullParser.getName())) {
|
|
return;
|
|
}
|
|
eventType = xmlPullParser.next();
|
|
}
|
|
} catch (IOException e4) {
|
|
e4.printStackTrace();
|
|
} catch (XmlPullParserException e5) {
|
|
e5.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public void addFrames(MotionController motionController) {
|
|
ArrayList<Key> arrayList = this.mFramesMap.get(Integer.valueOf(motionController.mId));
|
|
if (arrayList != null) {
|
|
motionController.addKeys(arrayList);
|
|
}
|
|
ArrayList<Key> arrayList2 = this.mFramesMap.get(-1);
|
|
if (arrayList2 != null) {
|
|
Iterator<Key> it = arrayList2.iterator();
|
|
while (it.hasNext()) {
|
|
Key next = it.next();
|
|
if (next.matches(((ConstraintLayout.LayoutParams) motionController.mView.getLayoutParams()).constraintTag)) {
|
|
motionController.addKey(next);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
static String name(int i, Context context) {
|
|
return context.getResources().getResourceEntryName(i);
|
|
}
|
|
|
|
public Set<Integer> getKeys() {
|
|
return this.mFramesMap.keySet();
|
|
}
|
|
|
|
public ArrayList<Key> getKeyFramesForView(int i) {
|
|
return this.mFramesMap.get(Integer.valueOf(i));
|
|
}
|
|
}
|