ApiClientMgr.smali
.class public final Lcom/huawei/android/hms/agent/common/ApiClientMgr;
.super Ljava/lang/Object;
.source "ApiClientMgr.java"
# interfaces
.implements Lcom/huawei/android/hms/agent/common/IActivityResumeCallback;
.implements Lcom/huawei/hms/api/HuaweiApiClient$ConnectionCallbacks;
.implements Lcom/huawei/hms/api/HuaweiApiClient$OnConnectionFailedListener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/huawei/android/hms/agent/common/ApiClientMgr$EmptyConnectCallback;
}
.end annotation
# static fields
.field private static final APICLIENT_CONNECT_TIMEOUT:I = 0x7530
.field private static final APICLIENT_LOCK:Ljava/lang/Object;
.field private static final APICLIENT_STARTACTIVITY_TIMEOUT:I = 0xbb8
.field private static final APICLIENT_STARTACTIVITY_TIMEOUT_HANDLE_MSG:I = 0x4
.field private static final APICLIENT_TIMEOUT_HANDLE_MSG:I = 0x3
.field private static final CALLBACK_LOCK:Ljava/lang/Object;
.field public static final INST:Lcom/huawei/android/hms/agent/common/ApiClientMgr;
.field private static final MAX_RESOLVE_TIMES:I = 0x3
.field private static final PACKAGE_NAME_HIAPP:Ljava/lang/String; = "com.huawei.appmarket"
.field private static final STATIC_CALLBACK_LOCK:Ljava/lang/Object;
.field private static final UPDATE_OVER_ACTIVITY_CHECK_TIMEOUT:I = 0xbb8
.field private static final UPDATE_OVER_ACTIVITY_CHECK_TIMEOUT_HANDLE_MSG:I = 0x5
# instance fields
.field private allowResolveConnectError:Z
.field private apiClient:Lcom/huawei/hms/api/HuaweiApiClient;
.field private connCallbacks:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/huawei/android/hms/agent/common/IClientConnectCallback;",
">;"
}
.end annotation
.end field
.field private context:Landroid/content/Context;
.field private curAppPackageName:Ljava/lang/String;
.field private curLeftResolveTimes:I
.field private hasOverActivity:Z
.field private isResolving:Z
.field private resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
.field private staticCallbacks:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/huawei/android/hms/agent/common/IClientConnectCallback;",
">;"
}
.end annotation
.end field
.field private timeoutHandler:Landroid/os/Handler;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 30
new-instance v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;
invoke-direct {v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;-><init>()V
sput-object v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->INST:Lcom/huawei/android/hms/agent/common/ApiClientMgr;
.line 40
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->CALLBACK_LOCK:Ljava/lang/Object;
.line 45
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->STATIC_CALLBACK_LOCK:Ljava/lang/Object;
.line 50
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->APICLIENT_LOCK:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>()V
.registers 3
.prologue
const/4 v0, 0x0
.line 192
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 105
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->allowResolveConnectError:Z
.line 120
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->hasOverActivity:Z
.line 125
const/4 v0, 0x3
iput v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curLeftResolveTimes:I
.line 130
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
.line 135
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->staticCallbacks:Ljava/util/List;
.line 160
new-instance v0, Landroid/os/Handler;
new-instance v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr$1;
invoke-direct {v1, p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$1;-><init>(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)V
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Handler$Callback;)V
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
.line 193
return-void
.end method
.method private aSysnCallback(ILcom/huawei/android/hms/agent/common/IClientConnectCallback;)V
.registers 4
.prologue
.line 392
new-instance v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr$3;
invoke-direct {v0, p0, p1, p2}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$3;-><init>(Lcom/huawei/android/hms/agent/common/ApiClientMgr;ILcom/huawei/android/hms/agent/common/IClientConnectCallback;)V
.line 400
invoke-virtual {v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$3;->start()V
.line 401
return-void
.end method
.method static synthetic access$000()Ljava/lang/Object;
.registers 1
.prologue
.line 25
sget-object v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->CALLBACK_LOCK:Ljava/lang/Object;
return-object v0
.end method
.method static synthetic access$100(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)Ljava/util/List;
.registers 2
.prologue
.line 25
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
return-object v0
.end method
.method static synthetic access$200(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)Lcom/huawei/hms/api/HuaweiApiClient;
.registers 2
.prologue
.line 25
invoke-direct {p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resetApiClient()Lcom/huawei/hms/api/HuaweiApiClient;
move-result-object v0
return-object v0
.end method
.method static synthetic access$300(Lcom/huawei/android/hms/agent/common/ApiClientMgr;I)V
.registers 2
.prologue
.line 25
invoke-direct {p0, p1}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
return-void
.end method
.method static synthetic access$400(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)Lcom/huawei/hms/activity/BridgeActivity;
.registers 2
.prologue
.line 25
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
return-object v0
.end method
.method static synthetic access$500(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)Z
.registers 2
.prologue
.line 25
iget-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->hasOverActivity:Z
return v0
.end method
.method static synthetic access$600(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)Landroid/os/Handler;
.registers 2
.prologue
.line 25
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
return-object v0
.end method
.method private static disConnectClientDelay(Lcom/huawei/hms/api/HuaweiApiClient;I)V
.registers 6
.prologue
.line 527
new-instance v0, Landroid/os/Handler;
invoke-direct {v0}, Landroid/os/Handler;-><init>()V
new-instance v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr$4;
invoke-direct {v1, p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$4;-><init>(Lcom/huawei/hms/api/HuaweiApiClient;)V
int-to-long v2, p1
invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
.line 533
return-void
.end method
.method private onConnectEnd(I)V
.registers 5
.prologue
.line 364
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "connect end:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 366
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 368
:try_start_19
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_1f
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_32
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/huawei/android/hms/agent/common/IClientConnectCallback;
.line 369
invoke-direct {p0, p1, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->aSysnCallback(ILcom/huawei/android/hms/agent/common/IClientConnectCallback;)V
goto :goto_1f
.line 375
:catchall_2f
move-exception v0
monitor-exit v1
:try_end_31
.catchall {:try_start_19 .. :try_end_31} :catchall_2f
throw v0
.line 371
:cond_32
:try_start_32
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 374
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->allowResolveConnectError:Z
.line 375
monitor-exit v1
:try_end_3b
.catchall {:try_start_32 .. :try_end_3b} :catchall_2f
.line 377
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->STATIC_CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 379
:try_start_3e
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->staticCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_44
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_57
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/huawei/android/hms/agent/common/IClientConnectCallback;
.line 380
invoke-direct {p0, p1, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->aSysnCallback(ILcom/huawei/android/hms/agent/common/IClientConnectCallback;)V
goto :goto_44
.line 383
:catchall_54
move-exception v0
monitor-exit v1
:try_end_56
.catchall {:try_start_3e .. :try_end_56} :catchall_54
throw v0
.line 382
:cond_57
:try_start_57
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->staticCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 383
monitor-exit v1
:try_end_5d
.catchall {:try_start_57 .. :try_end_5d} :catchall_54
.line 384
return-void
.end method
.method private resetApiClient()Lcom/huawei/hms/api/HuaweiApiClient;
.registers 4
.prologue
.line 278
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->APICLIENT_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 279
:try_start_3
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->apiClient:Lcom/huawei/hms/api/HuaweiApiClient;
if-eqz v0, :cond_f
.line 281
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->apiClient:Lcom/huawei/hms/api/HuaweiApiClient;
const v2, 0xea60
invoke-static {v0, v2}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->disConnectClientDelay(Lcom/huawei/hms/api/HuaweiApiClient;I)V
.line 284
:cond_f
const-string v0, "reset client"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 288
new-instance v0, Lcom/huawei/hms/api/HuaweiApiClient$Builder;
iget-object v2, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->context:Landroid/content/Context;
invoke-direct {v0, v2}, Lcom/huawei/hms/api/HuaweiApiClient$Builder;-><init>(Landroid/content/Context;)V
sget-object v2, Lcom/huawei/hms/support/api/push/HuaweiPush;->PUSH_API:Lcom/huawei/hms/api/Api;
.line 289
invoke-virtual {v0, v2}, Lcom/huawei/hms/api/HuaweiApiClient$Builder;->addApi(Lcom/huawei/hms/api/Api;)Lcom/huawei/hms/api/HuaweiApiClient$Builder;
move-result-object v0
sget-object v2, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->INST:Lcom/huawei/android/hms/agent/common/ApiClientMgr;
.line 290
invoke-virtual {v0, v2}, Lcom/huawei/hms/api/HuaweiApiClient$Builder;->addConnectionCallbacks(Lcom/huawei/hms/api/HuaweiApiClient$ConnectionCallbacks;)Lcom/huawei/hms/api/HuaweiApiClient$Builder;
move-result-object v0
sget-object v2, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->INST:Lcom/huawei/android/hms/agent/common/ApiClientMgr;
.line 291
invoke-virtual {v0, v2}, Lcom/huawei/hms/api/HuaweiApiClient$Builder;->addOnConnectionFailedListener(Lcom/huawei/hms/api/HuaweiApiClient$OnConnectionFailedListener;)Lcom/huawei/hms/api/HuaweiApiClient$Builder;
move-result-object v0
.line 292
invoke-virtual {v0}, Lcom/huawei/hms/api/HuaweiApiClient$Builder;->build()Lcom/huawei/hms/api/HuaweiApiClient;
move-result-object v0
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->apiClient:Lcom/huawei/hms/api/HuaweiApiClient;
.line 293
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->apiClient:Lcom/huawei/hms/api/HuaweiApiClient;
monitor-exit v1
return-object v0
.line 294
:catchall_37
move-exception v0
monitor-exit v1
:try_end_39
.catchall {:try_start_3 .. :try_end_39} :catchall_37
throw v0
.end method
.method private startConnect()V
.registers 2
.prologue
.line 338
iget v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curLeftResolveTimes:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curLeftResolveTimes:I
.line 340
const-string v0, "start thread to connect"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 341
new-instance v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr$2;
invoke-direct {v0, p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$2;-><init>(Lcom/huawei/android/hms/agent/common/ApiClientMgr;)V
.line 356
invoke-virtual {v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$2;->start()V
.line 357
return-void
.end method
# virtual methods
.method public connect(Lcom/huawei/android/hms/agent/common/IClientConnectCallback;Z)V
.registers 7
.prologue
const/4 v0, 0x0
.line 302
iget-object v1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->context:Landroid/content/Context;
if-nez v1, :cond_c
.line 303
const/16 v0, -0x3e8
const/4 v1, 0x0
invoke-interface {p1, v0, v1}, Lcom/huawei/android/hms/agent/common/IClientConnectCallback;->onConnect(ILcom/huawei/hms/api/HuaweiApiClient;)V
.line 330
:goto_b
return-void
.line 307
:cond_c
invoke-virtual {p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->getApiClient()Lcom/huawei/hms/api/HuaweiApiClient;
move-result-object v1
.line 309
if-eqz v1, :cond_21
invoke-virtual {v1}, Lcom/huawei/hms/api/HuaweiApiClient;->isConnected()Z
move-result v2
if-eqz v2, :cond_21
.line 310
const-string v2, "client is valid"
invoke-static {v2}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 311
invoke-interface {p1, v0, v1}, Lcom/huawei/android/hms/agent/common/IClientConnectCallback;->onConnect(ILcom/huawei/hms/api/HuaweiApiClient;)V
goto :goto_b
.line 315
:cond_21
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 316
:try_start_24
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "client is invalid\uff1asize="
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
iget-object v3, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 317
iget-boolean v2, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->allowResolveConnectError:Z
if-nez v2, :cond_46
if-eqz p2, :cond_47
:cond_46
const/4 v0, 0x1
:cond_47
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->allowResolveConnectError:Z
.line 318
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_61
.line 319
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 322
const/4 v0, 0x3
iput v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curLeftResolveTimes:I
.line 324
invoke-direct {p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->startConnect()V
.line 328
:goto_5c
monitor-exit v1
goto :goto_b
:catchall_5e
move-exception v0
monitor-exit v1
:try_end_60
.catchall {:try_start_24 .. :try_end_60} :catchall_5e
throw v0
.line 326
:cond_61
:try_start_61
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_66
.catchall {:try_start_61 .. :try_end_66} :catchall_5e
goto :goto_5c
.end method
.method public getApiClient()Lcom/huawei/hms/api/HuaweiApiClient;
.registers 3
.prologue
.line 238
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->APICLIENT_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 239
:try_start_3
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->apiClient:Lcom/huawei/hms/api/HuaweiApiClient;
monitor-exit v1
return-object v0
.line 240
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public init(Landroid/app/Application;)V
.registers 3
.prologue
.line 201
const-string v0, "init"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 204
invoke-virtual {p1}, Landroid/app/Application;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->context:Landroid/content/Context;
.line 207
invoke-virtual {p1}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curAppPackageName:Ljava/lang/String;
.line 210
sget-object v0, Lcom/huawei/android/hms/agent/common/ActivityMgr;->INST:Lcom/huawei/android/hms/agent/common/ActivityMgr;
invoke-virtual {v0, p0}, Lcom/huawei/android/hms/agent/common/ActivityMgr;->unRegisterActivitResumeEvent(Lcom/huawei/android/hms/agent/common/IActivityResumeCallback;)V
.line 211
sget-object v0, Lcom/huawei/android/hms/agent/common/ActivityMgr;->INST:Lcom/huawei/android/hms/agent/common/ActivityMgr;
invoke-virtual {v0, p0}, Lcom/huawei/android/hms/agent/common/ActivityMgr;->registerActivitResumeEvent(Lcom/huawei/android/hms/agent/common/IActivityResumeCallback;)V
.line 212
return-void
.end method
.method public isConnect(Lcom/huawei/hms/api/HuaweiApiClient;)Z
.registers 3
.prologue
.line 249
if-eqz p1, :cond_a
invoke-virtual {p1}, Lcom/huawei/hms/api/HuaweiApiClient;->isConnected()Z
move-result v0
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method onActivityLunched()V
.registers 3
.prologue
.line 452
const-string v0, "resolve onActivityLunched"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 454
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeMessages(I)V
.line 455
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->isResolving:Z
.line 456
return-void
.end method
.method public onActivityResume(Landroid/app/Activity;)V
.registers 7
.prologue
const/4 v4, 0x5
.line 412
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "is resolving:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-boolean v1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->isResolving:Z
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 413
iget-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->isResolving:Z
if-eqz v0, :cond_56
const-string v0, "com.huawei.appmarket"
iget-object v1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curAppPackageName:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_56
.line 414
instance-of v0, p1, Lcom/huawei/hms/activity/BridgeActivity;
if-eqz v0, :cond_57
.line 415
check-cast p1, Lcom/huawei/hms/activity/BridgeActivity;
iput-object p1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
.line 416
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->hasOverActivity:Z
.line 417
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "received bridgeActivity:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 422
:cond_4a
:goto_4a
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
invoke-virtual {v0, v4}, Landroid/os/Handler;->removeMessages(I)V
.line 423
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
const-wide/16 v2, 0xbb8
invoke-virtual {v0, v4, v2, v3}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
.line 425
:cond_56
return-void
.line 418
:cond_57
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
if-eqz v0, :cond_4a
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
invoke-virtual {v0}, Lcom/huawei/hms/activity/BridgeActivity;->isFinishing()Z
move-result v0
if-nez v0, :cond_4a
.line 419
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->hasOverActivity:Z
.line 420
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "received other Activity:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
goto :goto_4a
.end method
.method public onConnected()V
.registers 3
.prologue
.line 463
const-string v0, "connect success"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 464
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
const/4 v1, 0x3
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeMessages(I)V
.line 465
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
.line 466
return-void
.end method
.method public onConnectionFailed(Lcom/huawei/hms/api/ConnectionResult;)V
.registers 8
.prologue
.line 488
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
const/4 v1, 0x3
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeMessages(I)V
.line 490
if-nez p1, :cond_13
.line 491
const-string v0, "result is null"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->e(Ljava/lang/String;)V
.line 492
const/16 v0, -0x3ea
invoke-direct {p0, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
.line 524
:goto_12
return-void
.line 496
:cond_13
invoke-virtual {p1}, Lcom/huawei/hms/api/ConnectionResult;->getErrorCode()I
move-result v0
.line 497
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "errCode="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " allowResolve="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-boolean v2, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->allowResolveConnectError:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 499
invoke-static {}, Lcom/huawei/hms/api/HuaweiApiAvailability;->getInstance()Lcom/huawei/hms/api/HuaweiApiAvailability;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/huawei/hms/api/HuaweiApiAvailability;->isUserResolvableError(I)Z
move-result v1
if-eqz v1, :cond_93
iget-boolean v1, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->allowResolveConnectError:Z
if-eqz v1, :cond_93
.line 500
sget-object v1, Lcom/huawei/android/hms/agent/common/ActivityMgr;->INST:Lcom/huawei/android/hms/agent/common/ActivityMgr;
invoke-virtual {v1}, Lcom/huawei/android/hms/agent/common/ActivityMgr;->getLastActivity()Landroid/app/Activity;
move-result-object v1
.line 501
if-eqz v1, :cond_88
.line 503
:try_start_4f
iget-object v2, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->timeoutHandler:Landroid/os/Handler;
const/4 v3, 0x4
const-wide/16 v4, 0xbb8
invoke-virtual {v2, v3, v4, v5}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
.line 504
new-instance v2, Landroid/content/Intent;
const-class v3, Lcom/huawei/android/hms/agent/common/HMSAgentActivity;
invoke-direct {v2, v1, v3}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
.line 505
const-string v3, "HMSConnectionErrorCode"
invoke-virtual {v2, v3, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 506
invoke-virtual {v1, v2}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
:try_end_66
.catch Ljava/lang/Exception; {:try_start_4f .. :try_end_66} :catch_67
goto :goto_12
.line 508
:catch_67
move-exception v0
.line 509
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "start HMSAgentActivity exception:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->e(Ljava/lang/String;)V
.line 510
const/16 v0, -0x3ec
invoke-direct {p0, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
goto :goto_12
.line 515
:cond_88
const-string v0, "no activity"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 516
const/16 v0, -0x3e9
invoke-direct {p0, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
goto :goto_12
.line 523
:cond_93
invoke-direct {p0, v0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
goto/16 :goto_12
.end method
.method public onConnectionSuspended(I)V
.registers 5
.prologue
.line 477
const-string v0, "connect suspended"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 478
new-instance v0, Lcom/huawei/android/hms/agent/common/ApiClientMgr$EmptyConnectCallback;
const-string v1, "onConnectionSuspended try end:"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/huawei/android/hms/agent/common/ApiClientMgr$EmptyConnectCallback;-><init>(Ljava/lang/String;Lcom/huawei/android/hms/agent/common/ApiClientMgr$1;)V
const/4 v1, 0x1
invoke-virtual {p0, v0, v1}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connect(Lcom/huawei/android/hms/agent/common/IClientConnectCallback;Z)V
.line 479
return-void
.end method
.method onResolveErrorRst(I)V
.registers 5
.prologue
const/4 v2, 0x0
.line 432
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "result="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 433
iput-boolean v2, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->isResolving:Z
.line 434
const/4 v0, 0x0
iput-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->resolveActivity:Lcom/huawei/hms/activity/BridgeActivity;
.line 435
iput-boolean v2, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->hasOverActivity:Z
.line 437
if-nez p1, :cond_38
.line 438
invoke-virtual {p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->getApiClient()Lcom/huawei/hms/api/HuaweiApiClient;
move-result-object v0
.line 439
invoke-virtual {v0}, Lcom/huawei/hms/api/HuaweiApiClient;->isConnecting()Z
move-result v1
if-nez v1, :cond_38
invoke-virtual {v0}, Lcom/huawei/hms/api/HuaweiApiClient;->isConnected()Z
move-result v0
if-nez v0, :cond_38
iget v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->curLeftResolveTimes:I
if-lez v0, :cond_38
.line 440
invoke-direct {p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->startConnect()V
.line 446
:goto_37
return-void
.line 445
:cond_38
invoke-direct {p0, p1}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->onConnectEnd(I)V
goto :goto_37
.end method
.method public registerClientConnect(Lcom/huawei/android/hms/agent/common/IClientConnectCallback;)V
.registers 4
.prologue
.line 257
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->STATIC_CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 258
:try_start_3
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->staticCallbacks:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 259
monitor-exit v1
.line 260
return-void
.line 259
:catchall_a
move-exception v0
monitor-exit v1
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v0
.end method
.method public release()V
.registers 3
.prologue
.line 218
const-string v0, "release"
invoke-static {v0}, Lcom/huawei/android/hms/agent/common/HMSAgentLog;->d(Ljava/lang/String;)V
.line 219
invoke-virtual {p0}, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->getApiClient()Lcom/huawei/hms/api/HuaweiApiClient;
move-result-object v0
.line 220
if-eqz v0, :cond_e
.line 221
invoke-virtual {v0}, Lcom/huawei/hms/api/HuaweiApiClient;->disconnect()V
.line 224
:cond_e
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->STATIC_CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 225
:try_start_11
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->staticCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 226
monitor-exit v1
:try_end_17
.catchall {:try_start_11 .. :try_end_17} :catchall_21
.line 228
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 229
:try_start_1a
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->connCallbacks:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 230
monitor-exit v1
:try_end_20
.catchall {:try_start_1a .. :try_end_20} :catchall_24
.line 231
return-void
.line 226
:catchall_21
move-exception v0
:try_start_22
monitor-exit v1
:try_end_23
.catchall {:try_start_22 .. :try_end_23} :catchall_21
throw v0
.line 230
:catchall_24
move-exception v0
:try_start_25
monitor-exit v1
:try_end_26
.catchall {:try_start_25 .. :try_end_26} :catchall_24
throw v0
.end method
.method public removeClientConnectCallback(Lcom/huawei/android/hms/agent/common/IClientConnectCallback;)V
.registers 4
.prologue
.line 267
sget-object v1, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->STATIC_CALLBACK_LOCK:Ljava/lang/Object;
monitor-enter v1
.line 268
:try_start_3
iget-object v0, p0, Lcom/huawei/android/hms/agent/common/ApiClientMgr;->staticCallbacks:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
.line 269
monitor-exit v1
.line 270
return-void
.line 269
:catchall_a
move-exception v0
monitor-exit v1
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v0
.end method