Files
rr3-apk/decompiled/sources/com/google/android/gms/internal/measurement/zzmh.java
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

460 lines
15 KiB
Java

package com.google.android.gms.internal.measurement;
import com.facebook.appevents.integrity.IntegrityManager;
import java.lang.reflect.Field;
import java.nio.Buffer;
import java.security.AccessController;
import java.util.logging.Level;
import java.util.logging.Logger;
import sun.misc.Unsafe;
/* loaded from: classes3.dex */
final class zzmh {
static final boolean zza;
private static final Unsafe zzb;
private static final Class<?> zzc;
private static final boolean zzd;
private static final boolean zze;
private static final zzc zzf;
private static final boolean zzg;
private static final boolean zzh;
private static final long zzi;
public static final class zza extends zzc {
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final double zza(Object obj, long j) {
return Double.longBitsToDouble(zze(obj, j));
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final float zzb(Object obj, long j) {
return Float.intBitsToFloat(zzd(obj, j));
}
public zza(Unsafe unsafe) {
super(unsafe);
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, boolean z) {
if (zzmh.zza) {
zzmh.zza(obj, j, z);
} else {
zzmh.zzb(obj, j, z);
}
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, byte b) {
if (zzmh.zza) {
zzmh.zzc(obj, j, b);
} else {
zzmh.zzd(obj, j, b);
}
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, double d) {
zza(obj, j, Double.doubleToLongBits(d));
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, float f) {
zza(obj, j, Float.floatToIntBits(f));
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final boolean zzc(Object obj, long j) {
if (zzmh.zza) {
return zzmh.zzf(obj, j);
}
return zzmh.zzg(obj, j);
}
}
public static final class zzb extends zzc {
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final double zza(Object obj, long j) {
return Double.longBitsToDouble(zze(obj, j));
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final float zzb(Object obj, long j) {
return Float.intBitsToFloat(zzd(obj, j));
}
public zzb(Unsafe unsafe) {
super(unsafe);
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, boolean z) {
if (zzmh.zza) {
zzmh.zza(obj, j, z);
} else {
zzmh.zzb(obj, j, z);
}
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, byte b) {
if (zzmh.zza) {
zzmh.zzc(obj, j, b);
} else {
zzmh.zzd(obj, j, b);
}
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, double d) {
zza(obj, j, Double.doubleToLongBits(d));
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final void zza(Object obj, long j, float f) {
zza(obj, j, Float.floatToIntBits(f));
}
@Override // com.google.android.gms.internal.measurement.zzmh.zzc
public final boolean zzc(Object obj, long j) {
if (zzmh.zza) {
return zzmh.zzf(obj, j);
}
return zzmh.zzg(obj, j);
}
}
public static abstract class zzc {
Unsafe zza;
public abstract double zza(Object obj, long j);
public abstract void zza(Object obj, long j, byte b);
public abstract void zza(Object obj, long j, double d);
public abstract void zza(Object obj, long j, float f);
public abstract void zza(Object obj, long j, boolean z);
public abstract float zzb(Object obj, long j);
public abstract boolean zzc(Object obj, long j);
public final int zzd(Object obj, long j) {
return this.zza.getInt(obj, j);
}
public final long zze(Object obj, long j) {
return this.zza.getLong(obj, j);
}
public zzc(Unsafe unsafe) {
this.zza = unsafe;
}
public final void zza(Object obj, long j, int i) {
this.zza.putInt(obj, j, i);
}
public final void zza(Object obj, long j, long j2) {
this.zza.putLong(obj, j, j2);
}
public final boolean zza() {
Unsafe unsafe = this.zza;
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);
Class<?> cls2 = Long.TYPE;
cls.getMethod("getInt", Object.class, cls2);
cls.getMethod("putInt", Object.class, cls2, Integer.TYPE);
cls.getMethod("getLong", Object.class, cls2);
cls.getMethod("putLong", Object.class, cls2, cls2);
cls.getMethod("getObject", Object.class, cls2);
cls.getMethod("putObject", Object.class, cls2, Object.class);
return true;
} catch (Throwable th) {
zzmh.zza(th);
return false;
}
}
public final boolean zzb() {
Unsafe unsafe = this.zza;
if (unsafe == null) {
return false;
}
try {
Class<?> cls = unsafe.getClass();
cls.getMethod("objectFieldOffset", Field.class);
cls.getMethod("getLong", Object.class, Long.TYPE);
return zzmh.zze() != null;
} catch (Throwable th) {
zzmh.zza(th);
return false;
}
}
}
private zzmh() {
}
public static double zza(Object obj, long j) {
return zzf.zza(obj, j);
}
public static boolean zzc() {
return zzh;
}
public static boolean zzd() {
return zzg;
}
public static float zzb(Object obj, long j) {
return zzf.zzb(obj, j);
}
private static int zzb(Class<?> cls) {
if (zzh) {
return zzf.zza.arrayBaseOffset(cls);
}
return -1;
}
private static int zzc(Class<?> cls) {
if (zzh) {
return zzf.zza.arrayIndexScale(cls);
}
return -1;
}
public static int zzc(Object obj, long j) {
return zzf.zzd(obj, j);
}
public static long zzd(Object obj, long j) {
return zzf.zze(obj, j);
}
public static <T> T zza(Class<T> cls) {
try {
return (T) zzb.allocateInstance(cls);
} catch (InstantiationException e) {
throw new IllegalStateException(e);
}
}
public static Object zze(Object obj, long j) {
return zzf.zza.getObject(obj, j);
}
/* JADX INFO: Access modifiers changed from: private */
public static Field zze() {
Field zza2 = zza((Class<?>) Buffer.class, "effectiveDirectAddress");
if (zza2 != null) {
return zza2;
}
Field zza3 = zza((Class<?>) Buffer.class, IntegrityManager.INTEGRITY_TYPE_ADDRESS);
if (zza3 == null || zza3.getType() != Long.TYPE) {
return null;
}
return zza3;
}
private static Field zza(Class<?> cls, String str) {
try {
return cls.getDeclaredField(str);
} catch (Throwable unused) {
return null;
}
}
public static Unsafe zzb() {
try {
return (Unsafe) AccessController.doPrivileged(new zzmg());
} catch (Throwable unused) {
return null;
}
}
public static /* synthetic */ void zza(Throwable th) {
Logger.getLogger(zzmh.class.getName()).logp(Level.WARNING, "com.google.protobuf.UnsafeUtil", "logMissingMethod", "platform method missing - proto runtime falling back to safer methods: " + String.valueOf(th));
}
public static /* synthetic */ void zza(Object obj, long j, boolean z) {
zzc(obj, j, z ? (byte) 1 : (byte) 0);
}
public static /* synthetic */ void zzb(Object obj, long j, boolean z) {
zzd(obj, j, z ? (byte) 1 : (byte) 0);
}
/* JADX WARN: Removed duplicated region for block: B:10:0x003e */
/* JADX WARN: Removed duplicated region for block: B:17:0x0095 */
/* JADX WARN: Removed duplicated region for block: B:21:0x0040 */
/* JADX WARN: Removed duplicated region for block: B:22:0x0036 */
/* JADX WARN: Removed duplicated region for block: B:7:0x0034 */
static {
/*
sun.misc.Unsafe r0 = zzb()
com.google.android.gms.internal.measurement.zzmh.zzb = r0
java.lang.Class r1 = com.google.android.gms.internal.measurement.zzhu.zza()
com.google.android.gms.internal.measurement.zzmh.zzc = r1
java.lang.Class r1 = java.lang.Long.TYPE
boolean r1 = zzd(r1)
com.google.android.gms.internal.measurement.zzmh.zzd = r1
java.lang.Class r2 = java.lang.Integer.TYPE
boolean r2 = zzd(r2)
com.google.android.gms.internal.measurement.zzmh.zze = r2
if (r0 == 0) goto L2e
if (r1 == 0) goto L26
com.google.android.gms.internal.measurement.zzmh$zza r1 = new com.google.android.gms.internal.measurement.zzmh$zza
r1.<init>(r0)
goto L2f
L26:
if (r2 == 0) goto L2e
com.google.android.gms.internal.measurement.zzmh$zzb r1 = new com.google.android.gms.internal.measurement.zzmh$zzb
r1.<init>(r0)
goto L2f
L2e:
r1 = 0
L2f:
com.google.android.gms.internal.measurement.zzmh.zzf = r1
r0 = 0
if (r1 != 0) goto L36
r2 = r0
goto L3a
L36:
boolean r2 = r1.zzb()
L3a:
com.google.android.gms.internal.measurement.zzmh.zzg = r2
if (r1 != 0) goto L40
r2 = r0
goto L44
L40:
boolean r2 = r1.zza()
L44:
com.google.android.gms.internal.measurement.zzmh.zzh = r2
java.lang.Class<byte[]> r2 = byte[].class
int r2 = zzb(r2)
long r2 = (long) r2
com.google.android.gms.internal.measurement.zzmh.zzi = r2
java.lang.Class<boolean[]> r2 = boolean[].class
zzb(r2)
zzc(r2)
java.lang.Class<int[]> r2 = int[].class
zzb(r2)
zzc(r2)
java.lang.Class<long[]> r2 = long[].class
zzb(r2)
zzc(r2)
java.lang.Class<float[]> r2 = float[].class
zzb(r2)
zzc(r2)
java.lang.Class<double[]> r2 = double[].class
zzb(r2)
zzc(r2)
java.lang.Class<java.lang.Object[]> r2 = java.lang.Object[].class
zzb(r2)
zzc(r2)
java.lang.reflect.Field r2 = zze()
if (r2 == 0) goto L8d
if (r1 != 0) goto L88
goto L8d
L88:
sun.misc.Unsafe r1 = r1.zza
r1.objectFieldOffset(r2)
L8d:
java.nio.ByteOrder r1 = java.nio.ByteOrder.nativeOrder()
java.nio.ByteOrder r2 = java.nio.ByteOrder.BIG_ENDIAN
if (r1 != r2) goto L96
r0 = 1
L96:
com.google.android.gms.internal.measurement.zzmh.zza = r0
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.internal.measurement.zzmh.<clinit>():void");
}
public static void zzc(Object obj, long j, boolean z) {
zzf.zza(obj, j, z);
}
public static void zza(byte[] bArr, long j, byte b) {
zzf.zza((Object) bArr, zzi + j, b);
}
/* JADX INFO: Access modifiers changed from: private */
public static void zzc(Object obj, long j, byte b) {
long j2 = (-4) & j;
int zzc2 = zzc(obj, j2);
int i = ((~((int) j)) & 3) << 3;
zza(obj, j2, ((255 & b) << i) | (zzc2 & (~(255 << i))));
}
/* JADX INFO: Access modifiers changed from: private */
public static void zzd(Object obj, long j, byte b) {
long j2 = (-4) & j;
int i = (((int) j) & 3) << 3;
zza(obj, j2, ((255 & b) << i) | (zzc(obj, j2) & (~(255 << i))));
}
public static void zza(Object obj, long j, double d) {
zzf.zza(obj, j, d);
}
public static void zza(Object obj, long j, float f) {
zzf.zza(obj, j, f);
}
public static void zza(Object obj, long j, int i) {
zzf.zza(obj, j, i);
}
public static void zza(Object obj, long j, long j2) {
zzf.zza(obj, j, j2);
}
public static void zza(Object obj, long j, Object obj2) {
zzf.zza.putObject(obj, j, obj2);
}
public static /* synthetic */ boolean zzf(Object obj, long j) {
return ((byte) (zzc(obj, (-4) & j) >>> ((int) (((~j) & 3) << 3)))) != 0;
}
public static /* synthetic */ boolean zzg(Object obj, long j) {
return ((byte) (zzc(obj, (-4) & j) >>> ((int) ((j & 3) << 3)))) != 0;
}
private static boolean zzd(Class<?> cls) {
try {
Class<?> cls2 = zzc;
Class<?> cls3 = Boolean.TYPE;
cls2.getMethod("peekLong", cls, cls3);
cls2.getMethod("pokeLong", cls, Long.TYPE, cls3);
Class<?> cls4 = Integer.TYPE;
cls2.getMethod("pokeInt", cls, cls4, cls3);
cls2.getMethod("peekInt", cls, cls3);
cls2.getMethod("pokeByte", cls, Byte.TYPE);
cls2.getMethod("peekByte", cls);
cls2.getMethod("pokeByteArray", cls, byte[].class, cls4, cls4);
cls2.getMethod("peekByteArray", cls, byte[].class, cls4, cls4);
return true;
} catch (Throwable unused) {
return false;
}
}
public static boolean zzh(Object obj, long j) {
return zzf.zzc(obj, j);
}
}