BaseOrmLiteLoader.smali

.class public abstract Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;
.super Landroid/content/AsyncTaskLoader;
.source "SourceFile"

# interfaces
.implements Lcom/j256/ormlite/dao/Dao$DaoObserver;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        "ID:",
        "Ljava/lang/Object;",
        ">",
        "Landroid/content/AsyncTaskLoader<",
        "Ljava/util/List<",
        "TT;>;>;",
        "Lcom/j256/ormlite/dao/Dao$DaoObserver;"
    }
.end annotation


# instance fields
.field private cachedResults:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "TT;>;"
        }
    .end annotation
.end field

.field public dao:Lcom/j256/ormlite/dao/Dao;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lcom/j256/ormlite/dao/Dao<",
            "TT;TID;>;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 2

    .line 1
    invoke-direct {p0, p1}, Landroid/content/AsyncTaskLoader;-><init>(Landroid/content/Context;)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Lcom/j256/ormlite/dao/Dao;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/content/Context;",
            "Lcom/j256/ormlite/dao/Dao<",
            "TT;TID;>;)V"
        }
    .end annotation

    .line 2
    invoke-direct {p0, p1}, Landroid/content/AsyncTaskLoader;-><init>(Landroid/content/Context;)V

    .line 3
    iput-object p2, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->dao:Lcom/j256/ormlite/dao/Dao;

    return-void
.end method


# virtual methods
.method public bridge synthetic deliverResult(Ljava/lang/Object;)V
    .registers 2

    .line 1
    check-cast p1, Ljava/util/List;

    invoke-virtual {p0, p1}, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->deliverResult(Ljava/util/List;)V

    return-void
.end method

.method public deliverResult(Ljava/util/List;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "TT;>;)V"
        }
    .end annotation

    .line 2
    invoke-virtual {p0}, Landroid/content/Loader;->isReset()Z

    move-result v0

    if-nez v0, :cond_f

    invoke-virtual {p0}, Landroid/content/Loader;->isStarted()Z

    move-result v0

    if-eqz v0, :cond_f

    .line 3
    invoke-super {p0, p1}, Landroid/content/Loader;->deliverResult(Ljava/lang/Object;)V

    :cond_f
    return-void
.end method

.method public onChange()V
    .registers 1

    invoke-virtual {p0}, Landroid/content/Loader;->onContentChanged()V

    return-void
.end method

.method public onReset()V
    .registers 2

    .line 1
    invoke-super {p0}, Landroid/content/Loader;->onReset()V

    .line 2
    invoke-virtual {p0}, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->onStopLoading()V

    .line 3
    iget-object v0, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->cachedResults:Ljava/util/List;

    if-eqz v0, :cond_10

    .line 4
    invoke-interface {v0}, Ljava/util/List;->clear()V

    const/4 v0, 0x0

    .line 5
    iput-object v0, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->cachedResults:Ljava/util/List;

    .line 6
    :cond_10
    iget-object v0, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->dao:Lcom/j256/ormlite/dao/Dao;

    invoke-interface {v0, p0}, Lcom/j256/ormlite/dao/Dao;->unregisterObserver(Lcom/j256/ormlite/dao/Dao$DaoObserver;)V

    return-void
.end method

.method public onStartLoading()V
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->cachedResults:Ljava/util/List;

    if-eqz v0, :cond_7

    .line 2
    invoke-virtual {p0, v0}, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->deliverResult(Ljava/util/List;)V

    .line 3
    :cond_7
    invoke-virtual {p0}, Landroid/content/Loader;->takeContentChanged()Z

    move-result v0

    if-nez v0, :cond_11

    iget-object v0, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->cachedResults:Ljava/util/List;

    if-nez v0, :cond_14

    .line 4
    :cond_11
    invoke-virtual {p0}, Landroid/content/Loader;->forceLoad()V

    .line 5
    :cond_14
    iget-object v0, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->dao:Lcom/j256/ormlite/dao/Dao;

    invoke-interface {v0, p0}, Lcom/j256/ormlite/dao/Dao;->registerObserver(Lcom/j256/ormlite/dao/Dao$DaoObserver;)V

    return-void
.end method

.method public onStopLoading()V
    .registers 1

    invoke-virtual {p0}, Landroid/content/Loader;->cancelLoad()Z

    return-void
.end method

.method public setDao(Lcom/j256/ormlite/dao/Dao;)V
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/j256/ormlite/dao/Dao<",
            "TT;TID;>;)V"
        }
    .end annotation

    iput-object p1, p0, Lcom/j256/ormlite/android/apptools/BaseOrmLiteLoader;->dao:Lcom/j256/ormlite/dao/Dao;

    return-void
.end method