Files
Daniel Elliott f9d20bb3fc 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>
2026-02-18 14:52:23 -08:00

270 lines
7.6 KiB
Java

package com.mbridge.msdk.foundation.tools;
import com.applovin.exoplayer2.common.base.Ascii;
import com.mbridge.msdk.playercommon.exoplayer2.extractor.ts.PsExtractor;
import java.nio.charset.StandardCharsets;
/* loaded from: classes4.dex */
public final class q {
public byte[] a;
public int b;
private char[] c;
public q(int i) {
this(new byte[i], 0);
}
public q(byte[] bArr, int i) {
this.c = null;
this.a = bArr;
this.b = i;
}
public q(byte[] bArr) {
this(bArr, 0);
}
public static int a(String str) {
int length = str.length();
int i = 0;
int i2 = 0;
while (i < length) {
int i3 = i + 1;
char charAt = str.charAt(i);
if (charAt < 128) {
i2++;
} else if (charAt < 2048) {
i2 += 2;
} else if (charAt < 55296 || charAt > 57343) {
i2 += 3;
} else {
i += 2;
i2 += 4;
}
i = i3;
}
return i2;
}
public final byte a() {
byte[] bArr = this.a;
int i = this.b;
this.b = i + 1;
return bArr[i];
}
public final long a(int i, int i2) {
long j = 0;
if (i2 <= 0) {
return 0L;
}
int i3 = i2 >> 3;
int i4 = i2 & 7;
int i5 = 0;
int i6 = i;
for (int i7 = 0; i7 < i3; i7++) {
j ^= c(i6);
i6 += 8;
}
while (i5 < (i4 << 3)) {
j ^= (this.a[i6] & 255) << i5;
i5 += 8;
i6++;
}
int i8 = (i & 7) << 3;
return (j >>> (64 - i8)) | (j << i8);
}
private long c(int i) {
byte[] bArr = this.a;
int i2 = i + 6;
return (bArr[i] & 255) | ((bArr[i + 1] & 255) << 8) | ((bArr[i + 2] & 255) << 16) | ((bArr[i + 3] & 255) << 24) | ((bArr[i + 4] & 255) << 32) | ((bArr[i + 5] & 255) << 40) | ((bArr[i2] & 255) << 48) | (bArr[i + 7] << 56);
}
public final long b() {
long c = c(this.b);
this.b += 8;
return c;
}
public final int c() {
byte[] bArr = this.a;
int i = this.b;
int i2 = ((bArr[i + 1] & 255) << 8) | (bArr[i] & 255);
int i3 = i + 3;
int i4 = i2 | ((bArr[i + 2] & 255) << 16);
this.b = i + 4;
return (bArr[i3] << Ascii.CAN) | i4;
}
public final short d() {
byte[] bArr = this.a;
int i = this.b;
int i2 = i + 1;
int i3 = bArr[i] & 255;
this.b = i + 2;
return (short) ((bArr[i2] << 8) | i3);
}
public final void a(byte b) {
byte[] bArr = this.a;
int i = this.b;
this.b = i + 1;
bArr[i] = b;
}
public final void a(byte[] bArr) {
int length = bArr.length;
if (length > 0) {
System.arraycopy(bArr, 0, this.a, this.b, length);
this.b += length;
}
}
public final void b(int i) {
byte[] bArr = this.a;
int i2 = this.b;
bArr[i2] = (byte) i;
bArr[i2 + 1] = (byte) (i >> 8);
bArr[i2 + 2] = (byte) (i >> 16);
this.b = i2 + 4;
bArr[i2 + 3] = (byte) (i >> 24);
}
public final void b(int i, int i2) {
byte[] bArr = this.a;
bArr[i] = (byte) i2;
bArr[i + 1] = (byte) (i2 >> 8);
bArr[i + 2] = (byte) (i2 >> 16);
bArr[i + 3] = (byte) (i2 >> 24);
}
public final void a(long j) {
a(this.b, j);
this.b += 8;
}
public final void a(int i, long j) {
byte[] bArr = this.a;
bArr[i] = (byte) j;
bArr[i + 1] = (byte) (j >> 8);
bArr[i + 2] = (byte) (j >> 16);
bArr[i + 3] = (byte) (j >> 24);
bArr[i + 4] = (byte) (j >> 32);
bArr[i + 5] = (byte) (j >> 40);
bArr[i + 6] = (byte) (j >> 48);
bArr[i + 7] = (byte) (j >> 56);
}
public final void a(short s) {
byte[] bArr = this.a;
int i = this.b;
bArr[i] = (byte) s;
this.b = i + 2;
bArr[i + 1] = (byte) (s >> 8);
}
public final void b(String str) {
if (str == null || str.isEmpty()) {
return;
}
byte[] bArr = this.a;
int i = this.b;
int length = str.length();
int i2 = 0;
while (i2 < length) {
int i3 = i2 + 1;
char charAt = str.charAt(i2);
if (charAt < 128) {
bArr[i] = (byte) charAt;
i++;
} else if (charAt < 2048) {
int i4 = i + 1;
bArr[i] = (byte) ((charAt >>> 6) | PsExtractor.AUDIO_STREAM);
i += 2;
bArr[i4] = (byte) ((charAt & '?') | 128);
} else if (charAt < 55296 || charAt > 57343) {
bArr[i] = (byte) ((charAt >>> '\f') | 224);
int i5 = i + 2;
bArr[i + 1] = (byte) (((charAt >>> 6) & 63) | 128);
i += 3;
bArr[i5] = (byte) ((charAt & '?') | 128);
} else {
i2 += 2;
int charAt2 = ((charAt << '\n') + str.charAt(i3)) - 56613888;
bArr[i] = (byte) ((charAt2 >>> 18) | PsExtractor.VIDEO_STREAM_MASK);
bArr[i + 1] = (byte) (((charAt2 >>> 12) & 63) | 128);
int i6 = i + 3;
bArr[i + 2] = (byte) (((charAt2 >>> 6) & 63) | 128);
i += 4;
bArr[i6] = (byte) ((charAt2 & 63) | 128);
}
i2 = i3;
}
this.b = i;
}
public final String a(int i) {
String str;
if (i < 0) {
return null;
}
if (i == 0) {
return "";
}
if (i > 2048) {
str = new String(this.a, this.b, i, StandardCharsets.UTF_8);
} else {
char[] cArr = this.c;
if (cArr == null) {
if (i <= 256) {
this.c = new char[256];
} else {
this.c = new char[2048];
}
} else if (cArr.length < i) {
this.c = new char[2048];
}
char[] cArr2 = this.c;
byte[] bArr = this.a;
int i2 = this.b;
int i3 = i2 + i;
int i4 = 0;
while (i2 < i3) {
int i5 = i2 + 1;
byte b = bArr[i2];
if (b > 0) {
cArr2[i4] = (char) b;
i4++;
i2 = i5;
} else if (b < -32) {
i2 += 2;
cArr2[i4] = (char) ((bArr[i5] & 63) | ((b & Ascii.US) << 6));
i4++;
} else if (b < -16) {
int i6 = i2 + 2;
i2 += 3;
cArr2[i4] = (char) (((bArr[i5] & 63) << 6) | ((b & Ascii.SI) << 12) | (bArr[i6] & 63));
i4++;
} else {
byte b2 = bArr[i5];
int i7 = i2 + 3;
byte b3 = bArr[i2 + 2];
i2 += 4;
int i8 = ((b2 & 63) << 12) | ((b & 7) << 18) | ((b3 & 63) << 6) | (bArr[i7] & 63);
int i9 = i4 + 1;
cArr2[i4] = (char) ((i8 >>> 10) + 55232);
i4 += 2;
cArr2[i9] = (char) ((i8 & 1023) + 56320);
}
}
if (i2 > i3) {
throw new IllegalArgumentException("Invalid String");
}
str = new String(cArr2, 0, i4);
}
this.b += i;
return str;
}
}