117 lines
4.3 KiB
Java
117 lines
4.3 KiB
Java
package p6;
|
|
|
|
import d6.f1;
|
|
import f8.q0;
|
|
import f8.r;
|
|
import java.io.StringReader;
|
|
import org.xmlpull.v1.XmlPullParser;
|
|
import org.xmlpull.v1.XmlPullParserException;
|
|
import org.xmlpull.v1.XmlPullParserFactory;
|
|
import p6.b;
|
|
import ra.s;
|
|
/* compiled from: XmpMotionPhotoDescriptionParser.java */
|
|
/* loaded from: classes4.dex */
|
|
final class e {
|
|
|
|
/* renamed from: a reason: collision with root package name */
|
|
private static final String[] f19993a = {"Camera:MotionPhoto", "GCamera:MotionPhoto", "Camera:MicroVideo", "GCamera:MicroVideo"};
|
|
|
|
/* renamed from: b reason: collision with root package name */
|
|
private static final String[] f19994b = {"Camera:MotionPhotoPresentationTimestampUs", "GCamera:MotionPhotoPresentationTimestampUs", "Camera:MicroVideoPresentationTimestampUs", "GCamera:MicroVideoPresentationTimestampUs"};
|
|
|
|
/* renamed from: c reason: collision with root package name */
|
|
private static final String[] f19995c = {"Camera:MicroVideoOffset", "GCamera:MicroVideoOffset"};
|
|
|
|
public static b a(String str) {
|
|
try {
|
|
return b(str);
|
|
} catch (f1 | NumberFormatException | XmlPullParserException unused) {
|
|
r.h("MotionPhotoXmpParser", "Ignoring unexpected XMP metadata");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
private static b b(String str) {
|
|
XmlPullParser newPullParser = XmlPullParserFactory.newInstance().newPullParser();
|
|
newPullParser.setInput(new StringReader(str));
|
|
newPullParser.next();
|
|
if (q0.f(newPullParser, "x:xmpmeta")) {
|
|
long j10 = -9223372036854775807L;
|
|
s<b.a> v10 = s.v();
|
|
do {
|
|
newPullParser.next();
|
|
if (q0.f(newPullParser, "rdf:Description")) {
|
|
if (!d(newPullParser)) {
|
|
return null;
|
|
}
|
|
j10 = e(newPullParser);
|
|
v10 = c(newPullParser);
|
|
} else if (q0.f(newPullParser, "Container:Directory")) {
|
|
v10 = f(newPullParser, "Container", "Item");
|
|
} else if (q0.f(newPullParser, "GContainer:Directory")) {
|
|
v10 = f(newPullParser, "GContainer", "GContainerItem");
|
|
}
|
|
} while (!q0.d(newPullParser, "x:xmpmeta"));
|
|
if (v10.isEmpty()) {
|
|
return null;
|
|
}
|
|
return new b(j10, v10);
|
|
}
|
|
throw new f1("Couldn't find xmp metadata");
|
|
}
|
|
|
|
private static s<b.a> c(XmlPullParser xmlPullParser) {
|
|
for (String str : f19995c) {
|
|
String a10 = q0.a(xmlPullParser, str);
|
|
if (a10 != null) {
|
|
return s.x(new b.a("image/jpeg", "Primary", 0L, 0L), new b.a("video/mp4", "MotionPhoto", Long.parseLong(a10), 0L));
|
|
}
|
|
}
|
|
return s.v();
|
|
}
|
|
|
|
private static boolean d(XmlPullParser xmlPullParser) {
|
|
for (String str : f19993a) {
|
|
String a10 = q0.a(xmlPullParser, str);
|
|
if (a10 != null) {
|
|
return Integer.parseInt(a10) == 1;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private static long e(XmlPullParser xmlPullParser) {
|
|
for (String str : f19994b) {
|
|
String a10 = q0.a(xmlPullParser, str);
|
|
if (a10 != null) {
|
|
long parseLong = Long.parseLong(a10);
|
|
if (parseLong == -1) {
|
|
return -9223372036854775807L;
|
|
}
|
|
return parseLong;
|
|
}
|
|
}
|
|
return -9223372036854775807L;
|
|
}
|
|
|
|
private static s<b.a> f(XmlPullParser xmlPullParser, String str, String str2) {
|
|
s.a q10 = s.q();
|
|
String str3 = str + ":Item";
|
|
String str4 = str + ":Directory";
|
|
do {
|
|
xmlPullParser.next();
|
|
if (q0.f(xmlPullParser, str3)) {
|
|
String a10 = q0.a(xmlPullParser, str2 + ":Mime");
|
|
String a11 = q0.a(xmlPullParser, str2 + ":Semantic");
|
|
String a12 = q0.a(xmlPullParser, str2 + ":Length");
|
|
String a13 = q0.a(xmlPullParser, str2 + ":Padding");
|
|
if (a10 == null || a11 == null) {
|
|
return s.v();
|
|
}
|
|
q10.d(new b.a(a10, a11, a12 != null ? Long.parseLong(a12) : 0L, a13 != null ? Long.parseLong(a13) : 0L));
|
|
}
|
|
} while (!q0.d(xmlPullParser, str4));
|
|
return q10.e();
|
|
}
|
|
}
|