BaseGmsClient$CallbackProxy.smali
.class public abstract Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T",
"Listener:Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field private zzli:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT",
"Listener;"
}
.end annotation
.end field
.field private final synthetic zzru:Lcom/google/android/gms/common/internal/BaseGmsClient;
.field private zzrv:Z
# direct methods
.method public constructor <init>(Lcom/google/android/gms/common/internal/BaseGmsClient;Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT",
"Listener;",
")V"
}
.end annotation
iput-object p1, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzru:Lcom/google/android/gms/common/internal/BaseGmsClient;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzli:Ljava/lang/Object;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzrv:Z
return-void
.end method
# virtual methods
.method public deliverCallback()V
.registers 5
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzli:Ljava/lang/Object;
iget-boolean v1, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzrv:Z
if-eqz v1, :cond_29
invoke-static {p0}, 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 v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x2f
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "Callback proxy "
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " being reused. This is not safe."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_29
monitor-exit p0
:try_end_2a
.catchall {:try_start_1 .. :try_end_2a} :catchall_38
if-eqz v0, :cond_40
:try_start_2c
invoke-virtual {p0, v0}, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->deliverCallback(Ljava/lang/Object;)V
:try_end_2f
.catch Ljava/lang/RuntimeException; {:try_start_2c .. :try_end_2f} :catch_3b
:goto_2f
monitor-enter p0
const/4 v0, 0x1
:try_start_31
iput-boolean v0, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzrv:Z
monitor-exit p0
:try_end_34
.catchall {:try_start_31 .. :try_end_34} :catchall_44
invoke-virtual {p0}, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->unregister()V
return-void
:catchall_38
move-exception v0
:try_start_39
monitor-exit p0
:try_end_3a
.catchall {:try_start_39 .. :try_end_3a} :catchall_38
throw v0
:catch_3b
move-exception v0
invoke-virtual {p0}, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->onDeliverCallbackFailed()V
throw v0
:cond_40
invoke-virtual {p0}, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->onDeliverCallbackFailed()V
goto :goto_2f
:catchall_44
move-exception v0
:try_start_45
monitor-exit p0
:try_end_46
.catchall {:try_start_45 .. :try_end_46} :catchall_44
throw v0
.end method
.method protected abstract deliverCallback(Ljava/lang/Object;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT",
"Listener;",
")V"
}
.end annotation
.end method
.method protected abstract onDeliverCallbackFailed()V
.end method
.method public removeListener()V
.registers 2
monitor-enter p0
const/4 v0, 0x0
:try_start_2
iput-object v0, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzli:Ljava/lang/Object;
monitor-exit p0
return-void
:catchall_6
move-exception v0
monitor-exit p0
:try_end_8
.catchall {:try_start_2 .. :try_end_8} :catchall_6
throw v0
.end method
.method public unregister()V
.registers 3
invoke-virtual {p0}, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->removeListener()V
iget-object v0, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzru:Lcom/google/android/gms/common/internal/BaseGmsClient;
invoke-static {v0}, Lcom/google/android/gms/common/internal/BaseGmsClient;->zzf(Lcom/google/android/gms/common/internal/BaseGmsClient;)Ljava/util/ArrayList;
move-result-object v1
monitor-enter v1
:try_start_a
iget-object v0, p0, Lcom/google/android/gms/common/internal/BaseGmsClient$CallbackProxy;->zzru:Lcom/google/android/gms/common/internal/BaseGmsClient;
invoke-static {v0}, Lcom/google/android/gms/common/internal/BaseGmsClient;->zzf(Lcom/google/android/gms/common/internal/BaseGmsClient;)Ljava/util/ArrayList;
move-result-object v0
invoke-virtual {v0, p0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
monitor-exit v1
return-void
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_a .. :try_end_17} :catchall_15
throw v0
.end method