what-the-bank/sources/com/airbnb/lottie/parser/AnimatablePathValueParser.java

74 lines
3.2 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package com.airbnb.lottie.parser;
import android.graphics.PointF;
import com.airbnb.lottie.LottieComposition;
import com.airbnb.lottie.model.animatable.AnimatableFloatValue;
import com.airbnb.lottie.model.animatable.AnimatablePathValue;
import com.airbnb.lottie.model.animatable.AnimatableSplitDimensionPathValue;
import com.airbnb.lottie.model.animatable.AnimatableValue;
import com.airbnb.lottie.parser.moshi.JsonReader;
import com.airbnb.lottie.utils.Utils;
import com.airbnb.lottie.value.Keyframe;
import java.io.IOException;
import java.util.ArrayList;
/* loaded from: classes.dex */
public class AnimatablePathValueParser {
private static final JsonReader.Options NAMES = JsonReader.Options.of("k", "x", "y");
private AnimatablePathValueParser() {
}
public static AnimatablePathValue parse(JsonReader jsonReader, LottieComposition lottieComposition) throws IOException {
ArrayList arrayList = new ArrayList();
if (jsonReader.peek() == JsonReader.Token.BEGIN_ARRAY) {
jsonReader.beginArray();
while (jsonReader.hasNext()) {
arrayList.add(PathKeyframeParser.parse(jsonReader, lottieComposition));
}
jsonReader.endArray();
KeyframesParser.setEndFrames(arrayList);
} else {
arrayList.add(new Keyframe(JsonUtils.jsonToPoint(jsonReader, Utils.dpScale())));
}
return new AnimatablePathValue(arrayList);
}
/* JADX INFO: Access modifiers changed from: package-private */
public static AnimatableValue<PointF, PointF> parseSplitPath(JsonReader jsonReader, LottieComposition lottieComposition) throws IOException {
jsonReader.beginObject();
AnimatablePathValue animatablePathValue = null;
AnimatableFloatValue animatableFloatValue = null;
boolean z = false;
AnimatableFloatValue animatableFloatValue2 = null;
while (jsonReader.peek() != JsonReader.Token.END_OBJECT) {
int selectName = jsonReader.selectName(NAMES);
if (selectName == 0) {
animatablePathValue = parse(jsonReader, lottieComposition);
} else if (selectName != 1) {
if (selectName == 2) {
if (jsonReader.peek() == JsonReader.Token.STRING) {
jsonReader.skipValue();
z = true;
} else {
animatableFloatValue = AnimatableValueParser.parseFloat(jsonReader, lottieComposition);
}
} else {
jsonReader.skipName();
jsonReader.skipValue();
}
} else if (jsonReader.peek() == JsonReader.Token.STRING) {
jsonReader.skipValue();
z = true;
} else {
animatableFloatValue2 = AnimatableValueParser.parseFloat(jsonReader, lottieComposition);
}
}
jsonReader.endObject();
if (z) {
lottieComposition.addWarning("Lottie doesn't support expressions.");
}
return animatablePathValue != null ? animatablePathValue : new AnimatableSplitDimensionPathValue(animatableFloatValue2, animatableFloatValue);
}
}