AndroidLog.smali
.class public Lcom/j256/ormlite/android/AndroidLog;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/j256/ormlite/logger/Log;
# static fields
.field private static final ALL_LOGS_NAME:Ljava/lang/String; = "ORMLite"
.field private static final MAX_TAG_LENGTH:I = 0x17
.field private static final REFRESH_LEVEL_CACHE_EVERY:I = 0xc8
# instance fields
.field private className:Ljava/lang/String;
.field private final levelCache:[Z
.field private volatile levelCacheC:I
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.registers 6
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput v0, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCacheC:I
.line 3
invoke-static {p1}, Lcom/j256/ormlite/logger/LoggerFactory;->getSimpleClassName(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/j256/ormlite/android/AndroidLog;->className:Ljava/lang/String;
.line 4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
const/16 v1, 0x17
if-le p1, v1, :cond_1e
.line 5
iget-object v1, p0, Lcom/j256/ormlite/android/AndroidLog;->className:Ljava/lang/String;
add-int/lit8 v2, p1, -0x17
invoke-virtual {v1, v2, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/j256/ormlite/android/AndroidLog;->className:Ljava/lang/String;
.line 6
:cond_1e
invoke-static {}, Lcom/j256/ormlite/logger/Log$Level;->values()[Lcom/j256/ormlite/logger/Log$Level;
move-result-object p1
array-length v1, p1
const/4 v2, 0x0
:goto_24
if-ge v0, v1, :cond_32
aget-object v3, p1, v0
.line 7
invoke-direct {p0, v3}, Lcom/j256/ormlite/android/AndroidLog;->levelToAndroidLevel(Lcom/j256/ormlite/logger/Log$Level;)I
move-result v3
if-le v3, v2, :cond_2f
move v2, v3
:cond_2f
add-int/lit8 v0, v0, 0x1
goto :goto_24
:cond_32
add-int/lit8 v2, v2, 0x1
.line 8
new-array p1, v2, [Z
iput-object p1, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCache:[Z
.line 9
invoke-direct {p0}, Lcom/j256/ormlite/android/AndroidLog;->refreshLevelCache()V
return-void
.end method
.method private isLevelEnabledInternal(I)Z
.registers 3
iget-object v0, p0, Lcom/j256/ormlite/android/AndroidLog;->className:Ljava/lang/String;
invoke-static {v0, p1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v0
if-nez v0, :cond_13
const-string v0, "ORMLite"
invoke-static {v0, p1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result p1
if-eqz p1, :cond_11
goto :goto_13
:cond_11
const/4 p1, 0x0
goto :goto_14
:cond_13
:goto_13
const/4 p1, 0x1
:goto_14
return p1
.end method
.method private levelToAndroidLevel(Lcom/j256/ormlite/logger/Log$Level;)I
.registers 5
sget-object v0, Lcom/j256/ormlite/android/AndroidLog$1;->$SwitchMap$com$j256$ormlite$logger$Log$Level:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result p1
aget p1, v0, p1
const/4 v0, 0x1
const/4 v1, 0x2
if-eq p1, v0, :cond_1c
if-eq p1, v1, :cond_1a
const/4 v0, 0x5
const/4 v1, 0x4
if-eq p1, v1, :cond_19
const/4 v2, 0x6
if-eq p1, v0, :cond_18
if-eq p1, v2, :cond_18
return v1
:cond_18
return v2
:cond_19
return v0
:cond_1a
const/4 p1, 0x3
return p1
:cond_1c
return v1
.end method
.method private refreshLevelCache()V
.registers 7
.line 1
invoke-static {}, Lcom/j256/ormlite/logger/Log$Level;->values()[Lcom/j256/ormlite/logger/Log$Level;
move-result-object v0
array-length v1, v0
const/4 v2, 0x0
:goto_6
if-ge v2, v1, :cond_1c
aget-object v3, v0, v2
.line 2
invoke-direct {p0, v3}, Lcom/j256/ormlite/android/AndroidLog;->levelToAndroidLevel(Lcom/j256/ormlite/logger/Log$Level;)I
move-result v3
.line 3
iget-object v4, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCache:[Z
array-length v5, v4
if-ge v3, v5, :cond_19
.line 4
invoke-direct {p0, v3}, Lcom/j256/ormlite/android/AndroidLog;->isLevelEnabledInternal(I)Z
move-result v5
aput-boolean v5, v4, v3
:cond_19
add-int/lit8 v2, v2, 0x1
goto :goto_6
:cond_1c
return-void
.end method
# virtual methods
.method public isLevelEnabled(Lcom/j256/ormlite/logger/Log$Level;)Z
.registers 4
.line 1
iget v0, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCacheC:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCacheC:I
const/16 v1, 0xc8
if-lt v0, v1, :cond_10
.line 2
invoke-direct {p0}, Lcom/j256/ormlite/android/AndroidLog;->refreshLevelCache()V
const/4 v0, 0x0
.line 3
iput v0, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCacheC:I
.line 4
:cond_10
invoke-direct {p0, p1}, Lcom/j256/ormlite/android/AndroidLog;->levelToAndroidLevel(Lcom/j256/ormlite/logger/Log$Level;)I
move-result p1
.line 5
iget-object v0, p0, Lcom/j256/ormlite/android/AndroidLog;->levelCache:[Z
array-length v1, v0
if-ge p1, v1, :cond_1c
.line 6
aget-boolean p1, v0, p1
return p1
.line 7
:cond_1c
invoke-direct {p0, p1}, Lcom/j256/ormlite/android/AndroidLog;->isLevelEnabledInternal(I)Z
move-result p1
return p1
.end method
.method public log(Lcom/j256/ormlite/logger/Log$Level;Ljava/lang/String;)V
.registers 3
.line 1
sget-object p2, Lcom/j256/ormlite/android/AndroidLog$1;->$SwitchMap$com$j256$ormlite$logger$Log$Level:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result p1
aget p1, p2, p1
return-void
.end method
.method public log(Lcom/j256/ormlite/logger/Log$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
.registers 4
.line 2
sget-object p2, Lcom/j256/ormlite/android/AndroidLog$1;->$SwitchMap$com$j256$ormlite$logger$Log$Level:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result p1
aget p1, p2, p1
return-void
.end method