a.smali
.class public Lcom/ss/android/socialbase/downloader/c/a;
.super Landroid/database/sqlite/SQLiteOpenHelper;
.source "DownloadDBHelper.java"
# static fields
.field private static volatile a:Lcom/ss/android/socialbase/downloader/c/a;
# instance fields
.field private b:Z
# direct methods
.method private constructor <init>()V
.registers 5
.prologue
.line 33
invoke-static {}, Lcom/ss/android/socialbase/downloader/downloader/g;->G()Landroid/content/Context;
move-result-object v0
const-string v1, "downloader.db"
const/4 v2, 0x0
const/16 v3, 0xd
invoke-direct {p0, v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
.line 34
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/ss/android/socialbase/downloader/c/a;->b:Z
.line 35
return-void
.end method
.method public static a()Lcom/ss/android/socialbase/downloader/c/a;
.registers 2
.prologue
.line 23
sget-object v0, Lcom/ss/android/socialbase/downloader/c/a;->a:Lcom/ss/android/socialbase/downloader/c/a;
if-nez v0, :cond_13
.line 24
const-class v1, Lcom/ss/android/socialbase/downloader/c/a;
monitor-enter v1
.line 25
:try_start_7
sget-object v0, Lcom/ss/android/socialbase/downloader/c/a;->a:Lcom/ss/android/socialbase/downloader/c/a;
if-nez v0, :cond_12
.line 26
new-instance v0, Lcom/ss/android/socialbase/downloader/c/a;
invoke-direct {v0}, Lcom/ss/android/socialbase/downloader/c/a;-><init>()V
sput-object v0, Lcom/ss/android/socialbase/downloader/c/a;->a:Lcom/ss/android/socialbase/downloader/c/a;
.line 27
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 29
:cond_13
sget-object v0, Lcom/ss/android/socialbase/downloader/c/a;->a:Lcom/ss/android/socialbase/downloader/c/a;
return-object v0
.line 27
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
# virtual methods
.method public getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
.registers 4
.prologue
.line 39
invoke-static {}, Lcom/ss/android/socialbase/downloader/downloader/g;->G()Landroid/content/Context;
move-result-object v0
.line 40
iget-boolean v1, p0, Lcom/ss/android/socialbase/downloader/c/a;->b:Z
if-nez v1, :cond_4b
if-eqz v0, :cond_4b
.line 42
:try_start_a
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "/data/data/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "/database/main/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 43
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 44
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_35
.line 45
invoke-virtual {v1}, Ljava/io/File;->mkdir()Z
.line 46
:cond_35
invoke-super {p0}, Landroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
const-string v1, "PRAGMA temp_store_directory = tempDir"
invoke-virtual {v0, v1}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 47
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/ss/android/socialbase/downloader/c/a;->b:Z
:try_end_41
.catch Ljava/lang/Exception; {:try_start_a .. :try_end_41} :catch_46
.line 51
:goto_41
invoke-super {p0}, Landroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 53
:goto_45
return-object v0
.line 48
:catch_46
move-exception v0
.line 49
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_41
.line 53
:cond_4b
invoke-super {p0}, Landroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
goto :goto_45
.end method
.method public onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
.registers 3
.prologue
.line 59
const-string v0, "CREATE TABLE IF NOT EXISTS downloader( _id INTEGER PRIMARY KEY, url TEXT, savePath TEXT, tempPath TEXT, name TEXT, chunkCount INTEGER, status INTEGER, curBytes INTEGER, totalBytes INTEGER, eTag TEXT, onlyWifi INTEGER, force INTEGER, retryCount INTEGER, extra TEXT, mimeType TEXT, title TEXT, notificationEnable INTEGER, notificationVisibility INTEGER, isFirstDownload INTEGER, isFirstSuccess INTEGER, needHttpsToHttpRetry INTEGER, downloadTime INTEGER, packageName TEXT, md5 TEXT, retryDelay INTEGER, curRetryTime INTEGER, retryDelayStatus INTEGER, defaultHttpServiceBackUp INTEGER, chunkRunnableReuse INTEGER, retryDelayTimeArray TEXT, chunkDowngradeRetry INTEGER, backUpUrlsStr TEXT, backUpUrlRetryCount INTEGER, realDownloadTime INTEGER, retryScheduleMinutes INTEGER, independentProcess INTEGER, auxiliaryJsonobjectString TEXT, iconUrl TEXT, appVersionCode INTEGER)"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 60
const-string v0, "CREATE TABLE IF NOT EXISTS downloadChunk( _id INTEGER, chunkIndex INTEGER, startOffset INTEGER, curOffset INTEGER, endOffset INTEGER, chunkContentLen INTEGER, hostChunkIndex INTEGER )"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 61
return-void
.end method
.method public onDowngrade(Landroid/database/sqlite/SQLiteDatabase;II)V
.registers 5
.prologue
.line 149
invoke-static {}, Lcom/ss/android/socialbase/downloader/f/a;->a()Z
move-result v0
if-eqz v0, :cond_b
.line 150
const-string v0, "onDowngrade"
invoke-static {v0}, Lcom/ss/android/socialbase/downloader/f/a;->a(Ljava/lang/String;)V
.line 151
:cond_b
return-void
.end method
.method public onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V
.registers 5
.prologue
.line 65
packed-switch p2, :pswitch_data_8e
.line 145
:goto_3
return-void
.line 67
:pswitch_4
const-string v0, "ALTER TABLE downloader ADD mimeType TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 69
const-string v0, "ALTER TABLE downloader ADD title TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 71
const-string v0, "ALTER TABLE downloader ADD notificationEnable INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 73
const-string v0, "ALTER TABLE downloader ADD notificationVisibility INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 77
:pswitch_18
const-string v0, "ALTER TABLE downloader ADD isFirstDownload INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 81
:pswitch_1d
const-string v0, "ALTER TABLE downloader ADD isFirstSuccess INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 85
:pswitch_22
const-string v0, "ALTER TABLE downloader ADD needHttpsToHttpRetry INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 87
const-string v0, "ALTER TABLE downloader ADD downloadTime INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 91
:pswitch_2c
const-string v0, "ALTER TABLE downloader ADD packageName TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 93
const-string v0, "ALTER TABLE downloader ADD md5 TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 97
:pswitch_36
const-string v0, "ALTER TABLE downloader ADD retryDelay INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 99
const-string v0, "ALTER TABLE downloader ADD curRetryTime INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 101
const-string v0, "ALTER TABLE downloader ADD retryDelayStatus INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 103
const-string v0, "ALTER TABLE downloader ADD defaultHttpServiceBackUp INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 107
:pswitch_4a
const-string v0, "ALTER TABLE downloadChunk ADD chunkContentLen INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 109
const-string v0, "ALTER TABLE downloadChunk ADD hostChunkIndex INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 113
:pswitch_54
const-string v0, "ALTER TABLE downloader ADD chunkRunnableReuse INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 117
:pswitch_59
const-string v0, "ALTER TABLE downloader ADD retryDelayTimeArray TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 121
:pswitch_5e
const-string v0, "ALTER TABLE downloader ADD chunkDowngradeRetry INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 123
const-string v0, "ALTER TABLE downloader ADD backUpUrlsStr TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 125
const-string v0, "ALTER TABLE downloader ADD backUpUrlRetryCount INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 127
const-string v0, "ALTER TABLE downloader ADD realDownloadTime INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 129
const-string v0, "ALTER TABLE downloader ADD retryScheduleMinutes INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 131
const-string v0, "ALTER TABLE downloader ADD independentProcess INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 135
:pswitch_7c
const-string v0, "ALTER TABLE downloader ADD auxiliaryJsonobjectString TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 138
:pswitch_81
const-string v0, "ALTER TABLE downloader ADD iconUrl TEXT"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 140
const-string v0, "ALTER TABLE downloader ADD appVersionCode INTEGER"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
goto/16 :goto_3
.line 65
nop
:pswitch_data_8e
.packed-switch 0x1
:pswitch_4
:pswitch_18
:pswitch_1d
:pswitch_22
:pswitch_2c
:pswitch_36
:pswitch_4a
:pswitch_54
:pswitch_59
:pswitch_5e
:pswitch_7c
:pswitch_81
.end packed-switch
.end method