Files
rr3-apk/decompiled-community/sources/com/applovin/impl/m9.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

344 lines
11 KiB
Java

package com.applovin.impl;
import android.media.MediaCrypto;
import android.media.MediaCryptoException;
import android.media.MediaDrm;
import android.media.UnsupportedSchemeException;
import android.text.TextUtils;
import com.applovin.exoplayer2.common.base.Charsets;
import com.applovin.impl.y6;
import com.applovin.impl.z7;
import com.mbridge.msdk.playercommon.exoplayer2.C;
import com.mbridge.msdk.playercommon.exoplayer2.util.MimeTypes;
import csdk.gluads.Consts;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/* loaded from: classes.dex */
public final class m9 implements z7 {
public static final z7.c d = new z7.c() { // from class: com.applovin.impl.m9$$ExternalSyntheticLambda0
@Override // com.applovin.impl.z7.c
public final z7 a(UUID uuid) {
z7 b;
b = m9.b(uuid);
return b;
}
};
private final UUID a;
private final MediaDrm b;
private int c;
private static boolean e() {
return "ASUS_Z00AD".equals(xp.d);
}
@Override // com.applovin.impl.z7
public int c() {
return 2;
}
@Override // com.applovin.impl.z7
/* renamed from: f, reason: merged with bridge method [inline-methods] */
public l9 d(byte[] bArr) {
return new l9(a(this.a), bArr, xp.a < 21 && t2.d.equals(this.a) && "L3".equals(a("securityLevel")));
}
private static byte[] e(byte[] bArr) {
bh bhVar = new bh(bArr);
int m = bhVar.m();
short o = bhVar.o();
short o2 = bhVar.o();
if (o != 1 || o2 != 1) {
pc.c("FrameworkMediaDrm", "Unexpected record count or type. Skipping LA_URL workaround.");
return bArr;
}
short o3 = bhVar.o();
Charset charset = Charsets.UTF_16LE;
String a2 = bhVar.a(o3, charset);
if (a2.contains("<LA_URL>")) {
return bArr;
}
int indexOf = a2.indexOf("</DATA>");
if (indexOf == -1) {
pc.d("FrameworkMediaDrm", "Could not find the </DATA> tag. Skipping LA_URL workaround.");
}
String str = a2.substring(0, indexOf) + "<LA_URL>https://x</LA_URL>" + a2.substring(indexOf);
int i = m + 52;
ByteBuffer allocate = ByteBuffer.allocate(i);
allocate.order(ByteOrder.LITTLE_ENDIAN);
allocate.putInt(i);
allocate.putShort(o);
allocate.putShort(o2);
allocate.putShort((short) (str.length() * 2));
allocate.put(str.getBytes(charset));
return allocate.array();
}
private m9(UUID uuid) {
b1.a(uuid);
b1.a(!t2.b.equals(uuid), "Use C.CLEARKEY_UUID instead");
this.a = uuid;
MediaDrm mediaDrm = new MediaDrm(a(uuid));
this.b = mediaDrm;
this.c = 1;
if (t2.d.equals(uuid) && e()) {
a(mediaDrm);
}
}
@Override // com.applovin.impl.z7
public void c(byte[] bArr) {
this.b.closeSession(bArr);
}
public static m9 c(UUID uuid) {
try {
return new m9(uuid);
} catch (UnsupportedSchemeException e) {
throw new sp(1, e);
} catch (Exception e2) {
throw new sp(2, e2);
}
}
@Override // com.applovin.impl.z7
public byte[] d() {
return this.b.openSession();
}
@Override // com.applovin.impl.z7
public z7.d b() {
MediaDrm.ProvisionRequest provisionRequest = this.b.getProvisionRequest();
return new z7.d(provisionRequest.getData(), provisionRequest.getDefaultUrl());
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ z7 b(UUID uuid) {
try {
return c(uuid);
} catch (sp unused) {
pc.b("FrameworkMediaDrm", "Failed to instantiate a FrameworkMediaDrm for uuid: " + uuid + Consts.STRING_PERIOD);
return new g7();
}
}
private static void a(MediaDrm mediaDrm) {
mediaDrm.setPropertyString("securityLevel", "L3");
}
public static class a {
public static boolean a(MediaDrm mediaDrm, String str) {
boolean requiresSecureDecoder;
requiresSecureDecoder = mediaDrm.requiresSecureDecoder(str);
return requiresSecureDecoder;
}
}
@Override // com.applovin.impl.z7
public Map b(byte[] bArr) {
return this.b.queryKeyStatus(bArr);
}
@Override // com.applovin.impl.z7
public byte[] b(byte[] bArr, byte[] bArr2) {
if (t2.c.equals(this.a)) {
bArr2 = i3.b(bArr2);
}
return this.b.provideKeyResponse(bArr, bArr2);
}
/* JADX WARN: Code restructure failed: missing block: B:27:0x0056, code lost:
if ("AFTT".equals(r0) == false) goto L28;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
private static byte[] b(java.util.UUID r3, byte[] r4) {
/*
java.util.UUID r0 = com.applovin.impl.t2.e
boolean r1 = r0.equals(r3)
if (r1 == 0) goto L18
byte[] r1 = com.applovin.impl.ji.a(r4, r3)
if (r1 != 0) goto Lf
goto L10
Lf:
r4 = r1
L10:
byte[] r4 = e(r4)
byte[] r4 = com.applovin.impl.ji.a(r0, r4)
L18:
int r1 = com.applovin.impl.xp.a
r2 = 23
if (r1 >= r2) goto L26
java.util.UUID r1 = com.applovin.impl.t2.d
boolean r1 = r1.equals(r3)
if (r1 != 0) goto L58
L26:
boolean r0 = r0.equals(r3)
if (r0 == 0) goto L5f
java.lang.String r0 = com.applovin.impl.xp.c
java.lang.String r1 = "Amazon"
boolean r0 = r1.equals(r0)
if (r0 == 0) goto L5f
java.lang.String r0 = com.applovin.impl.xp.d
java.lang.String r1 = "AFTB"
boolean r1 = r1.equals(r0)
if (r1 != 0) goto L58
java.lang.String r1 = "AFTS"
boolean r1 = r1.equals(r0)
if (r1 != 0) goto L58
java.lang.String r1 = "AFTM"
boolean r1 = r1.equals(r0)
if (r1 != 0) goto L58
java.lang.String r1 = "AFTT"
boolean r0 = r1.equals(r0)
if (r0 == 0) goto L5f
L58:
byte[] r3 = com.applovin.impl.ji.a(r4, r3)
if (r3 == 0) goto L5f
return r3
L5f:
return r4
*/
throw new UnsupportedOperationException("Method not decompiled: com.applovin.impl.m9.b(java.util.UUID, byte[]):byte[]");
}
@Override // com.applovin.impl.z7
public z7.a a(byte[] bArr, List list, int i, HashMap hashMap) {
y6.b bVar;
byte[] bArr2;
String str;
if (list != null) {
bVar = a(this.a, list);
bArr2 = b(this.a, (byte[]) b1.a(bVar.f));
str = a(this.a, bVar.d);
} else {
bVar = null;
bArr2 = null;
str = null;
}
MediaDrm.KeyRequest keyRequest = this.b.getKeyRequest(bArr, bArr2, str, i, hashMap);
byte[] a2 = a(this.a, keyRequest.getData());
String defaultUrl = keyRequest.getDefaultUrl();
if ("https://x".equals(defaultUrl)) {
defaultUrl = "";
}
if (TextUtils.isEmpty(defaultUrl) && bVar != null && !TextUtils.isEmpty(bVar.c)) {
defaultUrl = bVar.c;
}
return new z7.a(a2, defaultUrl, xp.a >= 23 ? keyRequest.getRequestType() : Integer.MIN_VALUE);
}
public String a(String str) {
return this.b.getPropertyString(str);
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void a(z7.b bVar, MediaDrm mediaDrm, byte[] bArr, int i, int i2, byte[] bArr2) {
bVar.a(this, bArr, i, i2, bArr2);
}
@Override // com.applovin.impl.z7
public void a(byte[] bArr) {
this.b.provideProvisionResponse(bArr);
}
@Override // com.applovin.impl.z7
public synchronized void a() {
int i = this.c - 1;
this.c = i;
if (i == 0) {
this.b.release();
}
}
@Override // com.applovin.impl.z7
public void a(byte[] bArr, byte[] bArr2) {
this.b.restoreKeys(bArr, bArr2);
}
@Override // com.applovin.impl.z7
public void a(final z7.b bVar) {
this.b.setOnEventListener(bVar == null ? null : new MediaDrm.OnEventListener() { // from class: com.applovin.impl.m9$$ExternalSyntheticLambda1
@Override // android.media.MediaDrm.OnEventListener
public final void onEvent(MediaDrm mediaDrm, byte[] bArr, int i, int i2, byte[] bArr2) {
m9.this.a(bVar, mediaDrm, bArr, i, i2, bArr2);
}
});
}
@Override // com.applovin.impl.z7
public boolean a(byte[] bArr, String str) {
if (xp.a >= 31) {
return a.a(this.b, str);
}
try {
MediaCrypto mediaCrypto = new MediaCrypto(this.a, bArr);
try {
return mediaCrypto.requiresSecureDecoderComponent(str);
} finally {
mediaCrypto.release();
}
} catch (MediaCryptoException unused) {
return true;
}
}
private static y6.b a(UUID uuid, List list) {
if (!t2.d.equals(uuid)) {
return (y6.b) list.get(0);
}
if (xp.a >= 28 && list.size() > 1) {
y6.b bVar = (y6.b) list.get(0);
int i = 0;
for (int i2 = 0; i2 < list.size(); i2++) {
y6.b bVar2 = (y6.b) list.get(i2);
byte[] bArr = (byte[]) b1.a(bVar2.f);
if (xp.a((Object) bVar2.d, (Object) bVar.d) && xp.a((Object) bVar2.c, (Object) bVar.c) && ji.a(bArr)) {
i += bArr.length;
}
}
byte[] bArr2 = new byte[i];
int i3 = 0;
for (int i4 = 0; i4 < list.size(); i4++) {
byte[] bArr3 = (byte[]) b1.a(((y6.b) list.get(i4)).f);
int length = bArr3.length;
System.arraycopy(bArr3, 0, bArr2, i3, length);
i3 += length;
}
return bVar.a(bArr2);
}
for (int i5 = 0; i5 < list.size(); i5++) {
y6.b bVar3 = (y6.b) list.get(i5);
int d2 = ji.d((byte[]) b1.a(bVar3.f));
int i6 = xp.a;
if (i6 < 23 && d2 == 0) {
return bVar3;
}
if (i6 >= 23 && d2 == 1) {
return bVar3;
}
}
return (y6.b) list.get(0);
}
private static UUID a(UUID uuid) {
return (xp.a >= 27 || !t2.c.equals(uuid)) ? uuid : t2.b;
}
private static String a(UUID uuid, String str) {
return (xp.a < 26 && t2.c.equals(uuid) && (MimeTypes.VIDEO_MP4.equals(str) || MimeTypes.AUDIO_MP4.equals(str))) ? C.CENC_TYPE_cenc : str;
}
private static byte[] a(UUID uuid, byte[] bArr) {
return t2.c.equals(uuid) ? i3.a(bArr) : bArr;
}
}