zzabm.smali
.class final Lcom/google/android/gms/internal/measurement/zzabm;
.super Ljava/lang/Object;
# static fields
.field private static final logger:Ljava/util/logging/Logger;
.field private static final zzbqv:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.end field
.field private static final zzbtj:Lsun/misc/Unsafe;
.field private static final zzbun:Z
.field private static final zzbuo:Z
.field private static final zzbup:Lcom/google/android/gms/internal/measurement/zzabm$zzd;
.field private static final zzbuq:Z
.field private static final zzbur:Z
.field private static final zzbus:J
.field private static final zzbut:J
.field private static final zzbuu:J
.field private static final zzbuv:J
.field private static final zzbuw:J
.field private static final zzbux:J
.field private static final zzbuy:J
.field private static final zzbuz:J
.field private static final zzbva:J
.field private static final zzbvb:J
.field private static final zzbvc:J
.field private static final zzbvd:J
.field private static final zzbve:J
.field private static final zzbvf:J
.field private static final zzbvg:J
.field private static final zzbvh:Z
# direct methods
.method static constructor <clinit>()V
.registers 4
const/4 v1, 0x0
const-class v0, Lcom/google/android/gms/internal/measurement/zzabm;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->logger:Ljava/util/logging/Logger;
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzabm;->zzur()Lsun/misc/Unsafe;
move-result-object v0
sput-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzyv;->zzsw()Ljava/lang/Class;
move-result-object v0
sput-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbqv:Ljava/lang/Class;
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzk(Ljava/lang/Class;)Z
move-result v0
sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbun:Z
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzk(Ljava/lang/Class;)Z
move-result v0
sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuo:Z
sget-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
if-nez v0, :cond_e0
move-object v0, v1
:goto_2e
sput-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbup:Lcom/google/android/gms/internal/measurement/zzabm$zzd;
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzabm;->zzut()Z
move-result v0
sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuq:Z
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzabm;->zzus()Z
move-result v0
sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbur:Z
const-class v0, [B
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbus:J
const-class v0, [Z
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbut:J
const-class v0, [Z
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzj(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuu:J
const-class v0, [I
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuv:J
const-class v0, [I
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzj(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuw:J
const-class v0, [J
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbux:J
const-class v0, [J
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzj(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuy:J
const-class v0, [F
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuz:J
const-class v0, [F
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzj(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbva:J
const-class v0, [D
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbvb:J
const-class v0, [D
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzj(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbvc:J
const-class v0, [Ljava/lang/Object;
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzi(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbvd:J
const-class v0, [Ljava/lang/Object;
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zzj(Ljava/lang/Class;)I
move-result v0
int-to-long v2, v0
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbve:J
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzabm;->zzuu()Ljava/lang/reflect/Field;
move-result-object v0
invoke-static {v0}, Lcom/google/android/gms/internal/measurement/zzabm;->zza(Ljava/lang/reflect/Field;)J
move-result-wide v2
sput-wide v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbvf:J
const-class v0, Ljava/lang/String;
const-string v2, "value"
invoke-static {v0, v2}, Lcom/google/android/gms/internal/measurement/zzabm;->zza(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
if-eqz v0, :cond_ce
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v2
const-class v3, [C
if-ne v2, v3, :cond_ce
move-object v1, v0
:cond_ce
invoke-static {v1}, Lcom/google/android/gms/internal/measurement/zzabm;->zza(Ljava/lang/reflect/Field;)J
move-result-wide v0
sput-wide v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbvg:J
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v0
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v0, v1, :cond_10c
const/4 v0, 0x1
:goto_dd
sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbvh:Z
return-void
:cond_e0
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzyv;->zzsv()Z
move-result v0
if-eqz v0, :cond_103
sget-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbun:Z
if-eqz v0, :cond_f3
new-instance v0, Lcom/google/android/gms/internal/measurement/zzabm$zzb;
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
invoke-direct {v0, v2}, Lcom/google/android/gms/internal/measurement/zzabm$zzb;-><init>(Lsun/misc/Unsafe;)V
goto/16 :goto_2e
:cond_f3
sget-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbuo:Z
if-eqz v0, :cond_100
new-instance v0, Lcom/google/android/gms/internal/measurement/zzabm$zza;
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
invoke-direct {v0, v2}, Lcom/google/android/gms/internal/measurement/zzabm$zza;-><init>(Lsun/misc/Unsafe;)V
goto/16 :goto_2e
:cond_100
move-object v0, v1
goto/16 :goto_2e
:cond_103
new-instance v0, Lcom/google/android/gms/internal/measurement/zzabm$zzc;
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
invoke-direct {v0, v2}, Lcom/google/android/gms/internal/measurement/zzabm$zzc;-><init>(Lsun/misc/Unsafe;)V
goto/16 :goto_2e
:cond_10c
const/4 v0, 0x0
goto :goto_dd
.end method
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static zza(Ljava/lang/reflect/Field;)J
.registers 3
if-eqz p0, :cond_6
sget-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbup:Lcom/google/android/gms/internal/measurement/zzabm$zzd;
if-nez v0, :cond_9
:cond_6
const-wide/16 v0, -0x1
:goto_8
return-wide v0
:cond_9
sget-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbup:Lcom/google/android/gms/internal/measurement/zzabm$zzd;
iget-object v0, v0, Lcom/google/android/gms/internal/measurement/zzabm$zzd;->zzbvi:Lsun/misc/Unsafe;
invoke-virtual {v0, p0}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v0
goto :goto_8
.end method
.method private static zza(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/String;",
")",
"Ljava/lang/reflect/Field;"
}
.end annotation
:try_start_0
invoke-virtual {p0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_8} :catch_9
:goto_8
return-object v0
:catch_9
move-exception v0
const/4 v0, 0x0
goto :goto_8
.end method
.method private static zzi(Ljava/lang/Class;)I
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)I"
}
.end annotation
sget-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbur:Z
if-eqz v0, :cond_d
sget-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbup:Lcom/google/android/gms/internal/measurement/zzabm$zzd;
iget-object v0, v0, Lcom/google/android/gms/internal/measurement/zzabm$zzd;->zzbvi:Lsun/misc/Unsafe;
invoke-virtual {v0, p0}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v0
:goto_c
return v0
:cond_d
const/4 v0, -0x1
goto :goto_c
.end method
.method private static zzj(Ljava/lang/Class;)I
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)I"
}
.end annotation
sget-boolean v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbur:Z
if-eqz v0, :cond_d
sget-object v0, Lcom/google/android/gms/internal/measurement/zzabm;->zzbup:Lcom/google/android/gms/internal/measurement/zzabm$zzd;
iget-object v0, v0, Lcom/google/android/gms/internal/measurement/zzabm$zzd;->zzbvi:Lsun/misc/Unsafe;
invoke-virtual {v0, p0}, Lsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I
move-result v0
:goto_c
return v0
:cond_d
const/4 v0, -0x1
goto :goto_c
.end method
.method private static zzk(Ljava/lang/Class;)Z
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
const/4 v1, 0x1
const/4 v0, 0x0
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzyv;->zzsv()Z
move-result v2
if-nez v2, :cond_9
:goto_8
return v0
:cond_9
:try_start_9
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbqv:Ljava/lang/Class;
const-string v3, "peekLong"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "pokeLong"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "pokeInt"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "peekInt"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "pokeByte"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "peekByte"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "pokeByteArray"
const/4 v4, 0x4
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
const-class v6, [B
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x3
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "peekByteArray"
const/4 v4, 0x4
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
aput-object p0, v4, v5
const/4 v5, 0x1
const-class v6, [B
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x3
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
:try_end_a4
.catch Ljava/lang/Throwable; {:try_start_9 .. :try_end_a4} :catch_a7
move v0, v1
goto/16 :goto_8
:catch_a7
move-exception v1
goto/16 :goto_8
.end method
.method static zzur()Lsun/misc/Unsafe;
.registers 2
const/4 v1, 0x0
:try_start_1
new-instance v0, Lcom/google/android/gms/internal/measurement/zzabn;
invoke-direct {v0}, Lcom/google/android/gms/internal/measurement/zzabn;-><init>()V
invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lsun/misc/Unsafe;
:try_end_c
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_c} :catch_d
:goto_c
return-object v0
:catch_d
move-exception v0
move-object v0, v1
goto :goto_c
.end method
.method private static zzus()Z
.registers 8
const/4 v1, 0x1
const/4 v0, 0x0
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
if-nez v2, :cond_7
:goto_6
return v0
:cond_7
:try_start_7
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "objectFieldOffset"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/reflect/Field;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "arrayBaseOffset"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "arrayIndexScale"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getInt"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putInt"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getLong"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putLong"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getObject"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putObject"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzyv;->zzsv()Z
move-result v3
if-eqz v3, :cond_b8
move v0, v1
goto/16 :goto_6
:cond_b8
const-string v3, "getByte"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putByte"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getBoolean"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putBoolean"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getFloat"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putFloat"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getDouble"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putDouble"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
:try_end_15c
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_15c} :catch_15f
move v0, v1
goto/16 :goto_6
:catch_15f
move-exception v1
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->logger:Ljava/util/logging/Logger;
sget-object v3, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v4, "com.google.protobuf.UnsafeUtil"
const-string v5, "supportsUnsafeArrayOperations"
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/String;->length()I
move-result v6
add-int/lit8 v6, v6, 0x47
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7, v6}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v6, "platform method missing - proto runtime falling back to safer methods: "
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v3, v4, v5, v1}, Ljava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_6
.end method
.method private static zzut()Z
.registers 8
const/4 v1, 0x1
const/4 v0, 0x0
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
if-nez v2, :cond_7
:cond_6
:goto_6
return v0
:cond_7
:try_start_7
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->zzbtj:Lsun/misc/Unsafe;
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "objectFieldOffset"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/reflect/Field;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getLong"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzabm;->zzuu()Ljava/lang/reflect/Field;
move-result-object v3
if-eqz v3, :cond_6
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzyv;->zzsv()Z
move-result v3
if-eqz v3, :cond_3a
move v0, v1
goto :goto_6
:cond_3a
const-string v3, "getByte"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putByte"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getInt"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putInt"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "getLong"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "putLong"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "copyMemory"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
const-string v3, "copyMemory"
const/4 v4, 0x5
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x1
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x2
const-class v6, Ljava/lang/Object;
aput-object v6, v4, v5
const/4 v5, 0x3
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
const/4 v5, 0x4
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
:try_end_cf
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_cf} :catch_d2
move v0, v1
goto/16 :goto_6
:catch_d2
move-exception v1
sget-object v2, Lcom/google/android/gms/internal/measurement/zzabm;->logger:Ljava/util/logging/Logger;
sget-object v3, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v4, "com.google.protobuf.UnsafeUtil"
const-string v5, "supportsUnsafeByteBufferOperations"
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/String;->length()I
move-result v6
add-int/lit8 v6, v6, 0x47
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7, v6}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v6, "platform method missing - proto runtime falling back to safer methods: "
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v3, v4, v5, v1}, Ljava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_6
.end method
.method private static zzuu()Ljava/lang/reflect/Field;
.registers 3
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzyv;->zzsv()Z
move-result v0
if-eqz v0, :cond_11
const-class v0, Ljava/nio/Buffer;
const-string v1, "effectiveDirectAddress"
invoke-static {v0, v1}, Lcom/google/android/gms/internal/measurement/zzabm;->zza(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
if-eqz v0, :cond_11
:cond_10
:goto_10
return-object v0
:cond_11
const-class v0, Ljava/nio/Buffer;
const-string v1, "address"
invoke-static {v0, v1}, Lcom/google/android/gms/internal/measurement/zzabm;->zza(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
if-eqz v0, :cond_23
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v1
sget-object v2, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-eq v1, v2, :cond_10
:cond_23
const/4 v0, 0x0
goto :goto_10
.end method