granularity level: instruction

		.class public abstract Lcom/google/android/gms/common/config/GservicesValue;
.super Ljava/lang/Object;
.source "com.google.android.gms:play-services-basement@@18.1.0"

.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation

.field private static final zzc:Ljava/lang/Object;
.field protected final zza:Ljava/lang/String;
.field protected final zzb:Ljava/lang/Object;
.field private zzd:Ljava/lang/Object;


.method static constructor <clinit>()V
	.locals 1

	new-instance v0, Ljava/lang/Object;
	invoke-direct {v0}, Ljava/lang/Object;-><init>()V
	sput-object v0, Lcom/google/android/gms/common/config/GservicesValue;->zzc:Ljava/lang/Object;
	return-void
.end method

.method protected constructor <init>(Ljava/lang/String;Ljava/lang/Object;)V
	.locals 1

	invoke-direct {p0}, Ljava/lang/Object;-><init>()V
	const/4 v0, 0x0
	iput-object v0, p0, Lcom/google/android/gms/common/config/GservicesValue;->zzd:Ljava/lang/Object;
	iput-object p1, p0, Lcom/google/android/gms/common/config/GservicesValue;->zza:Ljava/lang/String;
	iput-object p2, p0, Lcom/google/android/gms/common/config/GservicesValue;->zzb:Ljava/lang/Object;
	return-void
.end method

.method public static isInitialized()Z
	.locals 2

	sget-object v0, Lcom/google/android/gms/common/config/GservicesValue;->zzc:Ljava/lang/Object;
	monitor-enter v0
	:try_start_0
	monitor-exit v0
	const/4 v0, 0x0
	return v0
	:catchall_0
	move-exception v1
	monitor-exit v0
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_0
	throw v1
.end method

.method public static value(Ljava/lang/String;Ljava/lang/Float;)Lcom/google/android/gms/common/config/GservicesValue;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Ljava/lang/String;",
	"Ljava/lang/Float;",
	")",
	"Lcom/google/android/gms/common/config/GservicesValue<",
	"Ljava/lang/Float;",
	">;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/config/zzd;
	invoke-direct {v0, p0, p1}, Lcom/google/android/gms/common/config/zzd;-><init>(Ljava/lang/String;Ljava/lang/Float;)V
	return-object v0
.end method

.method public static value(Ljava/lang/String;Ljava/lang/Integer;)Lcom/google/android/gms/common/config/GservicesValue;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Ljava/lang/String;",
	"Ljava/lang/Integer;",
	")",
	"Lcom/google/android/gms/common/config/GservicesValue<",
	"Ljava/lang/Integer;",
	">;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/config/zzc;
	invoke-direct {v0, p0, p1}, Lcom/google/android/gms/common/config/zzc;-><init>(Ljava/lang/String;Ljava/lang/Integer;)V
	return-object v0
.end method

.method public static value(Ljava/lang/String;Ljava/lang/Long;)Lcom/google/android/gms/common/config/GservicesValue;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Ljava/lang/String;",
	"Ljava/lang/Long;",
	")",
	"Lcom/google/android/gms/common/config/GservicesValue<",
	"Ljava/lang/Long;",
	">;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/config/zzb;
	invoke-direct {v0, p0, p1}, Lcom/google/android/gms/common/config/zzb;-><init>(Ljava/lang/String;Ljava/lang/Long;)V
	return-object v0
.end method

.method public static value(Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/gms/common/config/GservicesValue;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Ljava/lang/String;",
	"Ljava/lang/String;",
	")",
	"Lcom/google/android/gms/common/config/GservicesValue<",
	"Ljava/lang/String;",
	">;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/config/zze;
	invoke-direct {v0, p0, p1}, Lcom/google/android/gms/common/config/zze;-><init>(Ljava/lang/String;Ljava/lang/String;)V
	return-object v0
.end method

.method public static value(Ljava/lang/String;Z)Lcom/google/android/gms/common/config/GservicesValue;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Ljava/lang/String;",
	"Z)",
	"Lcom/google/android/gms/common/config/GservicesValue<",
	"Ljava/lang/Boolean;",
	">;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/config/zza;
	invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
	move-result-object p1
	invoke-direct {v0, p0, p1}, Lcom/google/android/gms/common/config/zza;-><init>(Ljava/lang/String;Ljava/lang/Boolean;)V
	return-object v0
.end method

.method public final get()Ljava/lang/Object;
	.locals 4
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()TT;"
	}
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/config/GservicesValue;->zzd:Ljava/lang/Object;
	if-eqz v0, :cond_0
	return-object v0
	:cond_0
	invoke-static {}, Landroid/os/StrictMode;->allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;
	move-result-object v0
	sget-object v1, Lcom/google/android/gms/common/config/GservicesValue;->zzc:Ljava/lang/Object;
	monitor-enter v1
	:try_start_0
	monitor-exit v1
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_3
	monitor-enter v1
	:try_start_1
	monitor-exit v1
	:try_end_1
	.catchall {:try_start_1 .. :try_end_1} :catchall_2
	:try_start_2
	iget-object v1, p0, Lcom/google/android/gms/common/config/GservicesValue;->zza:Ljava/lang/String;
	invoke-virtual {p0, v1}, Lcom/google/android/gms/common/config/GservicesValue;->zza(Ljava/lang/String;)Ljava/lang/Object;
	move-result-object v1
	:try_end_2
	.catch Ljava/lang/SecurityException; {:try_start_2 .. :try_end_2} :catch_0
	.catchall {:try_start_2 .. :try_end_2} :catchall_0
	invoke-static {v0}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
	return-object v1
	:catchall_0
	move-exception v1
	goto :goto_0
	:try_start_3
	:catch_0
	invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
	move-result-wide v1
	:try_end_3
	.catchall {:try_start_3 .. :try_end_3} :catchall_0
	:try_start_4
	iget-object v3, p0, Lcom/google/android/gms/common/config/GservicesValue;->zza:Ljava/lang/String;
	invoke-virtual {p0, v3}, Lcom/google/android/gms/common/config/GservicesValue;->zza(Ljava/lang/String;)Ljava/lang/Object;
	move-result-object v3
	:try_end_4
	.catchall {:try_start_4 .. :try_end_4} :catchall_1
	:try_start_5
	invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
	:try_end_5
	.catchall {:try_start_5 .. :try_end_5} :catchall_0
	invoke-static {v0}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
	return-object v3
	:catchall_1
	move-exception v3
	:try_start_6
	invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
	throw v3
	:try_end_6
	.catchall {:try_start_6 .. :try_end_6} :catchall_0
	:goto_0
	invoke-static {v0}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
	throw v1
	:catchall_2
	move-exception v0
	:try_start_7
	monitor-exit v1
	:try_end_7
	.catchall {:try_start_7 .. :try_end_7} :catchall_2
	throw v0
	:catchall_3
	move-exception v0
	:try_start_8
	monitor-exit v1
	:try_end_8
	.catchall {:try_start_8 .. :try_end_8} :catchall_3
	throw v0
.end method

.method public final getBinderSafe()Ljava/lang/Object;
	.locals 1
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()TT;"
	}
	.end annotation

	invoke-virtual {p0}, Lcom/google/android/gms/common/config/GservicesValue;->get()Ljava/lang/Object;
	move-result-object v0
	return-object v0
.end method

.method public override(Ljava/lang/Object;)V
	.locals 2
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(TT;)V"
	}
	.end annotation

	const-string v0, "GservicesValue"
	const-string v1, "GservicesValue.override(): test should probably call initForTests() first"
	invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
	iput-object p1, p0, Lcom/google/android/gms/common/config/GservicesValue;->zzd:Ljava/lang/Object;
	sget-object p1, Lcom/google/android/gms/common/config/GservicesValue;->zzc:Ljava/lang/Object;
	monitor-enter p1
	:try_start_0
	monitor-enter p1
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_1
	:try_start_1
	monitor-exit p1
	:try_end_1
	.catchall {:try_start_1 .. :try_end_1} :catchall_0
	:try_start_2
	monitor-exit p1
	:try_end_2
	.catchall {:try_start_2 .. :try_end_2} :catchall_1
	return-void
	:catchall_0
	move-exception v0
	:try_start_3
	monitor-exit p1
	:try_end_3
	.catchall {:try_start_3 .. :try_end_3} :catchall_0
	:try_start_4
	throw v0
	:catchall_1
	move-exception v0
	monitor-exit p1
	:try_end_4
	.catchall {:try_start_4 .. :try_end_4} :catchall_1
	throw v0
.end method

.method public resetOverride()V
	.locals 1

	const/4 v0, 0x0
	iput-object v0, p0, Lcom/google/android/gms/common/config/GservicesValue;->zzd:Ljava/lang/Object;
	return-void
.end method

.method protected abstract zza(Ljava/lang/String;)Ljava/lang/Object;
	

.end method