BusUtils.smali
.class public final Lcom/blankj/utilcode/util/BusUtils;
.super Ljava/lang/Object;
.source "BusUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/blankj/utilcode/util/BusUtils$LazyHolder;,
Lcom/blankj/utilcode/util/BusUtils$Bus;,
Lcom/blankj/utilcode/util/BusUtils$ThreadMode;,
Lcom/blankj/utilcode/util/BusUtils$BusInfo;
}
.end annotation
# static fields
.field private static final NULL:Ljava/lang/Object;
.field private static final TAG:Ljava/lang/String; = "BusUtils"
# instance fields
.field private final mClassName_BusesMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/Set<",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
.field private final mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
.field private final mClassName_TagsMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;>;"
}
.end annotation
.end field
.field private final mTag_BusInfoListMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/List<",
"Lcom/blankj/utilcode/util/BusUtils$BusInfo;",
">;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 31
const-string v0, "nULl"
sput-object v0, Lcom/blankj/utilcode/util/BusUtils;->NULL:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>()V
.registers 2
.line 40
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 34
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
.line 36
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
.line 37
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_TagsMap:Ljava/util/Map;
.line 38
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
.line 41
invoke-direct {p0}, Lcom/blankj/utilcode/util/BusUtils;->init()V
.line 42
return-void
.end method
.method synthetic constructor <init>(Lcom/blankj/utilcode/util/BusUtils$1;)V
.registers 2
.param p1, "x0" # Lcom/blankj/utilcode/util/BusUtils$1;
.line 29
invoke-direct {p0}, Lcom/blankj/utilcode/util/BusUtils;-><init>()V
return-void
.end method
.method static synthetic access$100(Lcom/blankj/utilcode/util/BusUtils;Ljava/lang/String;Ljava/lang/Object;Lcom/blankj/utilcode/util/BusUtils$BusInfo;Z)V
.registers 5
.param p0, "x0" # Lcom/blankj/utilcode/util/BusUtils;
.param p1, "x1" # Ljava/lang/String;
.param p2, "x2" # Ljava/lang/Object;
.param p3, "x3" # Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.param p4, "x4" # Z
.line 29
invoke-direct {p0, p1, p2, p3, p4}, Lcom/blankj/utilcode/util/BusUtils;->realInvokeMethod(Ljava/lang/String;Ljava/lang/Object;Lcom/blankj/utilcode/util/BusUtils$BusInfo;Z)V
return-void
.end method
.method private getClassName(Ljava/lang/String;)Ljava/lang/Class;
.registers 3
.param p1, "paramType" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/ClassNotFoundException;
}
.end annotation
.line 206
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v0
sparse-switch v0, :sswitch_data_7a
:cond_7
goto :goto_59
:sswitch_8
const-string/jumbo v0, "short"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x3
goto :goto_5a
:sswitch_13
const-string v0, "float"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x6
goto :goto_5a
:sswitch_1d
const-string v0, "boolean"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x0
goto :goto_5a
:sswitch_27
const-string v0, "long"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x2
goto :goto_5a
:sswitch_31
const-string v0, "char"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x7
goto :goto_5a
:sswitch_3b
const-string v0, "byte"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x4
goto :goto_5a
:sswitch_45
const-string v0, "int"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x1
goto :goto_5a
:sswitch_4f
const-string v0, "double"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x5
goto :goto_5a
:goto_59
const/4 v0, -0x1
:goto_5a
packed-switch v0, :pswitch_data_9c
.line 224
invoke-static {p1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
return-object v0
.line 222
:pswitch_62
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
return-object v0
.line 220
:pswitch_65
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
return-object v0
.line 218
:pswitch_68
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
return-object v0
.line 216
:pswitch_6b
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
return-object v0
.line 214
:pswitch_6e
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
return-object v0
.line 212
:pswitch_71
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
return-object v0
.line 210
:pswitch_74
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
return-object v0
.line 208
:pswitch_77
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
return-object v0
:sswitch_data_7a
.sparse-switch
-0x4f08842f -> :sswitch_4f
0x197ef -> :sswitch_45
0x2e6108 -> :sswitch_3b
0x2e9356 -> :sswitch_31
0x32c67c -> :sswitch_27
0x3db6c28 -> :sswitch_1d
0x5d0225c -> :sswitch_13
0x685847c -> :sswitch_8
.end sparse-switch
:pswitch_data_9c
.packed-switch 0x0
:pswitch_77
:pswitch_74
:pswitch_71
:pswitch_6e
:pswitch_6b
:pswitch_68
:pswitch_65
:pswitch_62
.end packed-switch
.end method
.method private static getInstance()Lcom/blankj/utilcode/util/BusUtils;
.registers 1
.line 105
# getter for: Lcom/blankj/utilcode/util/BusUtils$LazyHolder;->INSTANCE:Lcom/blankj/utilcode/util/BusUtils;
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils$LazyHolder;->access$000()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
return-object v0
.end method
.method private getMethodByBusInfo(Lcom/blankj/utilcode/util/BusUtils$BusInfo;)Ljava/lang/reflect/Method;
.registers 7
.param p1, "busInfo" # Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.line 192
:try_start_0
const-string v0, ""
iget-object v1, p1, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->paramType:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_1a
.line 193
iget-object v0, p1, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->className:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
iget-object v2, p1, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->funName:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Class;
invoke-virtual {v0, v2, v1}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
return-object v0
.line 195
:cond_1a
iget-object v0, p1, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->className:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
iget-object v2, p1, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->funName:Ljava/lang/String;
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Class;
iget-object v4, p1, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->paramType:Ljava/lang/String;
invoke-direct {p0, v4}, Lcom/blankj/utilcode/util/BusUtils;->getClassName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
aput-object v4, v3, v1
invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
:try_end_31
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_31} :catch_37
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_31} :catch_32
return-object v0
.line 199
:catch_32
move-exception v0
.line 200
.local v0, "e":Ljava/lang/NoSuchMethodException;
invoke-virtual {v0}, Ljava/lang/NoSuchMethodException;->printStackTrace()V
goto :goto_3c
.line 197
.end local v0 # "e":Ljava/lang/NoSuchMethodException;
:catch_37
move-exception v0
.line 198
.local v0, "e":Ljava/lang/ClassNotFoundException;
invoke-virtual {v0}, Ljava/lang/ClassNotFoundException;->printStackTrace()V
.line 201
.end local v0 # "e":Ljava/lang/ClassNotFoundException;
nop
.line 202
:goto_3c
const/4 v0, 0x0
return-object v0
.end method
.method private init()V
.registers 1
.line 48
return-void
.end method
.method private invokeMethod(Ljava/lang/String;Ljava/lang/Object;Lcom/blankj/utilcode/util/BusUtils$BusInfo;Z)V
.registers 12
.param p1, "tag" # Ljava/lang/String;
.param p2, "arg" # Ljava/lang/Object;
.param p3, "busInfo" # Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.param p4, "sticky" # Z
.line 229
new-instance v6, Lcom/blankj/utilcode/util/BusUtils$1;
move-object v0, v6
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move v5, p4
invoke-direct/range {v0 .. v5}, Lcom/blankj/utilcode/util/BusUtils$1;-><init>(Lcom/blankj/utilcode/util/BusUtils;Ljava/lang/String;Ljava/lang/Object;Lcom/blankj/utilcode/util/BusUtils$BusInfo;Z)V
.line 235
.local v0, "runnable":Ljava/lang/Runnable;
iget-object v1, p3, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->threadMode:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v2
const/4 v3, 0x4
const/4 v4, 0x3
const/4 v5, 0x2
const/4 v6, 0x1
sparse-switch v2, :sswitch_data_7e
:cond_18
goto :goto_4b
:sswitch_19
const-string v2, "CACHED"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_18
const/4 v1, 0x3
goto :goto_4c
:sswitch_23
const-string v2, "MAIN"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_18
const/4 v1, 0x0
goto :goto_4c
:sswitch_2d
const-string v2, "CPU"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_18
const/4 v1, 0x2
goto :goto_4c
:sswitch_37
const-string v2, "IO"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_18
const/4 v1, 0x1
goto :goto_4c
:sswitch_41
const-string v2, "SINGLE"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_18
const/4 v1, 0x4
goto :goto_4c
:goto_4b
const/4 v1, -0x1
:goto_4c
if-eqz v1, :cond_7a
if-eq v1, v6, :cond_72
if-eq v1, v5, :cond_6a
if-eq v1, v4, :cond_62
if-eq v1, v3, :cond_5a
.line 252
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
.line 254
return-void
.line 249
:cond_5a
invoke-static {}, Lcom/blankj/utilcode/util/ThreadUtils;->getSinglePool()Ljava/util/concurrent/ExecutorService;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
.line 250
return-void
.line 246
:cond_62
invoke-static {}, Lcom/blankj/utilcode/util/ThreadUtils;->getCachedPool()Ljava/util/concurrent/ExecutorService;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
.line 247
return-void
.line 243
:cond_6a
invoke-static {}, Lcom/blankj/utilcode/util/ThreadUtils;->getCpuPool()Ljava/util/concurrent/ExecutorService;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
.line 244
return-void
.line 240
:cond_72
invoke-static {}, Lcom/blankj/utilcode/util/ThreadUtils;->getIoPool()Ljava/util/concurrent/ExecutorService;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
.line 241
return-void
.line 237
:cond_7a
invoke-static {v0}, Lcom/blankj/utilcode/util/Utils;->runOnUiThread(Ljava/lang/Runnable;)V
.line 238
return-void
:sswitch_data_7e
.sparse-switch
-0x6e3487b8 -> :sswitch_41
0x926 -> :sswitch_37
0x10588 -> :sswitch_2d
0x23fdb9 -> :sswitch_23
0x76083522 -> :sswitch_19
.end sparse-switch
.end method
.method public static post(Ljava/lang/String;)V
.registers 2
.param p0, "tag" # Ljava/lang/String;
.line 76
sget-object v0, Lcom/blankj/utilcode/util/BusUtils;->NULL:Ljava/lang/Object;
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/BusUtils;->post(Ljava/lang/String;Ljava/lang/Object;)V
.line 77
return-void
.end method
.method public static post(Ljava/lang/String;Ljava/lang/Object;)V
.registers 3
.param p0, "tag" # Ljava/lang/String;
.param p1, "arg" # Ljava/lang/Object;
.line 80
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils;->getInstance()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
invoke-direct {v0, p0, p1}, Lcom/blankj/utilcode/util/BusUtils;->postInner(Ljava/lang/String;Ljava/lang/Object;)V
.line 81
return-void
.end method
.method private postInner(Ljava/lang/String;Ljava/lang/Object;)V
.registers 4
.param p1, "tag" # Ljava/lang/String;
.param p2, "arg" # Ljava/lang/Object;
.line 169
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/BusUtils;->postInner(Ljava/lang/String;Ljava/lang/Object;Z)V
.line 170
return-void
.end method
.method private postInner(Ljava/lang/String;Ljava/lang/Object;Z)V
.registers 8
.param p1, "tag" # Ljava/lang/String;
.param p2, "arg" # Ljava/lang/Object;
.param p3, "sticky" # Z
.line 173
iget-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
.line 174
.local v0, "busInfoList":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/BusUtils$BusInfo;>;"
if-nez v0, :cond_26
.line 175
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The bus of tag <"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "> is not exists."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "BusUtils"
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 176
return-void
.line 178
:cond_26
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_2a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_47
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.line 179
.local v2, "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
iget-object v3, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->method:Ljava/lang/reflect/Method;
if-nez v3, :cond_43
.line 180
invoke-direct {p0, v2}, Lcom/blankj/utilcode/util/BusUtils;->getMethodByBusInfo(Lcom/blankj/utilcode/util/BusUtils$BusInfo;)Ljava/lang/reflect/Method;
move-result-object v3
.line 181
.local v3, "method":Ljava/lang/reflect/Method;
if-nez v3, :cond_41
.line 182
return-void
.line 184
:cond_41
iput-object v3, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->method:Ljava/lang/reflect/Method;
.line 186
.end local v3 # "method":Ljava/lang/reflect/Method;
:cond_43
invoke-direct {p0, p1, p2, v2, p3}, Lcom/blankj/utilcode/util/BusUtils;->invokeMethod(Ljava/lang/String;Ljava/lang/Object;Lcom/blankj/utilcode/util/BusUtils$BusInfo;Z)V
.line 187
.end local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
goto :goto_2a
.line 188
:cond_47
return-void
.end method
.method public static postSticky(Ljava/lang/String;)V
.registers 2
.param p0, "tag" # Ljava/lang/String;
.line 84
sget-object v0, Lcom/blankj/utilcode/util/BusUtils;->NULL:Ljava/lang/Object;
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/BusUtils;->postSticky(Ljava/lang/String;Ljava/lang/Object;)V
.line 85
return-void
.end method
.method public static postSticky(Ljava/lang/String;Ljava/lang/Object;)V
.registers 3
.param p0, "tag" # Ljava/lang/String;
.param p1, "arg" # Ljava/lang/Object;
.line 88
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils;->getInstance()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
invoke-direct {v0, p0, p1}, Lcom/blankj/utilcode/util/BusUtils;->postStickyInner(Ljava/lang/String;Ljava/lang/Object;)V
.line 89
return-void
.end method
.method private postStickyInner(Ljava/lang/String;Ljava/lang/Object;)V
.registers 10
.param p1, "tag" # Ljava/lang/String;
.param p2, "arg" # Ljava/lang/Object;
.line 290
iget-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
.line 291
.local v0, "busInfoList":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/BusUtils$BusInfo;>;"
if-nez v0, :cond_26
.line 292
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The bus of tag <"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "> is not exists."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "BusUtils"
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 293
return-void
.line 295
:cond_26
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_2a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_67
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.line 296
.local v2, "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
iget-boolean v3, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->sticky:Z
if-nez v3, :cond_3e
.line 297
invoke-direct {p0, p1, p2}, Lcom/blankj/utilcode/util/BusUtils;->postInner(Ljava/lang/String;Ljava/lang/Object;)V
.line 298
return-void
.line 300
:cond_3e
iget-object v3, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
monitor-enter v3
.line 301
:try_start_41
iget-object v4, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
iget-object v5, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->className:Ljava/lang/String;
invoke-interface {v4, v5}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/Map;
.line 302
.local v4, "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
if-nez v4, :cond_5a
.line 303
new-instance v5, Ljava/util/HashMap;
invoke-direct {v5}, Ljava/util/HashMap;-><init>()V
move-object v4, v5
.line 304
iget-object v5, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
iget-object v6, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->className:Ljava/lang/String;
invoke-interface {v5, v6, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 306
:cond_5a
invoke-interface {v4, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 307
nop
.end local v4 # "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
monitor-exit v3
:try_end_5f
.catchall {:try_start_41 .. :try_end_5f} :catchall_64
.line 308
const/4 v3, 0x1
invoke-direct {p0, p1, p2, v3}, Lcom/blankj/utilcode/util/BusUtils;->postInner(Ljava/lang/String;Ljava/lang/Object;Z)V
.line 309
.end local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
goto :goto_2a
.line 307
.restart local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
:catchall_64
move-exception v1
:try_start_65
monitor-exit v3
:try_end_66
.catchall {:try_start_65 .. :try_end_66} :catchall_64
throw v1
.line 310
.end local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
:cond_67
return-void
.end method
.method private processSticky(Ljava/lang/Object;)V
.registers 8
.param p1, "bus" # Ljava/lang/Object;
.line 146
iget-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
invoke-virtual {p1}, 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-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map;
.line 147
.local v0, "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
if-nez v0, :cond_13
return-void
.line 148
:cond_13
iget-object v1, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
monitor-enter v1
.line 149
:try_start_16
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v2
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_1e
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_38
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Map$Entry;
.line 150
.local v3, "tagArgEntry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;"
invoke-interface {v3}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v5
invoke-direct {p0, v4, v5}, Lcom/blankj/utilcode/util/BusUtils;->postInner(Ljava/lang/String;Ljava/lang/Object;)V
.line 151
.end local v3 # "tagArgEntry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;"
goto :goto_1e
.line 152
:cond_38
monitor-exit v1
.line 153
return-void
.line 152
:catchall_3a
move-exception v2
monitor-exit v1
:try_end_3c
.catchall {:try_start_16 .. :try_end_3c} :catchall_3a
goto :goto_3e
:goto_3d
throw v2
:goto_3e
goto :goto_3d
.end method
.method private realInvokeMethod(Ljava/lang/String;Ljava/lang/Object;Lcom/blankj/utilcode/util/BusUtils$BusInfo;Z)V
.registers 11
.param p1, "tag" # Ljava/lang/String;
.param p2, "arg" # Ljava/lang/Object;
.param p3, "busInfo" # Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.param p4, "sticky" # Z
.line 257
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 258
.local v0, "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
iget-object v1, p3, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->classNames:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_b
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 259
.local v2, "className":Ljava/lang/String;
iget-object v3, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
invoke-interface {v3, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Set;
.line 260
.local v3, "subBuses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
if-eqz v3, :cond_2a
invoke-interface {v3}, Ljava/util/Set;->isEmpty()Z
move-result v4
if-nez v4, :cond_2a
.line 261
invoke-interface {v0, v3}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z
.line 263
.end local v2 # "className":Ljava/lang/String;
.end local v3 # "subBuses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
:cond_2a
goto :goto_b
.line 264
:cond_2b
invoke-interface {v0}, Ljava/util/Set;->size()I
move-result v1
if-nez v1, :cond_50
.line 265
if-nez p4, :cond_4f
.line 266
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The bus of tag <"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "> was not registered before."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "BusUtils"
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 267
return-void
.line 269
:cond_4f
return-void
.line 273
:cond_50
:try_start_50
sget-object v1, Lcom/blankj/utilcode/util/BusUtils;->NULL:Ljava/lang/Object;
const/4 v2, 0x0
if-ne p2, v1, :cond_6d
.line 274
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_59
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_6c
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 275
.local v3, "bus":Ljava/lang/Object;
iget-object v4, p3, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->method:Ljava/lang/reflect/Method;
new-array v5, v2, [Ljava/lang/Object;
invoke-virtual {v4, v3, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
.line 276
nop
.end local v3 # "bus":Ljava/lang/Object;
goto :goto_59
:cond_6c
goto :goto_90
.line 278
:cond_6d
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_71
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_90
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 279
.restart local v3 # "bus":Ljava/lang/Object;
iget-object v4, p3, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->method:Ljava/lang/reflect/Method;
const/4 v5, 0x1
new-array v5, v5, [Ljava/lang/Object;
aput-object p2, v5, v2
invoke-virtual {v4, v3, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_85
.catch Ljava/lang/IllegalAccessException; {:try_start_50 .. :try_end_85} :catch_8c
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_50 .. :try_end_85} :catch_87
.line 280
nop
.end local v3 # "bus":Ljava/lang/Object;
goto :goto_71
.line 284
:catch_87
move-exception v1
.line 285
.local v1, "e":Ljava/lang/reflect/InvocationTargetException;
invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V
goto :goto_91
.line 282
.end local v1 # "e":Ljava/lang/reflect/InvocationTargetException;
:catch_8c
move-exception v1
.line 283
.local v1, "e":Ljava/lang/IllegalAccessException;
invoke-virtual {v1}, Ljava/lang/IllegalAccessException;->printStackTrace()V
.line 286
.end local v1 # "e":Ljava/lang/IllegalAccessException;
:cond_90
:goto_90
nop
.line 287
:goto_91
return-void
.end method
.method public static register(Ljava/lang/Object;)V
.registers 2
.param p0, "bus" # Ljava/lang/Object;
.line 68
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils;->getInstance()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
invoke-direct {v0, p0}, Lcom/blankj/utilcode/util/BusUtils;->registerInner(Ljava/lang/Object;)V
.line 69
return-void
.end method
.method private registerBus(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V
.registers 17
.param p1, "tag" # Ljava/lang/String;
.param p2, "className" # Ljava/lang/String;
.param p3, "funName" # Ljava/lang/String;
.param p4, "paramType" # Ljava/lang/String;
.param p5, "paramName" # Ljava/lang/String;
.param p6, "sticky" # Z
.param p7, "threadMode" # Ljava/lang/String;
.line 53
const/4 v8, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move-object v5, p5
move v6, p6
move-object/from16 v7, p7
invoke-direct/range {v0 .. v8}, Lcom/blankj/utilcode/util/BusUtils;->registerBus(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;I)V
.line 54
return-void
.end method
.method private registerBus(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;I)V
.registers 21
.param p1, "tag" # Ljava/lang/String;
.param p2, "className" # Ljava/lang/String;
.param p3, "funName" # Ljava/lang/String;
.param p4, "paramType" # Ljava/lang/String;
.param p5, "paramName" # Ljava/lang/String;
.param p6, "sticky" # Z
.param p7, "threadMode" # Ljava/lang/String;
.param p8, "priority" # I
.line 59
move-object v0, p0
move-object v1, p1
iget-object v2, v0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-interface {v2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
.line 60
.local v2, "busInfoList":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/BusUtils$BusInfo;>;"
if-nez v2, :cond_17
.line 61
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
move-object v2, v3
.line 62
iget-object v3, v0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-interface {v3, p1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 64
:cond_17
new-instance v11, Lcom/blankj/utilcode/util/BusUtils$BusInfo;
move-object v3, v11
move-object v4, p2
move-object v5, p3
move-object/from16 v6, p4
move-object/from16 v7, p5
move/from16 v8, p6
move-object/from16 v9, p7
move/from16 v10, p8
invoke-direct/range {v3 .. v10}, Lcom/blankj/utilcode/util/BusUtils$BusInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;I)V
invoke-interface {v2, v11}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 65
return-void
.end method
.method private registerInner(Ljava/lang/Object;)V
.registers 11
.param p1, "bus" # Ljava/lang/Object;
.line 109
if-nez p1, :cond_3
return-void
.line 110
:cond_3
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 111
.local v0, "aClass":Ljava/lang/Class;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
.line 112
.local v1, "className":Ljava/lang/String;
iget-object v2, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
monitor-enter v2
.line 113
:try_start_e
iget-object v3, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
invoke-interface {v3, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Set;
.line 114
.local v3, "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
if-nez v3, :cond_23
.line 115
new-instance v4, Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-direct {v4}, Ljava/util/concurrent/CopyOnWriteArraySet;-><init>()V
move-object v3, v4
.line 116
iget-object v4, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
invoke-interface {v4, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 118
:cond_23
invoke-interface {v3, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 119
nop
.end local v3 # "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
monitor-exit v2
:try_end_28
.catchall {:try_start_e .. :try_end_28} :catchall_9f
.line 120
iget-object v2, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_TagsMap:Ljava/util/Map;
invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
.line 121
.local v2, "tags":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
if-nez v2, :cond_9b
.line 122
iget-object v3, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_TagsMap:Ljava/util/Map;
monitor-enter v3
.line 123
:try_start_35
iget-object v4, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_TagsMap:Ljava/util/Map;
invoke-interface {v4, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/List;
move-object v2, v4
.line 124
if-nez v2, :cond_96
.line 125
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
move-object v2, v4
.line 126
iget-object v4, p0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-interface {v4}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v4
invoke-interface {v4}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_50
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_91
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/util/Map$Entry;
.line 127
.local v5, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/blankj/utilcode/util/BusUtils$BusInfo;>;>;"
invoke-interface {v5}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/util/List;
invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
:goto_66
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_90
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/blankj/utilcode/util/BusUtils$BusInfo;
:try_end_72
.catchall {:try_start_35 .. :try_end_72} :catchall_98
.line 129
.local v7, "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
:try_start_72
iget-object v8, v7, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->className:Ljava/lang/String;
invoke-static {v8}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v8
invoke-virtual {v8, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v8
if-eqz v8, :cond_8a
.line 130
invoke-interface {v5}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v8
invoke-interface {v2, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 131
iget-object v8, v7, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->classNames:Ljava/util/List;
invoke-interface {v8, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_8a
.catch Ljava/lang/ClassNotFoundException; {:try_start_72 .. :try_end_8a} :catch_8b
.catchall {:try_start_72 .. :try_end_8a} :catchall_98
.line 135
:cond_8a
goto :goto_8f
.line 133
:catch_8b
move-exception v8
.line 134
.local v8, "e":Ljava/lang/ClassNotFoundException;
:try_start_8c
invoke-virtual {v8}, Ljava/lang/ClassNotFoundException;->printStackTrace()V
.line 136
.end local v7 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.end local v8 # "e":Ljava/lang/ClassNotFoundException;
:goto_8f
goto :goto_66
.line 137
.end local v5 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Lcom/blankj/utilcode/util/BusUtils$BusInfo;>;>;"
:cond_90
goto :goto_50
.line 138
:cond_91
iget-object v4, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_TagsMap:Ljava/util/Map;
invoke-interface {v4, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 140
:cond_96
monitor-exit v3
goto :goto_9b
:catchall_98
move-exception v4
monitor-exit v3
:try_end_9a
.catchall {:try_start_8c .. :try_end_9a} :catchall_98
throw v4
.line 142
:cond_9b
:goto_9b
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/BusUtils;->processSticky(Ljava/lang/Object;)V
.line 143
return-void
.line 119
.end local v2 # "tags":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
:catchall_9f
move-exception v3
:try_start_a0
monitor-exit v2
:try_end_a1
.catchall {:try_start_a0 .. :try_end_a1} :catchall_9f
goto :goto_a3
:goto_a2
throw v3
:goto_a3
goto :goto_a2
.end method
.method public static removeSticky(Ljava/lang/String;)V
.registers 2
.param p0, "tag" # Ljava/lang/String;
.line 92
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils;->getInstance()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
invoke-direct {v0, p0}, Lcom/blankj/utilcode/util/BusUtils;->removeStickyInner(Ljava/lang/String;)V
.line 93
return-void
.end method
.method private removeStickyInner(Ljava/lang/String;)V
.registers 9
.param p1, "tag" # Ljava/lang/String;
.line 313
iget-object v0, p0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
.line 314
.local v0, "busInfoList":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/BusUtils$BusInfo;>;"
if-nez v0, :cond_26
.line 315
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The bus of tag <"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "> is not exists."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "BusUtils"
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 316
return-void
.line 318
:cond_26
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_2a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_92
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.line 319
.local v2, "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
iget-boolean v3, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->sticky:Z
if-nez v3, :cond_56
.line 320
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "The bus of tag <"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "> is not sticky."
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v3, "BusUtils"
invoke-static {v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 321
return-void
.line 323
:cond_56
iget-object v3, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
monitor-enter v3
.line 324
:try_start_59
iget-object v4, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_Tag_Arg4StickyMap:Ljava/util/Map;
iget-object v5, v2, Lcom/blankj/utilcode/util/BusUtils$BusInfo;->className:Ljava/lang/String;
invoke-interface {v4, v5}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/Map;
.line 325
.local v4, "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
if-eqz v4, :cond_72
invoke-interface {v4, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_6c
goto :goto_72
.line 329
:cond_6c
invoke-interface {v4, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 330
nop
.end local v4 # "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
monitor-exit v3
.line 331
.end local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
goto :goto_2a
.line 326
.restart local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
.restart local v4 # "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
:cond_72
:goto_72
const-string v1, "BusUtils"
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "The sticky bus of tag <"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, "> didn\'t post."
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v1, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 327
monitor-exit v3
return-void
.line 330
.end local v4 # "tagArgMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;"
:catchall_8f
move-exception v1
monitor-exit v3
:try_end_91
.catchall {:try_start_59 .. :try_end_91} :catchall_8f
throw v1
.line 332
.end local v2 # "busInfo":Lcom/blankj/utilcode/util/BusUtils$BusInfo;
:cond_92
return-void
.end method
.method public static toString_()Ljava/lang/String;
.registers 1
.line 96
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils;->getInstance()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
invoke-virtual {v0}, Lcom/blankj/utilcode/util/BusUtils;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static unregister(Ljava/lang/Object;)V
.registers 2
.param p0, "bus" # Ljava/lang/Object;
.line 72
invoke-static {}, Lcom/blankj/utilcode/util/BusUtils;->getInstance()Lcom/blankj/utilcode/util/BusUtils;
move-result-object v0
invoke-direct {v0, p0}, Lcom/blankj/utilcode/util/BusUtils;->unregisterInner(Ljava/lang/Object;)V
.line 73
return-void
.end method
.method private unregisterInner(Ljava/lang/Object;)V
.registers 8
.param p1, "bus" # Ljava/lang/Object;
.line 156
if-nez p1, :cond_3
return-void
.line 157
:cond_3
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
.line 158
.local v0, "className":Ljava/lang/String;
iget-object v1, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
monitor-enter v1
.line 159
:try_start_e
iget-object v2, p0, Lcom/blankj/utilcode/util/BusUtils;->mClassName_BusesMap:Ljava/util/Map;
invoke-interface {v2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Set;
.line 160
.local v2, "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
if-eqz v2, :cond_25
invoke-interface {v2, p1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_1f
goto :goto_25
.line 164
:cond_1f
invoke-interface {v2, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 165
nop
.end local v2 # "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
monitor-exit v1
.line 166
return-void
.line 161
.restart local v2 # "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
:cond_25
:goto_25
const-string v3, "BusUtils"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "The bus of <"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v5, "> was not registered before."
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 162
monitor-exit v1
return-void
.line 165
.end local v2 # "buses":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/Object;>;"
:catchall_42
move-exception v2
monitor-exit v1
:try_end_44
.catchall {:try_start_e .. :try_end_44} :catchall_42
throw v2
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.registers 3
.line 101
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "BusUtils: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/blankj/utilcode/util/BusUtils;->mTag_BusInfoListMap:Ljava/util/Map;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method