Rabbit-R1/switch port/java/sources/com/airbnb/lottie/parser/GradientFillParser.java
2024-05-21 17:08:36 -04:00

81 lines
3.8 KiB
Java

package com.airbnb.lottie.parser;
import android.graphics.Path;
import androidx.media3.exoplayer.upstream.CmcdHeadersFactory;
import com.airbnb.lottie.LottieComposition;
import com.airbnb.lottie.model.animatable.AnimatableGradientColorValue;
import com.airbnb.lottie.model.animatable.AnimatableIntegerValue;
import com.airbnb.lottie.model.animatable.AnimatablePointValue;
import com.airbnb.lottie.model.content.GradientFill;
import com.airbnb.lottie.model.content.GradientType;
import com.airbnb.lottie.parser.moshi.JsonReader;
import com.airbnb.lottie.value.Keyframe;
import java.io.IOException;
import java.util.Collections;
/* loaded from: classes2.dex */
class GradientFillParser {
private static final JsonReader.Options NAMES = JsonReader.Options.of("nm", "g", "o", "t", CmcdHeadersFactory.STREAMING_FORMAT_SS, "e", "r", "hd");
private static final JsonReader.Options GRADIENT_NAMES = JsonReader.Options.of("p", "k");
private GradientFillParser() {
}
/* JADX INFO: Access modifiers changed from: package-private */
public static GradientFill parse(JsonReader jsonReader, LottieComposition lottieComposition) throws IOException {
AnimatableIntegerValue animatableIntegerValue = null;
Path.FillType fillType = Path.FillType.WINDING;
String str = null;
GradientType gradientType = null;
AnimatableGradientColorValue animatableGradientColorValue = null;
AnimatablePointValue animatablePointValue = null;
AnimatablePointValue animatablePointValue2 = null;
boolean z = false;
while (jsonReader.hasNext()) {
switch (jsonReader.selectName(NAMES)) {
case 0:
str = jsonReader.nextString();
break;
case 1:
jsonReader.beginObject();
int i = -1;
while (jsonReader.hasNext()) {
int selectName = jsonReader.selectName(GRADIENT_NAMES);
if (selectName == 0) {
i = jsonReader.nextInt();
} else if (selectName == 1) {
animatableGradientColorValue = AnimatableValueParser.parseGradientColor(jsonReader, lottieComposition, i);
} else {
jsonReader.skipName();
jsonReader.skipValue();
}
}
jsonReader.endObject();
break;
case 2:
animatableIntegerValue = AnimatableValueParser.parseInteger(jsonReader, lottieComposition);
break;
case 3:
gradientType = jsonReader.nextInt() == 1 ? GradientType.LINEAR : GradientType.RADIAL;
break;
case 4:
animatablePointValue = AnimatableValueParser.parsePoint(jsonReader, lottieComposition);
break;
case 5:
animatablePointValue2 = AnimatableValueParser.parsePoint(jsonReader, lottieComposition);
break;
case 6:
fillType = jsonReader.nextInt() == 1 ? Path.FillType.WINDING : Path.FillType.EVEN_ODD;
break;
case 7:
z = jsonReader.nextBoolean();
break;
default:
jsonReader.skipName();
jsonReader.skipValue();
break;
}
}
return new GradientFill(str, gradientType, fillType, animatableGradientColorValue, animatableIntegerValue == null ? new AnimatableIntegerValue(Collections.singletonList(new Keyframe(100))) : animatableIntegerValue, animatablePointValue, animatablePointValue2, null, null, z);
}
}