a$a.smali

.class public final Lcom/litesuits/orm/db/impl/a$a;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Lcom/litesuits/orm/db/assit/a$a;


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lcom/litesuits/orm/db/impl/a;->delete(Ljava/util/Collection;)I
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x1
    name = null
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/lang/Object;",
        "Lcom/litesuits/orm/db/assit/a$a<",
        "TT;>;"
    }
.end annotation


# instance fields
.field public final synthetic a:Landroid/database/sqlite/SQLiteDatabase;


# direct methods
.method public constructor <init>(Landroid/database/sqlite/SQLiteDatabase;)V
    .registers 2

    iput-object p1, p0, Lcom/litesuits/orm/db/impl/a$a;->a:Landroid/database/sqlite/SQLiteDatabase;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public final a(Ljava/util/ArrayList;)I
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/ArrayList<",
            "TT;>;)I"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .line 1
    new-instance v0, Lcom/litesuits/orm/db/assit/f;

    invoke-direct {v0}, Lcom/litesuits/orm/db/assit/f;-><init>()V

    const/4 v1, 0x0

    .line 2
    :try_start_6
    new-instance v2, Ljava/lang/StringBuilder;

    const/16 v3, 0x100

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const/4 v3, 0x0

    .line 3
    invoke-virtual {p1}, Ljava/util/ArrayList;->size()I

    move-result v4

    new-array v4, v4, [Ljava/lang/Object;

    .line 4
    invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object p1

    const/4 v5, 0x0

    :goto_19
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v6

    if-eqz v6, :cond_62

    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v6

    if-nez v5, :cond_4f

    .line 5
    invoke-static {v6}, Lcom/litesuits/orm/db/f;->f(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/b;

    move-result-object v3

    const-string v7, "DELETE FROM "

    .line 6
    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v7, v3, Lcom/litesuits/orm/db/model/b;->b:Ljava/lang/String;

    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, " WHERE "

    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v7, v3, Lcom/litesuits/orm/db/model/b;->c:Lcom/litesuits/orm/db/model/d;

    iget-object v7, v7, Lcom/litesuits/orm/db/model/e;->a:Ljava/lang/String;

    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, " IN "

    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, "("

    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, "?"

    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_54

    :cond_4f
    const-string v7, ",?"

    .line 7
    invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :goto_54
    add-int/lit8 v7, v5, 0x1

    .line 8
    iget-object v8, v3, Lcom/litesuits/orm/db/model/b;->c:Lcom/litesuits/orm/db/model/d;

    iget-object v8, v8, Lcom/litesuits/orm/db/model/e;->b:Ljava/lang/reflect/Field;

    invoke-static {v8, v6}, Lcom/litesuits/orm/db/utils/c;->a(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v6

    aput-object v6, v4, v5

    move v5, v7

    goto :goto_19

    :cond_62
    const-string p1, ")"

    .line 9
    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 10
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    iput-object p1, v0, Lcom/litesuits/orm/db/assit/f;->a:Ljava/lang/String;

    .line 11
    iput-object v4, v0, Lcom/litesuits/orm/db/assit/f;->b:[Ljava/lang/Object;
    :try_end_6f
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6f} :catch_70

    goto :goto_71

    :catch_70
    nop

    .line 12
    :goto_71
    iget-object p1, p0, Lcom/litesuits/orm/db/impl/a$a;->a:Landroid/database/sqlite/SQLiteDatabase;

    .line 13
    invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/f;->e()V

    .line 14
    iget-object v2, v0, Lcom/litesuits/orm/db/assit/f;->a:Ljava/lang/String;

    invoke-virtual {p1, v2}, Landroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;

    move-result-object p1

    iput-object p1, v0, Lcom/litesuits/orm/db/assit/f;->c:Landroid/database/sqlite/SQLiteStatement;

    .line 15
    iget-object p1, v0, Lcom/litesuits/orm/db/assit/f;->b:[Ljava/lang/Object;

    if-eqz p1, :cond_90

    .line 16
    :goto_82
    iget-object p1, v0, Lcom/litesuits/orm/db/assit/f;->b:[Ljava/lang/Object;

    array-length v2, p1

    if-ge v1, v2, :cond_90

    add-int/lit8 v2, v1, 0x1

    .line 17
    aget-object p1, p1, v1

    invoke-virtual {v0, v2, p1}, Lcom/litesuits/orm/db/assit/f;->a(ILjava/lang/Object;)V

    move v1, v2

    goto :goto_82

    .line 18
    :cond_90
    iget-object p1, v0, Lcom/litesuits/orm/db/assit/f;->c:Landroid/database/sqlite/SQLiteStatement;

    invoke-virtual {p1}, Landroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I

    move-result p1

    .line 19
    invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/f;->g()V

    return p1
.end method