u.smali
.class public Lcom/subgraph/orchid/circuits/u;
.super Ljava/lang/Object;
.source "TorInitializationTracker.java"
# static fields
.field private static final bDm:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<",
"Ljava/lang/Integer;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field private final bDn:Ljava/lang/Object;
.field private bDo:I
.field private final listeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/subgraph/orchid/ae;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 3
.prologue
.line 14
const-class v0, Lcom/subgraph/orchid/circuits/u;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/subgraph/orchid/circuits/u;->logger:Ljava/util/logging/Logger;
.line 15
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 18
sput-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/4 v1, 0x0
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Starting"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 19
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/4 v1, 0x5
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Connecting to directory server"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 20
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0xa
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Finishing handshake with directory server"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 21
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0xf
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Establishing an encrypted directory connection"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 22
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x14
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Asking for network status consensus"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 23
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x19
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Loading network status consensus"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 24
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x23
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Asking for authority key certs"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 25
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x28
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Loading authority key certs"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 26
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x2d
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Asking for relay descriptors"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 27
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x32
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Loading relay descriptors"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 28
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x50
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Connecting to the Tor network"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 29
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x55
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Finished Handshake with first hop"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 30
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x5a
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Establishing a Tor circuit"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 31
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
const/16 v1, 0x64
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Done"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 32
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 13
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 34
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/circuits/u;->listeners:Ljava/util/List;
.line 36
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/circuits/u;->bDn:Ljava/lang/Object;
.line 37
const/4 v0, 0x0
iput v0, p0, Lcom/subgraph/orchid/circuits/u;->bDo:I
return-void
.end method
.method private getListeners()Ljava/util/List;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/subgraph/orchid/ae;",
">;"
}
.end annotation
.prologue
.line 98
iget-object v1, p0, Lcom/subgraph/orchid/circuits/u;->listeners:Ljava/util/List;
monitor-enter v1
.line 99
:try_start_3
new-instance v0, Ljava/util/ArrayList;
iget-object v2, p0, Lcom/subgraph/orchid/circuits/u;->listeners:Ljava/util/List;
invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
monitor-exit v1
return-object v0
.line 100
:catchall_c
move-exception v0
monitor-exit v1
:try_end_e
.catchall {:try_start_3 .. :try_end_e} :catchall_c
throw v0
.end method
# virtual methods
.method public final a(Lcom/subgraph/orchid/ae;)V
.registers 4
.prologue
.line 41
iget-object v1, p0, Lcom/subgraph/orchid/circuits/u;->listeners:Ljava/util/List;
monitor-enter v1
.line 42
:try_start_3
iget-object v0, p0, Lcom/subgraph/orchid/circuits/u;->listeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_10
.line 43
iget-object v0, p0, Lcom/subgraph/orchid/circuits/u;->listeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 45
:cond_10
monitor-exit v1
return-void
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
.end method
.method public final eJ(I)V
.registers 11
.prologue
const/16 v8, 0x64
.line 66
iget-object v2, p0, Lcom/subgraph/orchid/circuits/u;->bDn:Ljava/lang/Object;
monitor-enter v2
.line 67
:try_start_5
iget v0, p0, Lcom/subgraph/orchid/circuits/u;->bDo:I
if-le p1, v0, :cond_b
if-le p1, v8, :cond_d
.line 68
:cond_b
monitor-exit v2
.line 72
:goto_c
return-void
.line 70
:cond_d
iput p1, p0, Lcom/subgraph/orchid/circuits/u;->bDo:I
.line 1090
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_64
.line 1091
sget-object v0, Lcom/subgraph/orchid/circuits/u;->bDm:Ljava/util/Map;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
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/lang/String;
move-object v1, v0
.line 1077
:goto_28
invoke-direct {p0}, Lcom/subgraph/orchid/circuits/u;->getListeners()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_30
:goto_30
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_68
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/subgraph/orchid/ae;
:try_end_3c
.catchall {:try_start_5 .. :try_end_3c} :catchall_61
.line 1079
:try_start_3c
invoke-interface {v0, v1, p1}, Lcom/subgraph/orchid/ae;->p(Ljava/lang/String;I)V
.line 1080
if-lt p1, v8, :cond_30
.line 1081
invoke-interface {v0}, Lcom/subgraph/orchid/ae;->Kd()V
:try_end_44
.catch Ljava/lang/Exception; {:try_start_3c .. :try_end_44} :catch_45
.catchall {:try_start_3c .. :try_end_44} :catchall_61
goto :goto_30
.line 1083
:catch_45
move-exception v0
.line 1084
:try_start_46
sget-object v4, Lcom/subgraph/orchid/circuits/u;->logger:Ljava/util/logging/Logger;
sget-object v5, Ljava/util/logging/Level;->SEVERE:Ljava/util/logging/Level;
new-instance v6, Ljava/lang/StringBuilder;
const-string v7, "Exception occurred in TorInitializationListener callback: "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v4, v5, v6, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_30
.line 72
:catchall_61
move-exception v0
monitor-exit v2
:try_end_63
.catchall {:try_start_46 .. :try_end_63} :catchall_61
throw v0
.line 1093
:cond_64
:try_start_64
const-string v0, "Unknown state"
move-object v1, v0
goto :goto_28
.line 72
:cond_68
monitor-exit v2
:try_end_69
.catchall {:try_start_64 .. :try_end_69} :catchall_61
goto :goto_c
.end method