Observable.smali
.class public Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;
.super Ljava/lang/Object;
.source "Observable.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "Observable"
# instance fields
.field private final observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap",
"<",
"Ljava/lang/Integer;",
"Lcom/baidu/sapi2/passhost/pluginsdk/service/Observer;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 3
.prologue
.line 18
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 16
new-instance v0, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
const/16 v1, 0xc
invoke-direct {v0, v1}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;-><init>(I)V
iput-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
.line 19
return-void
.end method
# virtual methods
.method public declared-synchronized addListener(ILcom/baidu/sapi2/passhost/pluginsdk/service/Observer;)V
.registers 5
.prologue
.line 46
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, p2}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
.line 47
monitor-exit p0
return-void
.line 46
:catchall_c
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getListenerCount(I)I
.registers 4
.prologue
.line 26
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;->get(Ljava/lang/Object;)Ljava/util/ArrayList;
move-result-object v0
.line 27
if-eqz v0, :cond_13
.line 28
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_15
move-result v0
.line 30
:goto_11
monitor-exit p0
return v0
:cond_13
const/4 v0, 0x0
goto :goto_11
.line 26
:catchall_15
move-exception v0
monitor-exit p0
throw v0
.end method
.method public hasListener(I)Z
.registers 3
.prologue
.line 38
invoke-virtual {p0, p1}, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->getListenerCount(I)I
move-result v0
if-lez v0, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method public varargs notify(I[Ljava/lang/Object;)V
.registers 4
.prologue
.line 101
const/4 v0, 0x0
invoke-virtual {p0, v0, p1, p2}, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->notify(Ljava/lang/Object;I[Ljava/lang/Object;)V
.line 102
return-void
.end method
.method public varargs notify(Ljava/lang/Object;I[Ljava/lang/Object;)V
.registers 13
.prologue
const/4 v8, 0x1
const/4 v1, 0x0
.line 74
const-string v0, "Observable"
new-array v2, v8, [Ljava/lang/Object;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v2, v1
invoke-static {v0, v2}, Lcom/baidu/sapi2/base/debug/Log;->i(Ljava/lang/String;[Ljava/lang/Object;)V
.line 77
monitor-enter p0
.line 78
:try_start_10
iget-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v2}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;->get(Ljava/lang/Object;)Ljava/util/ArrayList;
move-result-object v0
.line 79
if-nez v0, :cond_1e
.line 80
monitor-exit p0
.line 97
:cond_1d
return-void
.line 82
:cond_1e
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v2
.line 83
new-array v2, v2, [Lcom/baidu/sapi2/passhost/pluginsdk/service/Observer;
.line 84
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
.line 85
monitor-exit p0
:try_end_28
.catchall {:try_start_10 .. :try_end_28} :catchall_38
.line 86
if-eqz v2, :cond_1d
.line 87
array-length v3, v2
move v0, v1
:goto_2c
if-ge v0, v3, :cond_1d
aget-object v4, v2, v0
.line 88
if-eqz v4, :cond_35
.line 90
:try_start_32
invoke-interface {v4, p1, p2, p3}, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observer;->onNotify(Ljava/lang/Object;I[Ljava/lang/Object;)V
:try_end_35
.catch Ljava/lang/Throwable; {:try_start_32 .. :try_end_35} :catch_3b
.line 87
:cond_35
:goto_35
add-int/lit8 v0, v0, 0x1
goto :goto_2c
.line 85
: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
.line 91
:catch_3b
move-exception v4
.line 92
const-string v5, "Observable"
const/4 v6, 0x2
new-array v6, v6, [Ljava/lang/Object;
invoke-virtual {v4}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v7
aput-object v7, v6, v1
aput-object v4, v6, v8
invoke-static {v5, v6}, Lcom/baidu/sapi2/base/debug/Log;->e(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_35
.end method
.method public declared-synchronized remove(Lcom/baidu/sapi2/passhost/pluginsdk/service/Observer;)V
.registers 3
.prologue
.line 60
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
invoke-virtual {v0, p1}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;->removeValue(Ljava/lang/Object;)V
:try_end_6
.catchall {:try_start_1 .. :try_end_6} :catchall_8
.line 61
monitor-exit p0
return-void
.line 60
:catchall_8
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized setListener(ILcom/baidu/sapi2/passhost/pluginsdk/service/Observer;)V
.registers 5
.prologue
.line 55
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;->remove(Ljava/lang/Object;)Ljava/util/ArrayList;
.line 56
iget-object v0, p0, Lcom/baidu/sapi2/passhost/pluginsdk/service/Observable;->observers:Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, p2}, Lcom/baidu/sapi2/passhost/pluginsdk/service/MultiHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_13
.catchall {:try_start_1 .. :try_end_13} :catchall_15
.line 57
monitor-exit p0
return-void
.line 55
:catchall_15
move-exception v0
monitor-exit p0
throw v0
.end method