Logging.smali
.class public Lorg/webrtc/ali/Logging;
.super Ljava/lang/Object;
.source "Logging.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/webrtc/ali/Logging$Severity;,
Lorg/webrtc/ali/Logging$TraceLevel;,
Lorg/webrtc/ali/Logging$NativeLibStatus;
}
.end annotation
# static fields
.field private static final fallbackLogger:Ljava/util/logging/Logger;
.field private static volatile loggingEnabled:Z
.field private static volatile nativeLibStatus:Lorg/webrtc/ali/Logging$NativeLibStatus;
.field private static volatile tracingEnabled:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 30
invoke-static {}, Lorg/webrtc/ali/Logging;->createFallbackLogger()Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
.line 34
sget-object v0, Lorg/webrtc/ali/Logging$NativeLibStatus;->UNINITIALIZED:Lorg/webrtc/ali/Logging$NativeLibStatus;
sput-object v0, Lorg/webrtc/ali/Logging;->nativeLibStatus:Lorg/webrtc/ali/Logging$NativeLibStatus;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 29
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static createFallbackLogger()Ljava/util/logging/Logger;
.registers 2
.line 37
const-string v0, "org.webrtc.Logging"
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
.line 38
.local v0, "fallbackLogger":Ljava/util/logging/Logger;
sget-object v1, Ljava/util/logging/Level;->ALL:Ljava/util/logging/Level;
invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->setLevel(Ljava/util/logging/Level;)V
.line 39
return-object v0
.end method
.method public static d(Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.param p0, "tag" # Ljava/lang/String;
.param p1, "message" # Ljava/lang/String;
.line 158
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_INFO:Lorg/webrtc/ali/Logging$Severity;
invoke-static {v0, p0, p1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 159
return-void
.end method
.method public static e(Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.param p0, "tag" # Ljava/lang/String;
.param p1, "message" # Ljava/lang/String;
.line 162
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_ERROR:Lorg/webrtc/ali/Logging$Severity;
invoke-static {v0, p0, p1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 163
return-void
.end method
.method public static e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.registers 5
.param p0, "tag" # Ljava/lang/String;
.param p1, "message" # Ljava/lang/String;
.param p2, "e" # Ljava/lang/Throwable;
.line 170
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_ERROR:Lorg/webrtc/ali/Logging$Severity;
invoke-static {v0, p0, p1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 171
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_ERROR:Lorg/webrtc/ali/Logging$Severity;
invoke-virtual {p2}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, p0, v1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 172
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_ERROR:Lorg/webrtc/ali/Logging$Severity;
invoke-static {p2}, Lorg/webrtc/ali/Logging;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v1
invoke-static {v0, p0, v1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 173
return-void
.end method
.method public static enableLogThreads()V
.registers 3
.line 84
invoke-static {}, Lorg/webrtc/ali/Logging;->loadNativeLibrary()Z
move-result v0
if-nez v0, :cond_10
.line 85
sget-object v0, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
sget-object v1, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v2, "Cannot enable log thread because native lib not loaded."
invoke-virtual {v0, v1, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
.line 86
return-void
.line 88
:cond_10
invoke-static {}, Lorg/webrtc/ali/Logging;->nativeEnableLogThreads()V
.line 89
return-void
.end method
.method public static enableLogTimeStamps()V
.registers 3
.line 92
invoke-static {}, Lorg/webrtc/ali/Logging;->loadNativeLibrary()Z
move-result v0
if-nez v0, :cond_10
.line 93
sget-object v0, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
sget-object v1, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v2, "Cannot enable log timestamps because native lib not loaded."
invoke-virtual {v0, v1, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
.line 95
return-void
.line 97
:cond_10
invoke-static {}, Lorg/webrtc/ali/Logging;->nativeEnableLogTimeStamps()V
.line 98
return-void
.end method
.method public static declared-synchronized enableLogToDebugOutput(Lorg/webrtc/ali/Logging$Severity;)V
.registers 5
.param p0, "severity" # Lorg/webrtc/ali/Logging$Severity;
const-class v0, Lorg/webrtc/ali/Logging;
monitor-enter v0
.line 124
:try_start_3
invoke-static {}, Lorg/webrtc/ali/Logging;->loadNativeLibrary()Z
move-result v1
if-nez v1, :cond_14
.line 125
sget-object v1, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v3, "Cannot enable logging because native lib not loaded."
invoke-virtual {v1, v2, v3}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
:try_end_12
.catchall {:try_start_3 .. :try_end_12} :catchall_20
.line 126
monitor-exit v0
return-void
.line 128
:cond_14
:try_start_14
invoke-virtual {p0}, Lorg/webrtc/ali/Logging$Severity;->ordinal()I
move-result v1
invoke-static {v1}, Lorg/webrtc/ali/Logging;->nativeEnableLogToDebugOutput(I)V
.line 129
const/4 v1, 0x1
sput-boolean v1, Lorg/webrtc/ali/Logging;->loggingEnabled:Z
:try_end_1e
.catchall {:try_start_14 .. :try_end_1e} :catchall_20
.line 130
monitor-exit v0
return-void
.line 123
.end local p0 # "severity":Lorg/webrtc/ali/Logging$Severity;
:catchall_20
move-exception p0
monitor-exit v0
throw p0
.end method
.method public static declared-synchronized enableTracing(Ljava/lang/String;Ljava/util/EnumSet;)V
.registers 7
.param p0, "path" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/EnumSet<",
"Lorg/webrtc/ali/Logging$TraceLevel;",
">;)V"
}
.end annotation
.local p1, "levels":Ljava/util/EnumSet;, "Ljava/util/EnumSet<Lorg/webrtc/ali/Logging$TraceLevel;>;"
const-class v0, Lorg/webrtc/ali/Logging;
monitor-enter v0
.line 104
:try_start_3
invoke-static {}, Lorg/webrtc/ali/Logging;->loadNativeLibrary()Z
move-result v1
if-nez v1, :cond_14
.line 105
sget-object v1, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v3, "Cannot enable tracing because native lib not loaded."
invoke-virtual {v1, v2, v3}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
:try_end_12
.catchall {:try_start_3 .. :try_end_12} :catchall_37
.line 106
monitor-exit v0
return-void
.line 109
:cond_14
:try_start_14
sget-boolean v1, Lorg/webrtc/ali/Logging;->tracingEnabled:Z
:try_end_16
.catchall {:try_start_14 .. :try_end_16} :catchall_37
if-eqz v1, :cond_1a
.line 110
monitor-exit v0
return-void
.line 112
:cond_1a
const/4 v1, 0x0
.line 113
.local v1, "nativeLevel":I
:try_start_1b
invoke-virtual {p1}, Ljava/util/EnumSet;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_1f
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_2f
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lorg/webrtc/ali/Logging$TraceLevel;
.line 114
.local v3, "level":Lorg/webrtc/ali/Logging$TraceLevel;
iget v4, v3, Lorg/webrtc/ali/Logging$TraceLevel;->level:I
or-int/2addr v1, v4
.line 115
.end local v3 # "level":Lorg/webrtc/ali/Logging$TraceLevel;
goto :goto_1f
.line 116
:cond_2f
invoke-static {p0, v1}, Lorg/webrtc/ali/Logging;->nativeEnableTracing(Ljava/lang/String;I)V
.line 117
const/4 v2, 0x1
sput-boolean v2, Lorg/webrtc/ali/Logging;->tracingEnabled:Z
:try_end_35
.catchall {:try_start_1b .. :try_end_35} :catchall_37
.line 118
monitor-exit v0
return-void
.line 103
.end local v1 # "nativeLevel":I
.end local p0 # "path":Ljava/lang/String;
.end local p1 # "levels":Ljava/util/EnumSet;, "Ljava/util/EnumSet<Lorg/webrtc/ali/Logging$TraceLevel;>;"
:catchall_37
move-exception p0
monitor-exit v0
goto :goto_3b
:goto_3a
throw p0
:goto_3b
goto :goto_3a
.end method
.method private static getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
.registers 4
.param p0, "e" # Ljava/lang/Throwable;
.line 186
if-nez p0, :cond_5
.line 187
const-string v0, ""
return-object v0
.line 190
:cond_5
new-instance v0, Ljava/io/StringWriter;
invoke-direct {v0}, Ljava/io/StringWriter;-><init>()V
.line 191
.local v0, "sw":Ljava/io/StringWriter;
new-instance v1, Ljava/io/PrintWriter;
invoke-direct {v1, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
.line 192
.local v1, "pw":Ljava/io/PrintWriter;
invoke-virtual {p0, v1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
.line 193
invoke-virtual {v0}, Ljava/io/StringWriter;->toString()Ljava/lang/String;
move-result-object v2
return-object v2
.end method
.method private static loadNativeLibrary()Z
.registers 4
.line 43
sget-object v0, Lorg/webrtc/ali/Logging;->nativeLibStatus:Lorg/webrtc/ali/Logging$NativeLibStatus;
sget-object v1, Lorg/webrtc/ali/Logging$NativeLibStatus;->UNINITIALIZED:Lorg/webrtc/ali/Logging$NativeLibStatus;
if-ne v0, v1, :cond_19
.line 47
:try_start_6
sget-object v0, Lorg/webrtc/ali/Logging$NativeLibStatus;->FAILED:Lorg/webrtc/ali/Logging$NativeLibStatus;
sput-object v0, Lorg/webrtc/ali/Logging;->nativeLibStatus:Lorg/webrtc/ali/Logging$NativeLibStatus;
:try_end_a
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_6 .. :try_end_a} :catch_b
.line 51
goto :goto_19
.line 48
:catch_b
move-exception v0
.line 49
.local v0, "t":Ljava/lang/UnsatisfiedLinkError;
sget-object v1, Lorg/webrtc/ali/Logging$NativeLibStatus;->FAILED:Lorg/webrtc/ali/Logging$NativeLibStatus;
sput-object v1, Lorg/webrtc/ali/Logging;->nativeLibStatus:Lorg/webrtc/ali/Logging$NativeLibStatus;
.line 50
sget-object v1, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v3, "Failed to load jingle_peerconnection_so: "
invoke-virtual {v1, v2, v3, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 53
.end local v0 # "t":Ljava/lang/UnsatisfiedLinkError;
:cond_19
:goto_19
sget-object v0, Lorg/webrtc/ali/Logging;->nativeLibStatus:Lorg/webrtc/ali/Logging$NativeLibStatus;
sget-object v1, Lorg/webrtc/ali/Logging$NativeLibStatus;->LOADED:Lorg/webrtc/ali/Logging$NativeLibStatus;
if-ne v0, v1, :cond_21
const/4 v0, 0x1
goto :goto_22
:cond_21
const/4 v0, 0x0
:goto_22
return v0
.end method
.method public static log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.registers 7
.param p0, "severity" # Lorg/webrtc/ali/Logging$Severity;
.param p1, "tag" # Ljava/lang/String;
.param p2, "message" # Ljava/lang/String;
.line 133
sget-boolean v0, Lorg/webrtc/ali/Logging;->loggingEnabled:Z
if-eqz v0, :cond_c
.line 134
invoke-virtual {p0}, Lorg/webrtc/ali/Logging$Severity;->ordinal()I
move-result v0
invoke-static {v0, p1, p2}, Lorg/webrtc/ali/Logging;->nativeLog(ILjava/lang/String;Ljava/lang/String;)V
.line 135
return-void
.line 140
:cond_c
sget-object v0, Lorg/webrtc/ali/Logging$1;->$SwitchMap$org$webrtc$ali$Logging$Severity:[I
invoke-virtual {p0}, Lorg/webrtc/ali/Logging$Severity;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_26
const/4 v1, 0x2
if-eq v0, v1, :cond_23
const/4 v1, 0x3
if-eq v0, v1, :cond_20
.line 151
sget-object v0, Ljava/util/logging/Level;->FINE:Ljava/util/logging/Level;
.local v0, "level":Ljava/util/logging/Level;
goto :goto_29
.line 148
.end local v0 # "level":Ljava/util/logging/Level;
:cond_20
sget-object v0, Ljava/util/logging/Level;->INFO:Ljava/util/logging/Level;
.line 149
.restart local v0 # "level":Ljava/util/logging/Level;
goto :goto_29
.line 145
.end local v0 # "level":Ljava/util/logging/Level;
:cond_23
sget-object v0, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
.line 146
.restart local v0 # "level":Ljava/util/logging/Level;
goto :goto_29
.line 142
.end local v0 # "level":Ljava/util/logging/Level;
:cond_26
sget-object v0, Ljava/util/logging/Level;->SEVERE:Ljava/util/logging/Level;
.line 143
.restart local v0 # "level":Ljava/util/logging/Level;
nop
.line 154
:goto_29
sget-object v1, Lorg/webrtc/ali/Logging;->fallbackLogger:Ljava/util/logging/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ": "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v0, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
.line 155
return-void
.end method
.method private static native nativeEnableLogThreads()V
.end method
.method private static native nativeEnableLogTimeStamps()V
.end method
.method private static native nativeEnableLogToDebugOutput(I)V
.end method
.method private static native nativeEnableTracing(Ljava/lang/String;I)V
.end method
.method private static native nativeLog(ILjava/lang/String;Ljava/lang/String;)V
.end method
.method public static v(Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.param p0, "tag" # Ljava/lang/String;
.param p1, "message" # Ljava/lang/String;
.line 182
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_VERBOSE:Lorg/webrtc/ali/Logging$Severity;
invoke-static {v0, p0, p1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 183
return-void
.end method
.method public static w(Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.param p0, "tag" # Ljava/lang/String;
.param p1, "message" # Ljava/lang/String;
.line 166
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_WARNING:Lorg/webrtc/ali/Logging$Severity;
invoke-static {v0, p0, p1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 167
return-void
.end method
.method public static w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.registers 5
.param p0, "tag" # Ljava/lang/String;
.param p1, "message" # Ljava/lang/String;
.param p2, "e" # Ljava/lang/Throwable;
.line 176
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_WARNING:Lorg/webrtc/ali/Logging$Severity;
invoke-static {v0, p0, p1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 177
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_WARNING:Lorg/webrtc/ali/Logging$Severity;
invoke-virtual {p2}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, p0, v1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 178
sget-object v0, Lorg/webrtc/ali/Logging$Severity;->LS_WARNING:Lorg/webrtc/ali/Logging$Severity;
invoke-static {p2}, Lorg/webrtc/ali/Logging;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v1
invoke-static {v0, p0, v1}, Lorg/webrtc/ali/Logging;->log(Lorg/webrtc/ali/Logging$Severity;Ljava/lang/String;Ljava/lang/String;)V
.line 179
return-void
.end method