Files
rr3-apk/decompiled-community/sources/com/applovin/impl/lp.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

161 lines
5.5 KiB
Java

package com.applovin.impl;
import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.text.style.TypefaceSpan;
import android.text.style.UnderlineSpan;
import com.applovin.exoplayer2.common.base.Ascii;
import com.applovin.exoplayer2.common.base.Charsets;
import com.applovin.impl.b5;
import com.mbridge.msdk.playercommon.exoplayer2.C;
import java.util.List;
/* loaded from: classes.dex */
public final class lp extends ek {
private final bh o;
private final boolean p;
private final int q;
private final int r;
private final String s;
private final float t;
private final int u;
public lp(List list) {
super("Tx3gDecoder");
this.o = new bh();
int size = list.size();
String str = C.SANS_SERIF_NAME;
if (size != 1 || (((byte[]) list.get(0)).length != 48 && ((byte[]) list.get(0)).length != 53)) {
this.q = 0;
this.r = -1;
this.s = C.SANS_SERIF_NAME;
this.p = false;
this.t = 0.85f;
this.u = -1;
return;
}
byte[] bArr = (byte[]) list.get(0);
this.q = bArr[24];
this.r = ((bArr[26] & 255) << 24) | ((bArr[27] & 255) << 16) | ((bArr[28] & 255) << 8) | (bArr[29] & 255);
this.s = "Serif".equals(xp.a(bArr, 43, bArr.length - 43)) ? C.SERIF_NAME : str;
int i = bArr[25] * Ascii.DC4;
this.u = i;
boolean z = (bArr[0] & 32) != 0;
this.p = z;
if (z) {
this.t = xp.a(((bArr[11] & 255) | ((bArr[10] & 255) << 8)) / i, 0.0f, 0.95f);
} else {
this.t = 0.85f;
}
}
private void a(bh bhVar, SpannableStringBuilder spannableStringBuilder) {
a(bhVar.a() >= 12);
int C = bhVar.C();
int C2 = bhVar.C();
bhVar.g(2);
int w = bhVar.w();
bhVar.g(1);
int j = bhVar.j();
if (C2 > spannableStringBuilder.length()) {
pc.d("Tx3gDecoder", "Truncating styl end (" + C2 + ") to cueText.length() (" + spannableStringBuilder.length() + ").");
C2 = spannableStringBuilder.length();
}
if (C >= C2) {
pc.d("Tx3gDecoder", "Ignoring styl with start (" + C + ") >= end (" + C2 + ").");
return;
}
int i = C2;
b(spannableStringBuilder, w, this.q, C, i, 0);
a(spannableStringBuilder, j, this.r, C, i, 0);
}
private static void b(SpannableStringBuilder spannableStringBuilder, int i, int i2, int i3, int i4, int i5) {
if (i != i2) {
int i6 = i5 | 33;
boolean z = (i & 1) != 0;
boolean z2 = (i & 2) != 0;
if (z) {
if (z2) {
spannableStringBuilder.setSpan(new StyleSpan(3), i3, i4, i6);
} else {
spannableStringBuilder.setSpan(new StyleSpan(1), i3, i4, i6);
}
} else if (z2) {
spannableStringBuilder.setSpan(new StyleSpan(2), i3, i4, i6);
}
boolean z3 = (i & 4) != 0;
if (z3) {
spannableStringBuilder.setSpan(new UnderlineSpan(), i3, i4, i6);
}
if (z3 || z || z2) {
return;
}
spannableStringBuilder.setSpan(new StyleSpan(0), i3, i4, i6);
}
}
private static void a(boolean z) {
if (!z) {
throw new pl("Unexpected subtitle format.");
}
}
private static void a(SpannableStringBuilder spannableStringBuilder, int i, int i2, int i3, int i4, int i5) {
if (i != i2) {
spannableStringBuilder.setSpan(new ForegroundColorSpan((i >>> 8) | ((i & 255) << 24)), i3, i4, i5 | 33);
}
}
private static void a(SpannableStringBuilder spannableStringBuilder, String str, int i, int i2) {
if (str != C.SANS_SERIF_NAME) {
spannableStringBuilder.setSpan(new TypefaceSpan(str), i, i2, 16711713);
}
}
@Override // com.applovin.impl.ek
public nl a(byte[] bArr, int i, boolean z) {
this.o.a(bArr, i);
String a = a(this.o);
if (a.isEmpty()) {
return mp.b;
}
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(a);
b(spannableStringBuilder, this.q, 0, 0, spannableStringBuilder.length(), 16711680);
a(spannableStringBuilder, this.r, -1, 0, spannableStringBuilder.length(), 16711680);
a(spannableStringBuilder, this.s, 0, spannableStringBuilder.length());
float f = this.t;
while (this.o.a() >= 8) {
int d = this.o.d();
int j = this.o.j();
int j2 = this.o.j();
if (j2 == 1937013100) {
a(this.o.a() >= 2);
int C = this.o.C();
for (int i2 = 0; i2 < C; i2++) {
a(this.o, spannableStringBuilder);
}
} else if (j2 == 1952608120 && this.p) {
a(this.o.a() >= 2);
f = xp.a(this.o.C() / this.u, 0.0f, 0.95f);
}
this.o.f(d + j);
}
return new mp(new b5.b().a(spannableStringBuilder).a(f, 0).a(0).a());
}
private static String a(bh bhVar) {
char f;
a(bhVar.a() >= 2);
int C = bhVar.C();
if (C == 0) {
return "";
}
if (bhVar.a() >= 2 && ((f = bhVar.f()) == 65279 || f == 65534)) {
return bhVar.a(C, Charsets.UTF_16);
}
return bhVar.a(C, Charsets.UTF_8);
}
}