d.smali
.class public abstract Lcom/garena/android/appkit/database/d;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private databaseDao:Landroid/database/sqlite/SQLiteDatabase;
.field private newVersion:I
.field private oldVersion:I
.field private scripts:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/garena/android/appkit/database/e;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/database/sqlite/SQLiteDatabase;II)V
.registers 4
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p2, p0, Lcom/garena/android/appkit/database/d;->oldVersion:I
.line 3
iput p3, p0, Lcom/garena/android/appkit/database/d;->newVersion:I
.line 4
iput-object p1, p0, Lcom/garena/android/appkit/database/d;->databaseDao:Landroid/database/sqlite/SQLiteDatabase;
.line 5
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/garena/android/appkit/database/d;->scripts:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method public abstract getAllUpgradeScripts()Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/garena/android/appkit/database/e;",
">;"
}
.end annotation
.end method
.method public loadScripts()V
.registers 3
iget-object v0, p0, Lcom/garena/android/appkit/database/d;->scripts:Ljava/util/ArrayList;
invoke-virtual {p0}, Lcom/garena/android/appkit/database/d;->getAllUpgradeScripts()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
return-void
.end method
.method public runAllUpgrades()V
.registers 7
.line 1
invoke-virtual {p0}, Lcom/garena/android/appkit/database/d;->loadScripts()V
.line 2
:try_start_3
iget-object v0, p0, Lcom/garena/android/appkit/database/d;->scripts:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_9
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_47
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/garena/android/appkit/database/e;
.line 3
iget v2, p0, Lcom/garena/android/appkit/database/d;->oldVersion:I
iget v3, p0, Lcom/garena/android/appkit/database/d;->newVersion:I
.line 4
iget v4, v1, Lcom/garena/android/appkit/database/e;->a:I
const/4 v5, 0x0
if-lt v2, v4, :cond_26
iget v4, v1, Lcom/garena/android/appkit/database/e;->b:I
if-ge v2, v4, :cond_26
if-lt v3, v4, :cond_26
const/4 v2, 0x1
goto :goto_27
:cond_26
const/4 v2, 0x0
:goto_27
if-eqz v2, :cond_9
.line 5
invoke-virtual {v1}, Lcom/garena/android/appkit/database/e;->a()Ljava/lang/String;
move-result-object v1
const-string v2, ";"
invoke-virtual {v1, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v1
.line 6
array-length v2, v1
:goto_34
if-ge v5, v2, :cond_9
aget-object v3, v1, v5
.line 7
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_3f
goto :goto_44
.line 8
:cond_3f
iget-object v4, p0, Lcom/garena/android/appkit/database/d;->databaseDao:Landroid/database/sqlite/SQLiteDatabase;
invoke-virtual {v4, v3}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
:try_end_44
.catch Landroid/database/SQLException; {:try_start_3 .. :try_end_44} :catch_48
:goto_44
add-int/lit8 v5, v5, 0x1
goto :goto_34
:cond_47
return-void
:catch_48
move-exception v0
.line 9
throw v0
.end method