a.smali
.class public Lcom/baidu/security/engine/cloud/algorithm/a/a;
.super Ljava/lang/Object;
.source "Cloud5InfosCacheManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/baidu/security/engine/cloud/algorithm/a/a$a;
}
.end annotation
# static fields
.field private static b:Lcom/baidu/security/engine/cloud/algorithm/a/a;
# instance fields
.field private a:Ljava/util/concurrent/atomic/AtomicInteger;
.field private c:Lcom/baidu/security/engine/cloud/algorithm/a/a$a;
.field private d:Landroid/database/sqlite/SQLiteDatabase;
# direct methods
.method private constructor <init>()V
.registers 3
.prologue
.line 36
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 22
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->a:Ljava/util/concurrent/atomic/AtomicInteger;
.line 37
new-instance v0, Lcom/baidu/security/engine/cloud/algorithm/a/a$a;
invoke-static {}, Lcom/baidu/security/b/a;->a()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Lcom/baidu/security/engine/cloud/algorithm/a/a$a;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->c:Lcom/baidu/security/engine/cloud/algorithm/a/a$a;
.line 38
return-void
.end method
.method public static a()Lcom/baidu/security/engine/cloud/algorithm/a/a;
.registers 2
.prologue
.line 28
const-class v1, Lcom/baidu/security/engine/cloud/algorithm/a/a;
monitor-enter v1
.line 29
:try_start_3
sget-object v0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->b:Lcom/baidu/security/engine/cloud/algorithm/a/a;
if-nez v0, :cond_e
.line 30
new-instance v0, Lcom/baidu/security/engine/cloud/algorithm/a/a;
invoke-direct {v0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;-><init>()V
sput-object v0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->b:Lcom/baidu/security/engine/cloud/algorithm/a/a;
.line 32
:cond_e
sget-object v0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->b:Lcom/baidu/security/engine/cloud/algorithm/a/a;
monitor-exit v1
return-object v0
.line 33
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
.end method
# virtual methods
.method public a(Ljava/lang/String;[Ljava/lang/String;)V
.registers 13
.prologue
const/4 v7, 0x3
const/4 v9, 0x2
const/4 v8, 0x1
const/4 v6, 0x0
.line 170
invoke-virtual {p0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->b()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 172
new-instance v1, Landroid/content/ContentValues;
invoke-direct {v1}, Landroid/content/ContentValues;-><init>()V
.line 173
const-string v2, "path_md5"
invoke-static {p1}, Lcom/baidu/security/f/n;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 174
const-string v2, "file_timestamp"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
new-instance v4, Ljava/io/File;
invoke-direct {v4, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->lastModified()J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 175
const-string v2, "file_size"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
new-instance v4, Ljava/io/File;
invoke-direct {v4, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 177
const-string v2, "magicMd5"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
aget-object v4, p2, v6
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 178
const-string v2, "signSha1"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
aget-object v4, p2, v8
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 179
const-string v2, "packageName"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
aget-object v4, p2, v9
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 180
const-string v2, "packageNameMd5"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
aget-object v4, p2, v7
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 181
const-string v2, "versionCode"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const/4 v4, 0x4
aget-object v4, p2, v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ""
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 183
invoke-virtual {p0, p1}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->a(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
.line 184
if-nez v2, :cond_eb
.line 185
const-string v2, "Cloud5Infos_cache"
const/4 v3, 0x0
invoke-virtual {v0, v2, v3, v1}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
.line 196
:goto_e7
invoke-virtual {p0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->c()V
.line 197
return-void
.line 187
:cond_eb
const-string v2, "path_md5=? and file_timestamp=? and file_size=? "
.line 190
new-array v3, v7, [Ljava/lang/String;
invoke-static {p1}, Lcom/baidu/security/f/n;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v6
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
new-instance v5, Ljava/io/File;
invoke-direct {v5, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 191
invoke-virtual {v5}, Ljava/io/File;->lastModified()J
move-result-wide v6
invoke-virtual {v4, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ""
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v8
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
new-instance v5, Ljava/io/File;
invoke-direct {v5, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 192
invoke-virtual {v5}, Ljava/io/File;->length()J
move-result-wide v6
invoke-virtual {v4, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ""
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v9
.line 193
const-string v4, "Cloud5Infos_cache"
invoke-virtual {v0, v4, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
goto :goto_e7
.end method
.method public a(Ljava/lang/String;)[Ljava/lang/String;
.registers 12
.prologue
const/4 v8, 0x0
.line 134
.line 135
invoke-virtual {p0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->b()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 140
:try_start_5
const-string v3, "path_md5=? and file_timestamp=? and file_size=? "
.line 143
const/4 v1, 0x3
new-array v4, v1, [Ljava/lang/String;
const/4 v1, 0x0
invoke-static {p1}, Lcom/baidu/security/f/n;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
aput-object v2, v4, v1
const/4 v1, 0x1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
new-instance v5, Ljava/io/File;
invoke-direct {v5, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 144
invoke-virtual {v5}, Ljava/io/File;->lastModified()J
move-result-wide v6
invoke-virtual {v2, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v2
const-string v5, ""
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
aput-object v2, v4, v1
const/4 v1, 0x2
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
new-instance v5, Ljava/io/File;
invoke-direct {v5, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 145
invoke-virtual {v5}, Ljava/io/File;->length()J
move-result-wide v6
invoke-virtual {v2, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v2
const-string v5, ""
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
aput-object v2, v4, v1
.line 146
const-string v1, "Cloud5Infos_cache"
const/4 v2, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
invoke-virtual/range {v0 .. v7}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
:try_end_58
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_58} :catch_b5
.catchall {:try_start_5 .. :try_end_58} :catchall_cb
move-result-object v1
.line 148
if-eqz v1, :cond_ec
:try_start_5b
invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
if-eqz v0, :cond_ec
.line 149
const/4 v0, 0x5
new-array v2, v0, [Ljava/lang/String;
:try_end_64
.catch Ljava/lang/Exception; {:try_start_5b .. :try_end_64} :catch_e1
.catchall {:try_start_5b .. :try_end_64} :catchall_dc
.line 150
const/4 v0, 0x0
:try_start_65
const-string v3, "magicMd5"
invoke-interface {v1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {v1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
.line 151
const/4 v0, 0x1
const-string v3, "signSha1"
invoke-interface {v1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {v1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
.line 152
const/4 v0, 0x2
const-string v3, "packageName"
invoke-interface {v1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {v1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
.line 153
const/4 v0, 0x3
const-string v3, "packageNameMd5"
invoke-interface {v1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {v1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
.line 154
const/4 v0, 0x4
const-string v3, "versionCode"
invoke-interface {v1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {v1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
:try_end_a5
.catch Ljava/lang/Exception; {:try_start_65 .. :try_end_a5} :catch_e6
.catchall {:try_start_65 .. :try_end_a5} :catchall_dc
move-object v0, v2
.line 159
:goto_a6
if-eqz v1, :cond_ab
.line 160
invoke-interface {v1}, Landroid/database/Cursor;->close()V
.line 162
:cond_ab
invoke-virtual {p0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->c()V
.line 163
invoke-static {v8}, Lcom/baidu/security/f/j;->a(Ljava/io/Closeable;)V
.line 164
invoke-static {v8}, Lcom/baidu/security/f/j;->a(Ljava/io/Closeable;)V
.line 166
:goto_b4
return-object v0
.line 156
:catch_b5
move-exception v0
move-object v1, v0
move-object v2, v8
move-object v0, v8
.line 157
:goto_b9
:try_start_b9
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_bc
.catchall {:try_start_b9 .. :try_end_bc} :catchall_de
.line 159
if-eqz v2, :cond_c1
.line 160
invoke-interface {v2}, Landroid/database/Cursor;->close()V
.line 162
:cond_c1
invoke-virtual {p0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->c()V
.line 163
invoke-static {v8}, Lcom/baidu/security/f/j;->a(Ljava/io/Closeable;)V
.line 164
invoke-static {v8}, Lcom/baidu/security/f/j;->a(Ljava/io/Closeable;)V
goto :goto_b4
.line 159
:catchall_cb
move-exception v0
move-object v1, v8
:goto_cd
if-eqz v1, :cond_d2
.line 160
invoke-interface {v1}, Landroid/database/Cursor;->close()V
.line 162
:cond_d2
invoke-virtual {p0}, Lcom/baidu/security/engine/cloud/algorithm/a/a;->c()V
.line 163
invoke-static {v8}, Lcom/baidu/security/f/j;->a(Ljava/io/Closeable;)V
.line 164
invoke-static {v8}, Lcom/baidu/security/f/j;->a(Ljava/io/Closeable;)V
throw v0
.line 159
:catchall_dc
move-exception v0
goto :goto_cd
:catchall_de
move-exception v0
move-object v1, v2
goto :goto_cd
.line 156
:catch_e1
move-exception v0
move-object v2, v1
move-object v1, v0
move-object v0, v8
goto :goto_b9
:catch_e6
move-exception v0
move-object v9, v0
move-object v0, v2
move-object v2, v1
move-object v1, v9
goto :goto_b9
:cond_ec
move-object v0, v8
goto :goto_a6
.end method
.method public declared-synchronized b()Landroid/database/sqlite/SQLiteDatabase;
.registers 3
.prologue
.line 41
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->a:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_12
.line 43
iget-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->c:Lcom/baidu/security/engine/cloud/algorithm/a/a$a;
invoke-virtual {v0}, Lcom/baidu/security/engine/cloud/algorithm/a/a$a;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
iput-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->d:Landroid/database/sqlite/SQLiteDatabase;
.line 45
:cond_12
iget-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->d:Landroid/database/sqlite/SQLiteDatabase;
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_16
monitor-exit p0
return-object v0
.line 41
:catchall_16
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized c()V
.registers 2
.prologue
.line 49
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->a:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_e
.line 51
iget-object v0, p0, Lcom/baidu/security/engine/cloud/algorithm/a/a;->d:Landroid/database/sqlite/SQLiteDatabase;
invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_10
.line 53
:cond_e
monitor-exit p0
return-void
.line 49
:catchall_10
move-exception v0
monitor-exit p0
throw v0
.end method