Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,324 @@
package com.applovin.impl;
import android.graphics.PointF;
import android.text.Layout;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.text.style.StrikethroughSpan;
import android.text.style.StyleSpan;
import android.text.style.UnderlineSpan;
import androidx.work.WorkRequest;
import com.applovin.exoplayer2.common.base.Ascii;
import com.applovin.impl.b5;
import com.applovin.impl.zk;
import com.facebook.internal.security.CertificateUtil;
import com.mbridge.msdk.playercommon.exoplayer2.C;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* loaded from: classes.dex */
public final class xk extends ek {
private static final Pattern t = Pattern.compile("(?:(\\d+):)?(\\d+):(\\d+)[:.](\\d+)");
private final boolean o;
private final yk p;
private Map q;
private float r;
private float s;
private static float b(int i) {
if (i == 0) {
return 0.05f;
}
if (i != 1) {
return i != 2 ? -3.4028235E38f : 0.95f;
}
return 0.5f;
}
public xk(List list) {
super("SsaDecoder");
this.r = -3.4028235E38f;
this.s = -3.4028235E38f;
if (list == null || list.isEmpty()) {
this.o = false;
this.p = null;
return;
}
this.o = true;
String a = xp.a((byte[]) list.get(0));
b1.a(a.startsWith("Format:"));
this.p = (yk) b1.a(yk.a(a));
a(new bh((byte[]) list.get(1)));
}
private void b(bh bhVar) {
while (true) {
String l = bhVar.l();
if (l == null) {
return;
}
if (bhVar.a() != 0 && bhVar.g() == 91) {
return;
}
String[] split = l.split(CertificateUtil.DELIMITER);
if (split.length == 2) {
String lowerCase = Ascii.toLowerCase(split[0].trim());
lowerCase.hashCode();
if (lowerCase.equals("playresx")) {
this.r = Float.parseFloat(split[1].trim());
} else if (lowerCase.equals("playresy")) {
try {
this.s = Float.parseFloat(split[1].trim());
} catch (NumberFormatException unused) {
}
}
}
}
}
private static Layout.Alignment e(int i) {
switch (i) {
case -1:
return null;
case 0:
default:
pc.d("SsaDecoder", "Unknown alignment: " + i);
return null;
case 1:
case 4:
case 7:
return Layout.Alignment.ALIGN_NORMAL;
case 2:
case 5:
case 8:
return Layout.Alignment.ALIGN_CENTER;
case 3:
case 6:
case 9:
return Layout.Alignment.ALIGN_OPPOSITE;
}
}
private static int c(int i) {
switch (i) {
case -1:
break;
case 0:
default:
pc.d("SsaDecoder", "Unknown alignment: " + i);
break;
case 1:
case 2:
case 3:
break;
case 4:
case 5:
case 6:
break;
case 7:
case 8:
case 9:
break;
}
return Integer.MIN_VALUE;
}
private static Map c(bh bhVar) {
LinkedHashMap linkedHashMap = new LinkedHashMap();
zk.a aVar = null;
while (true) {
String l = bhVar.l();
if (l == null || (bhVar.a() != 0 && bhVar.g() == 91)) {
break;
}
if (l.startsWith("Format:")) {
aVar = zk.a.a(l);
} else if (l.startsWith("Style:")) {
if (aVar == null) {
pc.d("SsaDecoder", "Skipping 'Style:' line before 'Format:' line: " + l);
} else {
zk a = zk.a(l, aVar);
if (a != null) {
linkedHashMap.put(a.a, a);
}
}
}
}
return linkedHashMap;
}
private static int d(int i) {
switch (i) {
case -1:
break;
case 0:
default:
pc.d("SsaDecoder", "Unknown alignment: " + i);
break;
case 1:
case 4:
case 7:
break;
case 2:
case 5:
case 8:
break;
case 3:
case 6:
case 9:
break;
}
return Integer.MIN_VALUE;
}
private static int a(long j, List list, List list2) {
int i;
int size = list.size() - 1;
while (true) {
if (size < 0) {
i = 0;
break;
}
if (((Long) list.get(size)).longValue() == j) {
return size;
}
if (((Long) list.get(size)).longValue() < j) {
i = size + 1;
break;
}
size--;
}
list.add(i, Long.valueOf(j));
list2.add(i, i == 0 ? new ArrayList() : new ArrayList((Collection) list2.get(i - 1)));
return i;
}
private static b5 a(String str, zk zkVar, zk.b bVar, float f, float f2) {
SpannableString spannableString = new SpannableString(str);
b5.b a = new b5.b().a(spannableString);
if (zkVar != null) {
if (zkVar.c != null) {
spannableString.setSpan(new ForegroundColorSpan(zkVar.c.intValue()), 0, spannableString.length(), 33);
}
float f3 = zkVar.d;
if (f3 != -3.4028235E38f && f2 != -3.4028235E38f) {
a.b(f3 / f2, 1);
}
boolean z = zkVar.e;
if (z && zkVar.f) {
spannableString.setSpan(new StyleSpan(3), 0, spannableString.length(), 33);
} else if (z) {
spannableString.setSpan(new StyleSpan(1), 0, spannableString.length(), 33);
} else if (zkVar.f) {
spannableString.setSpan(new StyleSpan(2), 0, spannableString.length(), 33);
}
if (zkVar.g) {
spannableString.setSpan(new UnderlineSpan(), 0, spannableString.length(), 33);
}
if (zkVar.h) {
spannableString.setSpan(new StrikethroughSpan(), 0, spannableString.length(), 33);
}
}
int i = bVar.a;
if (i == -1) {
i = zkVar != null ? zkVar.b : -1;
}
a.b(e(i)).b(d(i)).a(c(i));
PointF pointF = bVar.b;
if (pointF != null && f2 != -3.4028235E38f && f != -3.4028235E38f) {
a.b(pointF.x / f);
a.a(bVar.b.y / f2, 0);
} else {
a.b(b(a.d()));
a.a(b(a.c()), 0);
}
return a.a();
}
@Override // com.applovin.impl.ek
public nl a(byte[] bArr, int i, boolean z) {
ArrayList arrayList = new ArrayList();
ArrayList arrayList2 = new ArrayList();
bh bhVar = new bh(bArr, i);
if (!this.o) {
a(bhVar);
}
a(bhVar, arrayList, arrayList2);
return new al(arrayList, arrayList2);
}
private void a(String str, yk ykVar, List list, List list2) {
int i;
b1.a(str.startsWith("Dialogue:"));
String[] split = str.substring(9).split(",", ykVar.e);
if (split.length != ykVar.e) {
pc.d("SsaDecoder", "Skipping dialogue line with fewer columns than format: " + str);
return;
}
long a = a(split[ykVar.a]);
if (a == C.TIME_UNSET) {
pc.d("SsaDecoder", "Skipping invalid timing: " + str);
return;
}
long a2 = a(split[ykVar.b]);
if (a2 == C.TIME_UNSET) {
pc.d("SsaDecoder", "Skipping invalid timing: " + str);
return;
}
Map map = this.q;
zk zkVar = (map == null || (i = ykVar.c) == -1) ? null : (zk) map.get(split[i].trim());
String str2 = split[ykVar.d];
b5 a3 = a(zk.b.d(str2).replace("\\N", "\n").replace("\\n", "\n").replace("\\h", " "), zkVar, zk.b.b(str2), this.r, this.s);
int a4 = a(a2, list2, list);
for (int a5 = a(a, list2, list); a5 < a4; a5++) {
((List) list.get(a5)).add(a3);
}
}
private void a(bh bhVar, List list, List list2) {
yk ykVar = this.o ? this.p : null;
while (true) {
String l = bhVar.l();
if (l == null) {
return;
}
if (l.startsWith("Format:")) {
ykVar = yk.a(l);
} else if (l.startsWith("Dialogue:")) {
if (ykVar == null) {
pc.d("SsaDecoder", "Skipping dialogue line before complete format: " + l);
} else {
a(l, ykVar, list, list2);
}
}
}
}
private void a(bh bhVar) {
while (true) {
String l = bhVar.l();
if (l == null) {
return;
}
if ("[Script Info]".equalsIgnoreCase(l)) {
b(bhVar);
} else if ("[V4+ Styles]".equalsIgnoreCase(l)) {
this.q = c(bhVar);
} else if ("[V4 Styles]".equalsIgnoreCase(l)) {
pc.c("SsaDecoder", "[V4 Styles] are not supported");
} else if ("[Events]".equalsIgnoreCase(l)) {
return;
}
}
}
private static long a(String str) {
Matcher matcher = t.matcher(str.trim());
return !matcher.matches() ? C.TIME_UNSET : (Long.parseLong((String) xp.a((Object) matcher.group(1))) * 3600000000L) + (Long.parseLong((String) xp.a((Object) matcher.group(2))) * 60000000) + (Long.parseLong((String) xp.a((Object) matcher.group(3))) * 1000000) + (Long.parseLong((String) xp.a((Object) matcher.group(4))) * WorkRequest.MIN_BACKOFF_MILLIS);
}
}