jimu-decompiled/sources/com/google/android/gms/internal/measurement/zzxj.java
2025-05-13 19:24:51 +02:00

560 lines
18 KiB
Java

package com.google.android.gms.internal.measurement;
import java.lang.reflect.Field;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.security.AccessController;
import java.util.logging.Level;
import java.util.logging.Logger;
import libcore.io.Memory;
import sun.misc.Unsafe;
/* loaded from: classes.dex */
final class zzxj {
private static final Logger a = Logger.getLogger(zzxj.class.getName());
private static final Unsafe b = d();
private static final Class<?> c = zztb.b();
private static final boolean d = d(Long.TYPE);
private static final boolean e = d(Integer.TYPE);
private static final zzd f;
private static final boolean g;
private static final boolean h;
private static final long i;
private static final long j;
private static final boolean k;
static final class zza extends zzd {
zza(Unsafe unsafe) {
super(unsafe);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(long j, byte b) {
Memory.pokeByte((int) (j & (-1)), b);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final boolean c(Object obj, long j) {
return zzxj.k ? zzxj.i(obj, j) : zzxj.j(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final float d(Object obj, long j) {
return Float.intBitsToFloat(a(obj, j));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final double e(Object obj, long j) {
return Double.longBitsToDouble(b(obj, j));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final byte f(Object obj, long j) {
return zzxj.k ? zzxj.g(obj, j) : zzxj.h(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, byte b) {
if (zzxj.k) {
zzxj.a(obj, j, b);
} else {
zzxj.b(obj, j, b);
}
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, boolean z) {
if (zzxj.k) {
zzxj.b(obj, j, z);
} else {
zzxj.c(obj, j, z);
}
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, float f) {
a(obj, j, Float.floatToIntBits(f));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, double d) {
a(obj, j, Double.doubleToLongBits(d));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(byte[] bArr, long j, long j2, long j3) {
Memory.pokeByteArray((int) (j2 & (-1)), bArr, (int) j, (int) j3);
}
}
static final class zzb extends zzd {
zzb(Unsafe unsafe) {
super(unsafe);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(long j, byte b) {
Memory.pokeByte(j, b);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final boolean c(Object obj, long j) {
return zzxj.k ? zzxj.i(obj, j) : zzxj.j(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final float d(Object obj, long j) {
return Float.intBitsToFloat(a(obj, j));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final double e(Object obj, long j) {
return Double.longBitsToDouble(b(obj, j));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final byte f(Object obj, long j) {
return zzxj.k ? zzxj.g(obj, j) : zzxj.h(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, byte b) {
if (zzxj.k) {
zzxj.a(obj, j, b);
} else {
zzxj.b(obj, j, b);
}
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, boolean z) {
if (zzxj.k) {
zzxj.b(obj, j, z);
} else {
zzxj.c(obj, j, z);
}
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, float f) {
a(obj, j, Float.floatToIntBits(f));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, double d) {
a(obj, j, Double.doubleToLongBits(d));
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(byte[] bArr, long j, long j2, long j3) {
Memory.pokeByteArray(j2, bArr, (int) j, (int) j3);
}
}
static final class zzc extends zzd {
zzc(Unsafe unsafe) {
super(unsafe);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(long j, byte b) {
this.a.putByte(j, b);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final boolean c(Object obj, long j) {
return this.a.getBoolean(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final float d(Object obj, long j) {
return this.a.getFloat(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final double e(Object obj, long j) {
return this.a.getDouble(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final byte f(Object obj, long j) {
return this.a.getByte(obj, j);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, byte b) {
this.a.putByte(obj, j, b);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, boolean z) {
this.a.putBoolean(obj, j, z);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, float f) {
this.a.putFloat(obj, j, f);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(Object obj, long j, double d) {
this.a.putDouble(obj, j, d);
}
@Override // com.google.android.gms.internal.measurement.zzxj.zzd
public final void a(byte[] bArr, long j, long j2, long j3) {
this.a.copyMemory(bArr, zzxj.i + j, (Object) null, j2, j3);
}
}
static abstract class zzd {
Unsafe a;
zzd(Unsafe unsafe) {
this.a = unsafe;
}
public final int a(Object obj, long j) {
return this.a.getInt(obj, j);
}
public abstract void a(long j, byte b);
public abstract void a(Object obj, long j, byte b);
public abstract void a(Object obj, long j, double d);
public abstract void a(Object obj, long j, float f);
public abstract void a(Object obj, long j, boolean z);
public abstract void a(byte[] bArr, long j, long j2, long j3);
public final long b(Object obj, long j) {
return this.a.getLong(obj, j);
}
public abstract boolean c(Object obj, long j);
public abstract float d(Object obj, long j);
public abstract double e(Object obj, long j);
public abstract byte f(Object obj, long j);
public final void a(Object obj, long j, int i) {
this.a.putInt(obj, j, i);
}
public final void a(Object obj, long j, long j2) {
this.a.putLong(obj, j, j2);
}
}
static {
zzd zzdVar;
zzd zzdVar2 = null;
if (b != null) {
if (!zztb.a()) {
zzdVar2 = new zzc(b);
} else if (d) {
zzdVar2 = new zzb(b);
} else if (e) {
zzdVar2 = new zza(b);
}
}
f = zzdVar2;
g = f();
h = e();
i = b(byte[].class);
b(boolean[].class);
c(boolean[].class);
b(int[].class);
c(int[].class);
b(long[].class);
c(long[].class);
b(float[].class);
c(float[].class);
b(double[].class);
c(double[].class);
b(Object[].class);
c(Object[].class);
Field g2 = g();
j = (g2 == null || (zzdVar = f) == null) ? -1L : zzdVar.a.objectFieldOffset(g2);
k = ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN;
}
private zzxj() {
}
static <T> T a(Class<T> cls) {
try {
return (T) b.allocateInstance(cls);
} catch (InstantiationException e2) {
throw new IllegalStateException(e2);
}
}
static boolean b() {
return h;
}
static boolean c() {
return g;
}
static float d(Object obj, long j2) {
return f.d(obj, j2);
}
static double e(Object obj, long j2) {
return f.e(obj, j2);
}
static Object f(Object obj, long j2) {
return f.a.getObject(obj, j2);
}
private static Field g() {
Field a2;
if (zztb.a() && (a2 = a((Class<?>) Buffer.class, "effectiveDirectAddress")) != null) {
return a2;
}
Field a3 = a((Class<?>) Buffer.class, "address");
if (a3 == null || a3.getType() != Long.TYPE) {
return null;
}
return a3;
}
/* JADX INFO: Access modifiers changed from: private */
public static byte h(Object obj, long j2) {
return (byte) (a(obj, (-4) & j2) >>> ((int) ((j2 & 3) << 3)));
}
/* JADX INFO: Access modifiers changed from: private */
public static boolean i(Object obj, long j2) {
return g(obj, j2) != 0;
}
/* JADX INFO: Access modifiers changed from: private */
public static boolean j(Object obj, long j2) {
return h(obj, j2) != 0;
}
private static int b(Class<?> cls) {
if (h) {
return f.a.arrayBaseOffset(cls);
}
return -1;
}
private static int c(Class<?> cls) {
if (h) {
return f.a.arrayIndexScale(cls);
}
return -1;
}
static Unsafe d() {
try {
return (Unsafe) AccessController.doPrivileged(new zzxk());
} catch (Throwable unused) {
return null;
}
}
private static boolean e() {
Unsafe unsafe = b;
if (unsafe == null) {
return false;
}
try {
Class<?> cls = unsafe.getClass();
cls.getMethod("objectFieldOffset", Field.class);
cls.getMethod("arrayBaseOffset", Class.class);
cls.getMethod("arrayIndexScale", Class.class);
cls.getMethod("getInt", Object.class, Long.TYPE);
cls.getMethod("putInt", Object.class, Long.TYPE, Integer.TYPE);
cls.getMethod("getLong", Object.class, Long.TYPE);
cls.getMethod("putLong", Object.class, Long.TYPE, Long.TYPE);
cls.getMethod("getObject", Object.class, Long.TYPE);
cls.getMethod("putObject", Object.class, Long.TYPE, Object.class);
if (zztb.a()) {
return true;
}
cls.getMethod("getByte", Object.class, Long.TYPE);
cls.getMethod("putByte", Object.class, Long.TYPE, Byte.TYPE);
cls.getMethod("getBoolean", Object.class, Long.TYPE);
cls.getMethod("putBoolean", Object.class, Long.TYPE, Boolean.TYPE);
cls.getMethod("getFloat", Object.class, Long.TYPE);
cls.getMethod("putFloat", Object.class, Long.TYPE, Float.TYPE);
cls.getMethod("getDouble", Object.class, Long.TYPE);
cls.getMethod("putDouble", Object.class, Long.TYPE, Double.TYPE);
return true;
} catch (Throwable th) {
Logger logger = a;
Level level = Level.WARNING;
String valueOf = String.valueOf(th);
StringBuilder sb = new StringBuilder(String.valueOf(valueOf).length() + 71);
sb.append("platform method missing - proto runtime falling back to safer methods: ");
sb.append(valueOf);
logger.logp(level, "com.google.protobuf.UnsafeUtil", "supportsUnsafeArrayOperations", sb.toString());
return false;
}
}
static int a(Object obj, long j2) {
return f.a(obj, j2);
}
private static boolean f() {
Unsafe unsafe = b;
if (unsafe == null) {
return false;
}
try {
Class<?> cls = unsafe.getClass();
cls.getMethod("objectFieldOffset", Field.class);
cls.getMethod("getLong", Object.class, Long.TYPE);
if (g() == null) {
return false;
}
if (zztb.a()) {
return true;
}
cls.getMethod("getByte", Long.TYPE);
cls.getMethod("putByte", Long.TYPE, Byte.TYPE);
cls.getMethod("getInt", Long.TYPE);
cls.getMethod("putInt", Long.TYPE, Integer.TYPE);
cls.getMethod("getLong", Long.TYPE);
cls.getMethod("putLong", Long.TYPE, Long.TYPE);
cls.getMethod("copyMemory", Long.TYPE, Long.TYPE, Long.TYPE);
cls.getMethod("copyMemory", Object.class, Long.TYPE, Object.class, Long.TYPE, Long.TYPE);
return true;
} catch (Throwable th) {
Logger logger = a;
Level level = Level.WARNING;
String valueOf = String.valueOf(th);
StringBuilder sb = new StringBuilder(String.valueOf(valueOf).length() + 71);
sb.append("platform method missing - proto runtime falling back to safer methods: ");
sb.append(valueOf);
logger.logp(level, "com.google.protobuf.UnsafeUtil", "supportsUnsafeByteBufferOperations", sb.toString());
return false;
}
}
static void a(Object obj, long j2, int i2) {
f.a(obj, j2, i2);
}
static long b(Object obj, long j2) {
return f.b(obj, j2);
}
static boolean c(Object obj, long j2) {
return f.c(obj, j2);
}
private static boolean d(Class<?> cls) {
if (!zztb.a()) {
return false;
}
try {
Class<?> cls2 = c;
cls2.getMethod("peekLong", cls, Boolean.TYPE);
cls2.getMethod("pokeLong", cls, Long.TYPE, Boolean.TYPE);
cls2.getMethod("pokeInt", cls, Integer.TYPE, Boolean.TYPE);
cls2.getMethod("peekInt", cls, Boolean.TYPE);
cls2.getMethod("pokeByte", cls, Byte.TYPE);
cls2.getMethod("peekByte", cls);
cls2.getMethod("pokeByteArray", cls, byte[].class, Integer.TYPE, Integer.TYPE);
cls2.getMethod("peekByteArray", cls, byte[].class, Integer.TYPE, Integer.TYPE);
return true;
} catch (Throwable unused) {
return false;
}
}
static void a(Object obj, long j2, long j3) {
f.a(obj, j2, j3);
}
/* JADX INFO: Access modifiers changed from: private */
public static void b(Object obj, long j2, byte b2) {
long j3 = (-4) & j2;
int i2 = (((int) j2) & 3) << 3;
a(obj, j3, ((255 & b2) << i2) | (a(obj, j3) & (~(255 << i2))));
}
/* JADX INFO: Access modifiers changed from: private */
public static void c(Object obj, long j2, boolean z) {
b(obj, j2, z ? (byte) 1 : (byte) 0);
}
/* JADX INFO: Access modifiers changed from: private */
public static byte g(Object obj, long j2) {
return (byte) (a(obj, (-4) & j2) >>> ((int) (((~j2) & 3) << 3)));
}
static void a(Object obj, long j2, boolean z) {
f.a(obj, j2, z);
}
static void a(Object obj, long j2, float f2) {
f.a(obj, j2, f2);
}
/* JADX INFO: Access modifiers changed from: private */
public static void b(Object obj, long j2, boolean z) {
a(obj, j2, z ? (byte) 1 : (byte) 0);
}
static void a(Object obj, long j2, double d2) {
f.a(obj, j2, d2);
}
static void a(Object obj, long j2, Object obj2) {
f.a.putObject(obj, j2, obj2);
}
static byte a(byte[] bArr, long j2) {
return f.f(bArr, i + j2);
}
static void a(byte[] bArr, long j2, byte b2) {
f.a((Object) bArr, i + j2, b2);
}
static void a(byte[] bArr, long j2, long j3, long j4) {
f.a(bArr, j2, j3, j4);
}
static void a(long j2, byte b2) {
f.a(j2, b2);
}
static long a(ByteBuffer byteBuffer) {
return f.b(byteBuffer, j);
}
private static Field a(Class<?> cls, String str) {
try {
Field declaredField = cls.getDeclaredField(str);
declaredField.setAccessible(true);
return declaredField;
} catch (Throwable unused) {
return null;
}
}
/* JADX INFO: Access modifiers changed from: private */
public static void a(Object obj, long j2, byte b2) {
long j3 = (-4) & j2;
int a2 = a(obj, j3);
int i2 = ((~((int) j2)) & 3) << 3;
a(obj, j3, ((255 & b2) << i2) | (a2 & (~(255 << i2))));
}
}