GmsClient.smali
.class public abstract Lcom/google/android/gms/common/internal/GmsClient;
.super Lcom/google/android/gms/common/internal/BaseGmsClient;
# interfaces
.implements Lcom/google/android/gms/common/api/Api$Client;
.implements Lcom/google/android/gms/common/internal/GmsClientEventManager$GmsClientEventState;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Landroid/os/IInterface;",
">",
"Lcom/google/android/gms/common/internal/BaseGmsClient",
"<TT;>;",
"Lcom/google/android/gms/common/api/Api$Client;",
"Lcom/google/android/gms/common/internal/GmsClientEventManager$GmsClientEventState;"
}
.end annotation
# instance fields
.field private final mScopes:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set",
"<",
"Lcom/google/android/gms/common/api/Scope;",
">;"
}
.end annotation
.end field
.field private final zzgf:Lcom/google/android/gms/common/internal/ClientSettings;
.field private final zzs:Landroid/accounts/Account;
# direct methods
.method protected constructor <init>(Landroid/content/Context;Landroid/os/Handler;ILcom/google/android/gms/common/internal/ClientSettings;)V
.registers 14
.annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
.end annotation
const/4 v7, 0x0
invoke-static {p1}, Lcom/google/android/gms/common/internal/GmsClientSupervisor;->getInstance(Landroid/content/Context;)Lcom/google/android/gms/common/internal/GmsClientSupervisor;
move-result-object v3
invoke-static {}, Lcom/google/android/gms/common/GoogleApiAvailability;->getInstance()Lcom/google/android/gms/common/GoogleApiAvailability;
move-result-object v4
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v5, p3
move-object v6, p4
move-object v8, v7
invoke-direct/range {v0 .. v8}, Lcom/google/android/gms/common/internal/GmsClient;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailability;ILcom/google/android/gms/common/internal/ClientSettings;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
return-void
.end method
.method protected constructor <init>(Landroid/content/Context;Landroid/os/Handler;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailability;ILcom/google/android/gms/common/internal/ClientSettings;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
.registers 17
.annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
.end annotation
invoke-static {p7}, Lcom/google/android/gms/common/internal/GmsClient;->zza(Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;)Lcom/google/android/gms/common/internal/BaseGmsClient$BaseConnectionCallbacks;
move-result-object v6
invoke-static/range {p8 .. p8}, Lcom/google/android/gms/common/internal/GmsClient;->zza(Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)Lcom/google/android/gms/common/internal/BaseGmsClient$BaseOnConnectionFailedListener;
move-result-object v7
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
invoke-direct/range {v0 .. v7}, Lcom/google/android/gms/common/internal/BaseGmsClient;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailabilityLight;ILcom/google/android/gms/common/internal/BaseGmsClient$BaseConnectionCallbacks;Lcom/google/android/gms/common/internal/BaseGmsClient$BaseOnConnectionFailedListener;)V
invoke-static {p6}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/gms/common/internal/ClientSettings;
iput-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->zzgf:Lcom/google/android/gms/common/internal/ClientSettings;
invoke-virtual {p6}, Lcom/google/android/gms/common/internal/ClientSettings;->getAccount()Landroid/accounts/Account;
move-result-object v0
iput-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->zzs:Landroid/accounts/Account;
invoke-virtual {p6}, Lcom/google/android/gms/common/internal/ClientSettings;->getAllRequestedScopes()Ljava/util/Set;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/android/gms/common/internal/GmsClient;->zza(Ljava/util/Set;)Ljava/util/Set;
move-result-object v0
iput-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->mScopes:Ljava/util/Set;
return-void
.end method
.method protected constructor <init>(Landroid/content/Context;Landroid/os/Looper;ILcom/google/android/gms/common/internal/ClientSettings;)V
.registers 14
const/4 v7, 0x0
invoke-static {p1}, Lcom/google/android/gms/common/internal/GmsClientSupervisor;->getInstance(Landroid/content/Context;)Lcom/google/android/gms/common/internal/GmsClientSupervisor;
move-result-object v3
invoke-static {}, Lcom/google/android/gms/common/GoogleApiAvailability;->getInstance()Lcom/google/android/gms/common/GoogleApiAvailability;
move-result-object v4
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v5, p3
move-object v6, p4
move-object v8, v7
invoke-direct/range {v0 .. v8}, Lcom/google/android/gms/common/internal/GmsClient;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailability;ILcom/google/android/gms/common/internal/ClientSettings;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
return-void
.end method
.method protected constructor <init>(Landroid/content/Context;Landroid/os/Looper;ILcom/google/android/gms/common/internal/ClientSettings;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
.registers 16
invoke-static {p1}, Lcom/google/android/gms/common/internal/GmsClientSupervisor;->getInstance(Landroid/content/Context;)Lcom/google/android/gms/common/internal/GmsClientSupervisor;
move-result-object v3
invoke-static {}, Lcom/google/android/gms/common/GoogleApiAvailability;->getInstance()Lcom/google/android/gms/common/GoogleApiAvailability;
move-result-object v4
invoke-static {p5}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;
invoke-static {p6}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v5, p3
move-object v6, p4
invoke-direct/range {v0 .. v8}, Lcom/google/android/gms/common/internal/GmsClient;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailability;ILcom/google/android/gms/common/internal/ClientSettings;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
return-void
.end method
.method protected constructor <init>(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailability;ILcom/google/android/gms/common/internal/ClientSettings;Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
.registers 18
.annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
.end annotation
invoke-static/range {p7 .. p7}, Lcom/google/android/gms/common/internal/GmsClient;->zza(Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;)Lcom/google/android/gms/common/internal/BaseGmsClient$BaseConnectionCallbacks;
move-result-object v6
invoke-static/range {p8 .. p8}, Lcom/google/android/gms/common/internal/GmsClient;->zza(Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)Lcom/google/android/gms/common/internal/BaseGmsClient$BaseOnConnectionFailedListener;
move-result-object v7
invoke-virtual {p6}, Lcom/google/android/gms/common/internal/ClientSettings;->getRealClientClassName()Ljava/lang/String;
move-result-object v8
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
invoke-direct/range {v0 .. v8}, Lcom/google/android/gms/common/internal/BaseGmsClient;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/google/android/gms/common/internal/GmsClientSupervisor;Lcom/google/android/gms/common/GoogleApiAvailabilityLight;ILcom/google/android/gms/common/internal/BaseGmsClient$BaseConnectionCallbacks;Lcom/google/android/gms/common/internal/BaseGmsClient$BaseOnConnectionFailedListener;Ljava/lang/String;)V
iput-object p6, p0, Lcom/google/android/gms/common/internal/GmsClient;->zzgf:Lcom/google/android/gms/common/internal/ClientSettings;
invoke-virtual {p6}, Lcom/google/android/gms/common/internal/ClientSettings;->getAccount()Landroid/accounts/Account;
move-result-object v0
iput-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->zzs:Landroid/accounts/Account;
invoke-virtual {p6}, Lcom/google/android/gms/common/internal/ClientSettings;->getAllRequestedScopes()Ljava/util/Set;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/android/gms/common/internal/GmsClient;->zza(Ljava/util/Set;)Ljava/util/Set;
move-result-object v0
iput-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->mScopes:Ljava/util/Set;
return-void
.end method
.method private static zza(Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;)Lcom/google/android/gms/common/internal/BaseGmsClient$BaseConnectionCallbacks;
.registers 2
if-nez p0, :cond_4
const/4 v0, 0x0
:goto_3
return-object v0
:cond_4
new-instance v0, Lcom/google/android/gms/common/internal/zzf;
invoke-direct {v0, p0}, Lcom/google/android/gms/common/internal/zzf;-><init>(Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;)V
goto :goto_3
.end method
.method private static zza(Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)Lcom/google/android/gms/common/internal/BaseGmsClient$BaseOnConnectionFailedListener;
.registers 2
if-nez p0, :cond_4
const/4 v0, 0x0
:goto_3
return-object v0
:cond_4
new-instance v0, Lcom/google/android/gms/common/internal/zzg;
invoke-direct {v0, p0}, Lcom/google/android/gms/common/internal/zzg;-><init>(Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
goto :goto_3
.end method
.method private final zza(Ljava/util/Set;)Ljava/util/Set;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Set",
"<",
"Lcom/google/android/gms/common/api/Scope;",
">;)",
"Ljava/util/Set",
"<",
"Lcom/google/android/gms/common/api/Scope;",
">;"
}
.end annotation
invoke-virtual {p0, p1}, Lcom/google/android/gms/common/internal/GmsClient;->validateScopes(Ljava/util/Set;)Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_8
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_22
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/gms/common/api/Scope;
invoke-interface {p1, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_8
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Expanding scopes is not permitted, use implied scopes instead"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_22
return-object v1
.end method
# virtual methods
.method public final getAccount()Landroid/accounts/Account;
.registers 2
iget-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->zzs:Landroid/accounts/Account;
return-object v0
.end method
.method protected final getClientSettings()Lcom/google/android/gms/common/internal/ClientSettings;
.registers 2
iget-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->zzgf:Lcom/google/android/gms/common/internal/ClientSettings;
return-object v0
.end method
.method public getMinApkVersion()I
.registers 2
invoke-super {p0}, Lcom/google/android/gms/common/internal/BaseGmsClient;->getMinApkVersion()I
move-result v0
return v0
.end method
.method public getRequiredFeatures()[Lcom/google/android/gms/common/Feature;
.registers 2
const/4 v0, 0x0
new-array v0, v0, [Lcom/google/android/gms/common/Feature;
return-object v0
.end method
.method protected final getScopes()Ljava/util/Set;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set",
"<",
"Lcom/google/android/gms/common/api/Scope;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/google/android/gms/common/internal/GmsClient;->mScopes:Ljava/util/Set;
return-object v0
.end method
.method protected validateScopes(Ljava/util/Set;)Ljava/util/Set;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Set",
"<",
"Lcom/google/android/gms/common/api/Scope;",
">;)",
"Ljava/util/Set",
"<",
"Lcom/google/android/gms/common/api/Scope;",
">;"
}
.end annotation
return-object p1
.end method