granularity level: instruction

		.class public abstract Lcom/google/android/gms/common/api/GoogleApi;
.super Ljava/lang/Object;
.source "com.google.android.gms:play-services-base@@18.0.1"
.implements Lcom/google/android/gms/common/api/HasApiKey;

.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/gms/common/api/GoogleApi$Settings;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<O::",
"Lcom/google/android/gms/common/api/Api$ApiOptions;",
">",
"Ljava/lang/Object;",
"Lcom/google/android/gms/common/api/HasApiKey<",
"TO;>;"
}
.end annotation

.field protected final zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
.field private final zab:Landroid/content/Context;
.field private final zac:Ljava/lang/String;
.field private final zad:Lcom/google/android/gms/common/api/Api;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/gms/common/api/Api<",
"TO;>;"
}
.end annotation
.end field
.field private final zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
.annotation system Ldalvik/annotation/Signature;
value = {
"TO;"
}
.end annotation
.end field
.field private final zaf:Lcom/google/android/gms/common/api/internal/ApiKey;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/gms/common/api/internal/ApiKey<",
"TO;>;"
}
.end annotation
.end field
.field private final zag:Landroid/os/Looper;
.field private final zah:I
.field private final zai:Lcom/google/android/gms/common/api/GoogleApiClient;
.annotation runtime Lorg/checkerframework/checker/initialization/qual/NotOnlyInitialized;
.end annotation
.end field
.field private final zaj:Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;


.method public constructor <init>(Landroid/app/Activity;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	.locals 6
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/app/Activity;",
	"Lcom/google/android/gms/common/api/Api<",
	"TO;>;TO;",
	"Lcom/google/android/gms/common/api/GoogleApi$Settings;",
	")V"
	}
	.end annotation

	move-object v0, p0
	move-object v1, p1
	move-object v2, p1
	move-object v3, p2
	move-object v4, p3
	move-object v5, p4
	invoke-direct/range {v0 .. v5}, Lcom/google/android/gms/common/api/GoogleApi;-><init>(Landroid/content/Context;Landroid/app/Activity;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	return-void
.end method

.method public constructor <init>(Landroid/app/Activity;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)V
	.locals 1
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/app/Activity;",
	"Lcom/google/android/gms/common/api/Api<",
	"TO;>;TO;",
	"Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;",
	")V"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-direct {v0}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;-><init>()V
	invoke-virtual {v0, p4}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->setMapper(Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-virtual {p1}, Landroid/app/Activity;->getMainLooper()Landroid/os/Looper;
	move-result-object p4
	invoke-virtual {v0, p4}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->setLooper(Landroid/os/Looper;)Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-virtual {v0}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->build()Lcom/google/android/gms/common/api/GoogleApi$Settings;
	move-result-object p4
	invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/android/gms/common/api/GoogleApi;-><init>(Landroid/app/Activity;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	return-void
.end method

.method private constructor <init>(Landroid/content/Context;Landroid/app/Activity;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	.locals 5
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/content/Context;",
	"Landroid/app/Activity;",
	"Lcom/google/android/gms/common/api/Api<",
	"TO;>;TO;",
	"Lcom/google/android/gms/common/api/GoogleApi$Settings;",
	")V"
	}
	.end annotation

	invoke-direct {p0}, Ljava/lang/Object;-><init>()V
	const-string v0, "Null context is not permitted."
	invoke-static {p1, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	const-string v0, "Api must not be null."
	invoke-static {p3, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	const-string v0, "Settings must not be null; use Settings.DEFAULT_SETTINGS instead."
	invoke-static {p5, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
	move-result-object v0
	iput-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zab:Landroid/content/Context;
	invoke-static {}, Lcom/google/android/gms/common/util/PlatformVersion;->isAtLeastR()Z
	move-result v0
	const/4 v1, 0x0
	if-eqz v0, :cond_0
	:try_start_0
	const-class v0, Landroid/content/Context;
	const-string v2, "getAttributionTag"
	const/4 v3, 0x0
	new-array v4, v3, [Ljava/lang/Class;
	invoke-virtual {v0, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
	move-result-object v0
	new-array v2, v3, [Ljava/lang/Object;
	invoke-virtual {v0, p1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
	move-result-object p1
	check-cast p1, Ljava/lang/String;
	:try_end_0
	.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
	.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
	.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0
	move-object v1, p1
	goto :goto_0
	:catch_0
	nop
	:goto_0
	:cond_0
	iput-object v1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zac:Ljava/lang/String;
	iput-object p3, p0, Lcom/google/android/gms/common/api/GoogleApi;->zad:Lcom/google/android/gms/common/api/Api;
	iput-object p4, p0, Lcom/google/android/gms/common/api/GoogleApi;->zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
	iget-object p1, p5, Lcom/google/android/gms/common/api/GoogleApi$Settings;->zab:Landroid/os/Looper;
	iput-object p1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zag:Landroid/os/Looper;
	invoke-static {p3, p4, v1}, Lcom/google/android/gms/common/api/internal/ApiKey;->zaa(Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Ljava/lang/String;)Lcom/google/android/gms/common/api/internal/ApiKey;
	move-result-object p1
	iput-object p1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaf:Lcom/google/android/gms/common/api/internal/ApiKey;
	new-instance p3, Lcom/google/android/gms/common/api/internal/zabv;
	invoke-direct {p3, p0}, Lcom/google/android/gms/common/api/internal/zabv;-><init>(Lcom/google/android/gms/common/api/GoogleApi;)V
	iput-object p3, p0, Lcom/google/android/gms/common/api/GoogleApi;->zai:Lcom/google/android/gms/common/api/GoogleApiClient;
	iget-object p3, p0, Lcom/google/android/gms/common/api/GoogleApi;->zab:Landroid/content/Context;
	invoke-static {p3}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zam(Landroid/content/Context;)Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	move-result-object p3
	iput-object p3, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	invoke-virtual {p3}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zaa()I
	move-result p4
	iput p4, p0, Lcom/google/android/gms/common/api/GoogleApi;->zah:I
	iget-object p4, p5, Lcom/google/android/gms/common/api/GoogleApi$Settings;->zaa:Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;
	iput-object p4, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaj:Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;
	if-eqz p2, :cond_1
	instance-of p4, p2, Lcom/google/android/gms/common/api/GoogleApiActivity;
	if-nez p4, :cond_1
	invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
	move-result-object p4
	invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
	move-result-object p5
	if-ne p4, p5, :cond_1
	invoke-static {p2, p3, p1}, Lcom/google/android/gms/common/api/internal/zaae;->zad(Landroid/app/Activity;Lcom/google/android/gms/common/api/internal/GoogleApiManager;Lcom/google/android/gms/common/api/internal/ApiKey;)V
	:cond_1
	invoke-virtual {p3, p0}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zaB(Lcom/google/android/gms/common/api/GoogleApi;)V
	return-void
.end method

.method public constructor <init>(Landroid/content/Context;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Landroid/os/Looper;Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)V
	.locals 1
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/content/Context;",
	"Lcom/google/android/gms/common/api/Api<",
	"TO;>;TO;",
	"Landroid/os/Looper;",
	"Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;",
	")V"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-direct {v0}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;-><init>()V
	invoke-virtual {v0, p4}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->setLooper(Landroid/os/Looper;)Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-virtual {v0, p5}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->setMapper(Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-virtual {v0}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->build()Lcom/google/android/gms/common/api/GoogleApi$Settings;
	move-result-object p4
	invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/android/gms/common/api/GoogleApi;-><init>(Landroid/content/Context;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	return-void
.end method

.method public constructor <init>(Landroid/content/Context;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	.locals 6
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/content/Context;",
	"Lcom/google/android/gms/common/api/Api<",
	"TO;>;TO;",
	"Lcom/google/android/gms/common/api/GoogleApi$Settings;",
	")V"
	}
	.end annotation

	const/4 v2, 0x0
	move-object v0, p0
	move-object v1, p1
	move-object v3, p2
	move-object v4, p3
	move-object v5, p4
	invoke-direct/range {v0 .. v5}, Lcom/google/android/gms/common/api/GoogleApi;-><init>(Landroid/content/Context;Landroid/app/Activity;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	return-void
.end method

.method public constructor <init>(Landroid/content/Context;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)V
	.locals 1
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/content/Context;",
	"Lcom/google/android/gms/common/api/Api<",
	"TO;>;TO;",
	"Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;",
	")V"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-direct {v0}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;-><init>()V
	invoke-virtual {v0, p4}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->setMapper(Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;
	invoke-virtual {v0}, Lcom/google/android/gms/common/api/GoogleApi$Settings$Builder;->build()Lcom/google/android/gms/common/api/GoogleApi$Settings;
	move-result-object p4
	invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/android/gms/common/api/GoogleApi;-><init>(Landroid/content/Context;Lcom/google/android/gms/common/api/Api;Lcom/google/android/gms/common/api/Api$ApiOptions;Lcom/google/android/gms/common/api/GoogleApi$Settings;)V
	return-void
.end method

.method private final zad(ILcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	"T:",
	"Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl<",
	"+",
	"Lcom/google/android/gms/common/api/Result;",
	"TA;>;>(ITT;)TT;"
	}
	.end annotation

	invoke-virtual {p2}, Lcom/google/android/gms/common/api/internal/BasePendingResult;->zak()V
	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	invoke-virtual {v0, p0, p1, p2}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zaw(Lcom/google/android/gms/common/api/GoogleApi;ILcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)V
	return-object p2
.end method

.method private final zae(ILcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	.locals 7
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<TResult:",
	"Ljava/lang/Object;",
	"A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	">(I",
	"Lcom/google/android/gms/common/api/internal/TaskApiCall<",
	"TA;TTResult;>;)",
	"Lcom/google/android/gms/tasks/Task<",
	"TTResult;>;"
	}
	.end annotation

	new-instance v6, Lcom/google/android/gms/tasks/TaskCompletionSource;
	invoke-direct {v6}, Lcom/google/android/gms/tasks/TaskCompletionSource;-><init>()V
	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	iget-object v5, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaj:Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;
	move-object v1, p0
	move v2, p1
	move-object v3, p2
	move-object v4, v6
	invoke-virtual/range {v0 .. v5}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zax(Lcom/google/android/gms/common/api/GoogleApi;ILcom/google/android/gms/common/api/internal/TaskApiCall;Lcom/google/android/gms/tasks/TaskCompletionSource;Lcom/google/android/gms/common/api/internal/StatusExceptionMapper;)V
	invoke-virtual {v6}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public asGoogleApiClient()Lcom/google/android/gms/common/api/GoogleApiClient;
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zai:Lcom/google/android/gms/common/api/GoogleApiClient;
	return-object v0
.end method

.method protected createClientSettingsBuilder()Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	.locals 3

	new-instance v0, Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	invoke-direct {v0}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;-><init>()V
	iget-object v1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
	instance-of v2, v1, Lcom/google/android/gms/common/api/Api$ApiOptions$HasGoogleSignInAccountOptions;
	if-eqz v2, :cond_0
	check-cast v1, Lcom/google/android/gms/common/api/Api$ApiOptions$HasGoogleSignInAccountOptions;
	invoke-interface {v1}, Lcom/google/android/gms/common/api/Api$ApiOptions$HasGoogleSignInAccountOptions;->getGoogleSignInAccount()Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount;
	move-result-object v1
	if-eqz v1, :cond_0
	invoke-virtual {v1}, Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount;->getAccount()Landroid/accounts/Account;
	move-result-object v1
	goto :goto_0
	:cond_0
	iget-object v1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
	instance-of v2, v1, Lcom/google/android/gms/common/api/Api$ApiOptions$HasAccountOptions;
	if-eqz v2, :cond_1
	check-cast v1, Lcom/google/android/gms/common/api/Api$ApiOptions$HasAccountOptions;
	invoke-interface {v1}, Lcom/google/android/gms/common/api/Api$ApiOptions$HasAccountOptions;->getAccount()Landroid/accounts/Account;
	move-result-object v1
	goto :goto_0
	:cond_1
	const/4 v1, 0x0
	:goto_0
	invoke-virtual {v0, v1}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;->zab(Landroid/accounts/Account;)Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	iget-object v1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
	instance-of v2, v1, Lcom/google/android/gms/common/api/Api$ApiOptions$HasGoogleSignInAccountOptions;
	if-eqz v2, :cond_3
	check-cast v1, Lcom/google/android/gms/common/api/Api$ApiOptions$HasGoogleSignInAccountOptions;
	invoke-interface {v1}, Lcom/google/android/gms/common/api/Api$ApiOptions$HasGoogleSignInAccountOptions;->getGoogleSignInAccount()Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount;
	move-result-object v1
	if-nez v1, :cond_2
	invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
	move-result-object v1
	goto :goto_1
	:cond_2
	invoke-virtual {v1}, Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount;->getRequestedScopes()Ljava/util/Set;
	move-result-object v1
	goto :goto_1
	:cond_3
	invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
	move-result-object v1
	:goto_1
	invoke-virtual {v0, v1}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;->zaa(Ljava/util/Collection;)Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	iget-object v1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zab:Landroid/content/Context;
	invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
	move-result-object v1
	invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
	move-result-object v1
	invoke-virtual {v0, v1}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;->zac(Ljava/lang/String;)Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	iget-object v1, p0, Lcom/google/android/gms/common/api/GoogleApi;->zab:Landroid/content/Context;
	invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
	move-result-object v1
	invoke-virtual {v0, v1}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;->setRealClientPackageName(Ljava/lang/String;)Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	return-object v0
.end method

.method protected disconnectService()Lcom/google/android/gms/tasks/Task;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()",
	"Lcom/google/android/gms/tasks/Task<",
	"Ljava/lang/Boolean;",
	">;"
	}
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	invoke-virtual {v0, p0}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zap(Lcom/google/android/gms/common/api/GoogleApi;)Lcom/google/android/gms/tasks/Task;
	move-result-object v0
	return-object v0
.end method

.method public doBestEffortWrite(Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	"T:",
	"Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl<",
	"+",
	"Lcom/google/android/gms/common/api/Result;",
	"TA;>;>(TT;)TT;"
	}
	.end annotation

	const/4 v0, 0x2
	invoke-direct {p0, v0, p1}, Lcom/google/android/gms/common/api/GoogleApi;->zad(ILcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	return-object p1
.end method

.method public doBestEffortWrite(Lcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<TResult:",
	"Ljava/lang/Object;",
	"A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	">(",
	"Lcom/google/android/gms/common/api/internal/TaskApiCall<",
	"TA;TTResult;>;)",
	"Lcom/google/android/gms/tasks/Task<",
	"TTResult;>;"
	}
	.end annotation

	const/4 v0, 0x2
	invoke-direct {p0, v0, p1}, Lcom/google/android/gms/common/api/GoogleApi;->zae(ILcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public doRead(Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	"T:",
	"Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl<",
	"+",
	"Lcom/google/android/gms/common/api/Result;",
	"TA;>;>(TT;)TT;"
	}
	.end annotation

	const/4 v0, 0x0
	invoke-direct {p0, v0, p1}, Lcom/google/android/gms/common/api/GoogleApi;->zad(ILcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	return-object p1
.end method

.method public doRead(Lcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<TResult:",
	"Ljava/lang/Object;",
	"A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	">(",
	"Lcom/google/android/gms/common/api/internal/TaskApiCall<",
	"TA;TTResult;>;)",
	"Lcom/google/android/gms/tasks/Task<",
	"TTResult;>;"
	}
	.end annotation

	const/4 v0, 0x0
	invoke-direct {p0, v0, p1}, Lcom/google/android/gms/common/api/GoogleApi;->zae(ILcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public doRegisterEventListener(Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;)Lcom/google/android/gms/tasks/Task;
	.locals 2
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	"T:",
	"Lcom/google/android/gms/common/api/internal/RegisterListenerMethod<",
	"TA;*>;U:",
	"Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod<",
	"TA;*>;>(TT;TU;)",
	"Lcom/google/android/gms/tasks/Task<",
	"Ljava/lang/Void;",
	">;"
	}
	.end annotation

	invoke-static {p1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
	invoke-static {p2}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
	invoke-virtual {p1}, Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;->getListenerKey()Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;
	move-result-object v0
	const-string v1, "Listener has already been released."
	invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	invoke-virtual {p2}, Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;->getListenerKey()Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;
	move-result-object v0
	invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	invoke-virtual {p1}, Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;->getListenerKey()Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;
	move-result-object v0
	invoke-virtual {p2}, Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;->getListenerKey()Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;
	move-result-object v1
	invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
	move-result v0
	const-string v1, "Listener registration and unregistration methods must be constructed with the same ListenerHolder."
	invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Preconditions;->checkArgument(ZLjava/lang/Object;)V
	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	sget-object v1, Lcom/google/android/gms/common/api/zad;->zaa:Lcom/google/android/gms/common/api/zad;
	invoke-virtual {v0, p0, p1, p2, v1}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zaq(Lcom/google/android/gms/common/api/GoogleApi;Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public doRegisterEventListener(Lcom/google/android/gms/common/api/internal/RegistrationMethods;)Lcom/google/android/gms/tasks/Task;
	.locals 3
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	">(",
	"Lcom/google/android/gms/common/api/internal/RegistrationMethods<",
	"TA;*>;)",
	"Lcom/google/android/gms/tasks/Task<",
	"Ljava/lang/Void;",
	">;"
	}
	.end annotation

	invoke-static {p1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
	iget-object v0, p1, Lcom/google/android/gms/common/api/internal/RegistrationMethods;->register:Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;
	invoke-virtual {v0}, Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;->getListenerKey()Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;
	move-result-object v0
	const-string v1, "Listener has already been released."
	invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	iget-object v0, p1, Lcom/google/android/gms/common/api/internal/RegistrationMethods;->zaa:Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;
	invoke-virtual {v0}, Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;->getListenerKey()Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;
	move-result-object v0
	invoke-static {v0, v1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	iget-object v1, p1, Lcom/google/android/gms/common/api/internal/RegistrationMethods;->register:Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;
	iget-object v2, p1, Lcom/google/android/gms/common/api/internal/RegistrationMethods;->zaa:Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;
	iget-object p1, p1, Lcom/google/android/gms/common/api/internal/RegistrationMethods;->zab:Ljava/lang/Runnable;
	invoke-virtual {v0, p0, v1, v2, p1}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zaq(Lcom/google/android/gms/common/api/GoogleApi;Lcom/google/android/gms/common/api/internal/RegisterListenerMethod;Lcom/google/android/gms/common/api/internal/UnregisterListenerMethod;Ljava/lang/Runnable;)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public doUnregisterEventListener(Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;)Lcom/google/android/gms/tasks/Task;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey<",
	"*>;)",
	"Lcom/google/android/gms/tasks/Task<",
	"Ljava/lang/Boolean;",
	">;"
	}
	.end annotation

	const/4 v0, 0x0
	invoke-virtual {p0, p1, v0}, Lcom/google/android/gms/common/api/GoogleApi;->doUnregisterEventListener(Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;I)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public doUnregisterEventListener(Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;I)Lcom/google/android/gms/tasks/Task;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey<",
	"*>;I)",
	"Lcom/google/android/gms/tasks/Task<",
	"Ljava/lang/Boolean;",
	">;"
	}
	.end annotation

	const-string v0, "Listener key cannot be null."
	invoke-static {p1, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaa:Lcom/google/android/gms/common/api/internal/GoogleApiManager;
	invoke-virtual {v0, p0, p1, p2}, Lcom/google/android/gms/common/api/internal/GoogleApiManager;->zar(Lcom/google/android/gms/common/api/GoogleApi;Lcom/google/android/gms/common/api/internal/ListenerHolder$ListenerKey;I)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public doWrite(Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	"T:",
	"Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl<",
	"+",
	"Lcom/google/android/gms/common/api/Result;",
	"TA;>;>(TT;)TT;"
	}
	.end annotation

	const/4 v0, 0x1
	invoke-direct {p0, v0, p1}, Lcom/google/android/gms/common/api/GoogleApi;->zad(ILcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;)Lcom/google/android/gms/common/api/internal/BaseImplementation$ApiMethodImpl;
	return-object p1
.end method

.method public doWrite(Lcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<TResult:",
	"Ljava/lang/Object;",
	"A::",
	"Lcom/google/android/gms/common/api/Api$AnyClient;",
	">(",
	"Lcom/google/android/gms/common/api/internal/TaskApiCall<",
	"TA;TTResult;>;)",
	"Lcom/google/android/gms/tasks/Task<",
	"TTResult;>;"
	}
	.end annotation

	const/4 v0, 0x1
	invoke-direct {p0, v0, p1}, Lcom/google/android/gms/common/api/GoogleApi;->zae(ILcom/google/android/gms/common/api/internal/TaskApiCall;)Lcom/google/android/gms/tasks/Task;
	move-result-object p1
	return-object p1
.end method

.method public final getApiKey()Lcom/google/android/gms/common/api/internal/ApiKey;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()",
	"Lcom/google/android/gms/common/api/internal/ApiKey<",
	"TO;>;"
	}
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zaf:Lcom/google/android/gms/common/api/internal/ApiKey;
	return-object v0
.end method

.method public getApiOptions()Lcom/google/android/gms/common/api/Api$ApiOptions;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()TO;"
	}
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
	return-object v0
.end method

.method public getApplicationContext()Landroid/content/Context;
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zab:Landroid/content/Context;
	return-object v0
.end method

.method protected getContextAttributionTag()Ljava/lang/String;
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zac:Ljava/lang/String;
	return-object v0
.end method

.method protected getContextFeatureId()Ljava/lang/String;
	.locals 1
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zac:Ljava/lang/String;
	return-object v0
.end method

.method public getLooper()Landroid/os/Looper;
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zag:Landroid/os/Looper;
	return-object v0
.end method

.method public registerListener(Ljava/lang/Object;Ljava/lang/String;)Lcom/google/android/gms/common/api/internal/ListenerHolder;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"<",
	"L:Ljava/lang/Object;",
	">(T",
	"L;",
	"Ljava/lang/String;",
	")",
	"Lcom/google/android/gms/common/api/internal/ListenerHolder<",
	"T",
	"L;",
	">;"
	}
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zag:Landroid/os/Looper;
	invoke-static {p1, v0, p2}, Lcom/google/android/gms/common/api/internal/ListenerHolders;->createListenerHolder(Ljava/lang/Object;Landroid/os/Looper;Ljava/lang/String;)Lcom/google/android/gms/common/api/internal/ListenerHolder;
	move-result-object p1
	return-object p1
.end method

.method public final zaa()I
	.locals 1

	iget v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zah:I
	return v0
.end method

.method public final zab(Landroid/os/Looper;Lcom/google/android/gms/common/api/internal/zabq;)Lcom/google/android/gms/common/api/Api$Client;
	.locals 8
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(",
	"Landroid/os/Looper;",
	"Lcom/google/android/gms/common/api/internal/zabq<",
	"TO;>;)",
	"Lcom/google/android/gms/common/api/Api$Client;"
	}
	.end annotation

	invoke-virtual {p0}, Lcom/google/android/gms/common/api/GoogleApi;->createClientSettingsBuilder()Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	move-result-object v0
	invoke-virtual {v0}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;->build()Lcom/google/android/gms/common/internal/ClientSettings;
	move-result-object v4
	iget-object v0, p0, Lcom/google/android/gms/common/api/GoogleApi;->zad:Lcom/google/android/gms/common/api/Api;
	invoke-virtual {v0}, Lcom/google/android/gms/common/api/Api;->zaa()Lcom/google/android/gms/common/api/Api$AbstractClientBuilder;
	move-result-object v0
	invoke-static {v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
	move-result-object v0
	move-object v1, v0
	check-cast v1, Lcom/google/android/gms/common/api/Api$AbstractClientBuilder;
	iget-object v2, p0, Lcom/google/android/gms/common/api/GoogleApi;->zab:Landroid/content/Context;
	iget-object v5, p0, Lcom/google/android/gms/common/api/GoogleApi;->zae:Lcom/google/android/gms/common/api/Api$ApiOptions;
	move-object v3, p1
	move-object v6, p2
	move-object v7, p2
	invoke-virtual/range {v1 .. v7}, Lcom/google/android/gms/common/api/Api$AbstractClientBuilder;->buildClient(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/common/internal/ClientSettings;Ljava/lang/Object;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)Lcom/google/android/gms/common/api/Api$Client;
	move-result-object p1
	invoke-virtual {p0}, Lcom/google/android/gms/common/api/GoogleApi;->getContextAttributionTag()Ljava/lang/String;
	move-result-object p2
	if-eqz p2, :cond_0
	instance-of v0, p1, Lcom/google/android/gms/common/internal/BaseGmsClient;
	if-eqz v0, :cond_0
	move-object v0, p1
	check-cast v0, Lcom/google/android/gms/common/internal/BaseGmsClient;
	invoke-virtual {v0, p2}, Lcom/google/android/gms/common/internal/BaseGmsClient;->setAttributionTag(Ljava/lang/String;)V
	:cond_0
	if-eqz p2, :cond_1
	instance-of v0, p1, Lcom/google/android/gms/common/api/internal/NonGmsServiceBrokerClient;
	if-eqz v0, :cond_1
	move-object v0, p1
	check-cast v0, Lcom/google/android/gms/common/api/internal/NonGmsServiceBrokerClient;
	invoke-virtual {v0, p2}, Lcom/google/android/gms/common/api/internal/NonGmsServiceBrokerClient;->zac(Ljava/lang/String;)V
	:cond_1
	return-object p1
.end method

.method public final zac(Landroid/content/Context;Landroid/os/Handler;)Lcom/google/android/gms/common/api/internal/zact;
	.locals 2

	new-instance v0, Lcom/google/android/gms/common/api/internal/zact;
	invoke-virtual {p0}, Lcom/google/android/gms/common/api/GoogleApi;->createClientSettingsBuilder()Lcom/google/android/gms/common/internal/ClientSettings$Builder;
	move-result-object v1
	invoke-virtual {v1}, Lcom/google/android/gms/common/internal/ClientSettings$Builder;->build()Lcom/google/android/gms/common/internal/ClientSettings;
	move-result-object v1
	invoke-direct {v0, p1, p2, v1}, Lcom/google/android/gms/common/api/internal/zact;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/google/android/gms/common/internal/ClientSettings;)V
	return-object v0
.end method