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 a(Class 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)))); } }