- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
270 lines
7.6 KiB
Java
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;
|
|
}
|
|
}
|