b.smali
.class Lorg/greenrobot/greendao/async/b;
.super Ljava/lang/Object;
.source "AsyncOperationExecutor.java"
# interfaces
.implements Ljava/lang/Runnable;
.implements Landroid/os/Handler$Callback;
# static fields
.field private static a:Ljava/util/concurrent/ExecutorService;
# instance fields
.field private final b:Ljava/util/concurrent/BlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/BlockingQueue<",
"Lorg/greenrobot/greendao/async/AsyncOperation;",
">;"
}
.end annotation
.end field
.field private volatile c:Z
.field private volatile d:I
.field private volatile e:Lorg/greenrobot/greendao/async/c;
.field private volatile f:Lorg/greenrobot/greendao/async/c;
.field private volatile g:I
.field private h:I
.field private i:I
.field private j:Landroid/os/Handler;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;
move-result-object v0
sput-object v0, Lorg/greenrobot/greendao/async/b;->a:Ljava/util/concurrent/ExecutorService;
return-void
.end method
.method constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
iput-object v0, p0, Lorg/greenrobot/greendao/async/b;->b:Ljava/util/concurrent/BlockingQueue;
const/16 v0, 0x32
.line 3
iput v0, p0, Lorg/greenrobot/greendao/async/b;->d:I
.line 4
iput v0, p0, Lorg/greenrobot/greendao/async/b;->g:I
return-void
.end method
.method private a(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.registers 5
.line 30
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->f:J
.line 31
:try_start_6
sget-object v0, Lorg/greenrobot/greendao/async/a;->a:[I
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->a:Lorg/greenrobot/greendao/async/AsyncOperation$OperationType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
packed-switch v0, :pswitch_data_112
.line 32
new-instance v0, Lorg/greenrobot/greendao/DaoException;
goto/16 :goto_f1
.line 33
:pswitch_17
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->refresh(Ljava/lang/Object;)V
goto/16 :goto_10b
.line 34
:pswitch_20
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
invoke-virtual {v0}, Lorg/greenrobot/greendao/a;->count()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->j:Ljava/lang/Object;
goto/16 :goto_10b
.line 35
:pswitch_2e
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
invoke-virtual {v0}, Lorg/greenrobot/greendao/a;->loadAll()Ljava/util/List;
move-result-object v0
iput-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->j:Ljava/lang/Object;
goto/16 :goto_10b
.line 36
:pswitch_38
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->load(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
iput-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->j:Ljava/lang/Object;
goto/16 :goto_10b
.line 37
:pswitch_44
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
invoke-virtual {v0}, Lorg/greenrobot/greendao/a;->deleteAll()V
goto/16 :goto_10b
.line 38
:pswitch_4b
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->deleteByKey(Ljava/lang/Object;)V
goto/16 :goto_10b
.line 39
:pswitch_54
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v0, Lorg/greenrobot/greendao/d/h;
invoke-virtual {v0}, Lorg/greenrobot/greendao/d/h;->b()Lorg/greenrobot/greendao/d/h;
move-result-object v0
invoke-virtual {v0}, Lorg/greenrobot/greendao/d/h;->d()Ljava/lang/Object;
move-result-object v0
iput-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->j:Ljava/lang/Object;
goto/16 :goto_10b
.line 40
:pswitch_64
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v0, Lorg/greenrobot/greendao/d/h;
invoke-virtual {v0}, Lorg/greenrobot/greendao/d/h;->b()Lorg/greenrobot/greendao/d/h;
move-result-object v0
invoke-virtual {v0}, Lorg/greenrobot/greendao/d/h;->c()Ljava/util/List;
move-result-object v0
iput-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->j:Ljava/lang/Object;
goto/16 :goto_10b
.line 41
:pswitch_74
invoke-direct {p0, p1}, Lorg/greenrobot/greendao/async/b;->c(Lorg/greenrobot/greendao/async/AsyncOperation;)V
goto/16 :goto_10b
.line 42
:pswitch_79
invoke-direct {p0, p1}, Lorg/greenrobot/greendao/async/b;->d(Lorg/greenrobot/greendao/async/AsyncOperation;)V
goto/16 :goto_10b
.line 43
:pswitch_7e
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->updateInTx([Ljava/lang/Object;)V
goto/16 :goto_10b
.line 44
:pswitch_89
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, Ljava/lang/Iterable;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->updateInTx(Ljava/lang/Iterable;)V
goto/16 :goto_10b
.line 45
:pswitch_94
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->update(Ljava/lang/Object;)V
goto/16 :goto_10b
.line 46
:pswitch_9d
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->insertOrReplaceInTx([Ljava/lang/Object;)V
goto :goto_10b
.line 47
:pswitch_a7
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, Ljava/lang/Iterable;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->insertOrReplaceInTx(Ljava/lang/Iterable;)V
goto :goto_10b
.line 48
:pswitch_b1
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->insertOrReplace(Ljava/lang/Object;)J
goto :goto_10b
.line 49
:pswitch_b9
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->insertInTx([Ljava/lang/Object;)V
goto :goto_10b
.line 50
:pswitch_c3
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, Ljava/lang/Iterable;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->insertInTx(Ljava/lang/Iterable;)V
goto :goto_10b
.line 51
:pswitch_cd
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->insert(Ljava/lang/Object;)J
goto :goto_10b
.line 52
:pswitch_d5
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->deleteInTx([Ljava/lang/Object;)V
goto :goto_10b
.line 53
:pswitch_df
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, Ljava/lang/Iterable;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->deleteInTx(Ljava/lang/Iterable;)V
goto :goto_10b
.line 54
:pswitch_e9
iget-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->b:Lorg/greenrobot/greendao/a;
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lorg/greenrobot/greendao/a;->delete(Ljava/lang/Object;)V
goto :goto_10b
.line 55
:goto_f1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unsupported operation: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->a:Lorg/greenrobot/greendao/async/AsyncOperation$OperationType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/greenrobot/greendao/DaoException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_108
.catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_108} :catch_108
:catch_108
move-exception v0
.line 56
iput-object v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->i:Ljava/lang/Throwable;
.line 57
:goto_10b
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->g:J
return-void
:pswitch_data_112
.packed-switch 0x1
:pswitch_e9
:pswitch_df
:pswitch_d5
:pswitch_cd
:pswitch_c3
:pswitch_b9
:pswitch_b1
:pswitch_a7
:pswitch_9d
:pswitch_94
:pswitch_89
:pswitch_7e
:pswitch_79
:pswitch_74
:pswitch_64
:pswitch_54
:pswitch_4b
:pswitch_44
:pswitch_38
:pswitch_2e
:pswitch_20
:pswitch_17
.end packed-switch
.end method
.method private a(Lorg/greenrobot/greendao/async/AsyncOperation;Lorg/greenrobot/greendao/async/AsyncOperation;)V
.registers 10
const-string v0, "Async transaction could not be ended, success so far was: "
.line 1
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 2
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 3
invoke-virtual {v1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 4
invoke-virtual {p1}, Lorg/greenrobot/greendao/async/AsyncOperation;->a()Lorg/greenrobot/greendao/b/a;
move-result-object p1
.line 5
invoke-interface {p1}, Lorg/greenrobot/greendao/b/a;->H()V
const/4 p2, 0x0
const/4 v2, 0x0
.line 6
:goto_16
:try_start_16
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v3
const/4 v4, 0x1
if-ge v2, v3, :cond_63
.line 7
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lorg/greenrobot/greendao/async/AsyncOperation;
.line 8
invoke-direct {p0, v3}, Lorg/greenrobot/greendao/async/b;->a(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.line 9
invoke-virtual {v3}, Lorg/greenrobot/greendao/async/AsyncOperation;->b()Z
move-result v5
if-eqz v5, :cond_2d
goto :goto_63
.line 10
:cond_2d
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v5
sub-int/2addr v5, v4
if-ne v2, v5, :cond_60
.line 11
iget-object v5, p0, Lorg/greenrobot/greendao/async/b;->b:Ljava/util/concurrent/BlockingQueue;
invoke-interface {v5}, Ljava/util/concurrent/BlockingQueue;->peek()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lorg/greenrobot/greendao/async/AsyncOperation;
.line 12
iget v6, p0, Lorg/greenrobot/greendao/async/b;->d:I
if-ge v2, v6, :cond_5c
invoke-virtual {v3, v5}, Lorg/greenrobot/greendao/async/AsyncOperation;->a(Lorg/greenrobot/greendao/async/AsyncOperation;)Z
move-result v3
if-eqz v3, :cond_5c
.line 13
iget-object v3, p0, Lorg/greenrobot/greendao/async/b;->b:Ljava/util/concurrent/BlockingQueue;
invoke-interface {v3}, Ljava/util/concurrent/BlockingQueue;->remove()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lorg/greenrobot/greendao/async/AsyncOperation;
if-ne v3, v5, :cond_54
.line 14
invoke-virtual {v1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_60
.line 15
:cond_54
new-instance v1, Lorg/greenrobot/greendao/DaoException;
const-string v2, "Internal error: peeked op did not match removed op"
invoke-direct {v1, v2}, Lorg/greenrobot/greendao/DaoException;-><init>(Ljava/lang/String;)V
throw v1
.line 16
:cond_5c
invoke-interface {p1}, Lorg/greenrobot/greendao/b/a;->I()V
:try_end_5f
.catchall {:try_start_16 .. :try_end_5f} :catchall_b5
goto :goto_64
:cond_60
:goto_60
add-int/lit8 v2, v2, 0x1
goto :goto_16
:cond_63
:goto_63
const/4 v4, 0x0
.line 17
:goto_64
:try_start_64
invoke-interface {p1}, Lorg/greenrobot/greendao/b/a;->J()V
:try_end_67
.catch Ljava/lang/RuntimeException; {:try_start_64 .. :try_end_67} :catch_69
move p2, v4
goto :goto_7c
:catch_69
move-exception p1
.line 18
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0, p1}, Lorg/greenrobot/greendao/d;->b(Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_7c
if-eqz p2, :cond_98
.line 19
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result p1
.line 20
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p2
:goto_86
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_b4
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/greenrobot/greendao/async/AsyncOperation;
.line 21
iput p1, v0, Lorg/greenrobot/greendao/async/AsyncOperation;->k:I
.line 22
invoke-direct {p0, v0}, Lorg/greenrobot/greendao/async/b;->e(Lorg/greenrobot/greendao/async/AsyncOperation;)V
goto :goto_86
:cond_98
const-string p1, "Reverted merged transaction because one of the operations failed. Executing operations one by one instead..."
.line 23
invoke-static {p1}, Lorg/greenrobot/greendao/d;->b(Ljava/lang/String;)I
.line 24
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_a1
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_b4
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lorg/greenrobot/greendao/async/AsyncOperation;
.line 25
invoke-virtual {p2}, Lorg/greenrobot/greendao/async/AsyncOperation;->d()V
.line 26
invoke-direct {p0, p2}, Lorg/greenrobot/greendao/async/b;->b(Lorg/greenrobot/greendao/async/AsyncOperation;)V
goto :goto_a1
:cond_b4
return-void
:catchall_b5
move-exception v1
.line 27
:try_start_b6
invoke-interface {p1}, Lorg/greenrobot/greendao/b/a;->J()V
:try_end_b9
.catch Ljava/lang/RuntimeException; {:try_start_b6 .. :try_end_b9} :catch_ba
goto :goto_cd
:catch_ba
move-exception p1
.line 28
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2, p1}, Lorg/greenrobot/greendao/d;->b(Ljava/lang/String;Ljava/lang/Throwable;)I
.line 29
:goto_cd
goto :goto_cf
:goto_ce
throw v1
:goto_cf
goto :goto_ce
.end method
.method private b(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lorg/greenrobot/greendao/async/b;->a(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.line 2
invoke-direct {p0, p1}, Lorg/greenrobot/greendao/async/b;->e(Lorg/greenrobot/greendao/async/AsyncOperation;)V
return-void
.end method
.method private c(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
invoke-virtual {p1}, Lorg/greenrobot/greendao/async/AsyncOperation;->a()Lorg/greenrobot/greendao/b/a;
move-result-object v0
.line 2
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->H()V
.line 3
:try_start_7
iget-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast v1, Ljava/util/concurrent/Callable;
invoke-interface {v1}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v1
iput-object v1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->j:Ljava/lang/Object;
.line 4
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->I()V
:try_end_14
.catchall {:try_start_7 .. :try_end_14} :catchall_18
.line 5
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->J()V
return-void
:catchall_18
move-exception p1
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->J()V
throw p1
.end method
.method private d(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.registers 3
.line 1
invoke-virtual {p1}, Lorg/greenrobot/greendao/async/AsyncOperation;->a()Lorg/greenrobot/greendao/b/a;
move-result-object v0
.line 2
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->H()V
.line 3
:try_start_7
iget-object p1, p1, Lorg/greenrobot/greendao/async/AsyncOperation;->d:Ljava/lang/Object;
check-cast p1, Ljava/lang/Runnable;
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
.line 4
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->I()V
:try_end_11
.catchall {:try_start_7 .. :try_end_11} :catchall_15
.line 5
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->J()V
return-void
:catchall_15
move-exception p1
invoke-interface {v0}, Lorg/greenrobot/greendao/b/a;->J()V
throw p1
.end method
.method private e(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.registers 5
.line 1
invoke-virtual {p1}, Lorg/greenrobot/greendao/async/AsyncOperation;->e()V
.line 2
iget-object v0, p0, Lorg/greenrobot/greendao/async/b;->e:Lorg/greenrobot/greendao/async/c;
if-eqz v0, :cond_a
.line 3
invoke-interface {v0, p1}, Lorg/greenrobot/greendao/async/c;->a(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.line 4
:cond_a
iget-object v0, p0, Lorg/greenrobot/greendao/async/b;->f:Lorg/greenrobot/greendao/async/c;
const/4 v1, 0x1
if-eqz v0, :cond_29
.line 5
iget-object v0, p0, Lorg/greenrobot/greendao/async/b;->j:Landroid/os/Handler;
if-nez v0, :cond_1e
.line 6
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v2
invoke-direct {v0, v2, p0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
iput-object v0, p0, Lorg/greenrobot/greendao/async/b;->j:Landroid/os/Handler;
.line 7
:cond_1e
iget-object v0, p0, Lorg/greenrobot/greendao/async/b;->j:Landroid/os/Handler;
invoke-virtual {v0, v1, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object p1
.line 8
iget-object v0, p0, Lorg/greenrobot/greendao/async/b;->j:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
.line 9
:cond_29
monitor-enter p0
.line 10
:try_start_2a
iget p1, p0, Lorg/greenrobot/greendao/async/b;->i:I
add-int/2addr p1, v1
iput p1, p0, Lorg/greenrobot/greendao/async/b;->i:I
.line 11
iget p1, p0, Lorg/greenrobot/greendao/async/b;->i:I
iget v0, p0, Lorg/greenrobot/greendao/async/b;->h:I
if-ne p1, v0, :cond_38
.line 12
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
.line 13
:cond_38
monitor-exit p0
return-void
:catchall_3a
move-exception p1
monitor-exit p0
:try_end_3c
.catchall {:try_start_2a .. :try_end_3c} :catchall_3a
throw p1
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)Z
.registers 3
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/async/b;->f:Lorg/greenrobot/greendao/async/c;
if-eqz v0, :cond_b
.line 2
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast p1, Lorg/greenrobot/greendao/async/AsyncOperation;
invoke-interface {v0, p1}, Lorg/greenrobot/greendao/async/c;->a(Lorg/greenrobot/greendao/async/AsyncOperation;)V
:cond_b
const/4 p1, 0x0
return p1
.end method
.method public run()V
.registers 7
:goto_0
const/4 v0, 0x0
.line 1
:try_start_1
iget-object v1, p0, Lorg/greenrobot/greendao/async/b;->b:Ljava/util/concurrent/BlockingQueue;
const-wide/16 v2, 0x1
sget-object v4, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/BlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lorg/greenrobot/greendao/async/AsyncOperation;
if-nez v1, :cond_25
.line 2
monitor-enter p0
:try_end_10
.catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_10} :catch_51
.catchall {:try_start_1 .. :try_end_10} :catchall_4f
.line 3
:try_start_10
iget-object v1, p0, Lorg/greenrobot/greendao/async/b;->b:Ljava/util/concurrent/BlockingQueue;
invoke-interface {v1}, Ljava/util/concurrent/BlockingQueue;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lorg/greenrobot/greendao/async/AsyncOperation;
if-nez v1, :cond_20
.line 4
iput-boolean v0, p0, Lorg/greenrobot/greendao/async/b;->c:Z
.line 5
monitor-exit p0
:try_end_1d
.catchall {:try_start_10 .. :try_end_1d} :catchall_22
.line 6
iput-boolean v0, p0, Lorg/greenrobot/greendao/async/b;->c:Z
return-void
.line 7
:cond_20
:try_start_20
monitor-exit p0
goto :goto_25
:catchall_22
move-exception v1
monitor-exit p0
:try_end_24
.catchall {:try_start_20 .. :try_end_24} :catchall_22
:try_start_24
throw v1
.line 8
:cond_25
:goto_25
invoke-virtual {v1}, Lorg/greenrobot/greendao/async/AsyncOperation;->c()Z
move-result v2
if-eqz v2, :cond_4b
.line 9
iget-object v2, p0, Lorg/greenrobot/greendao/async/b;->b:Ljava/util/concurrent/BlockingQueue;
iget v3, p0, Lorg/greenrobot/greendao/async/b;->g:I
int-to-long v3, v3
sget-object v5, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {v2, v3, v4, v5}, Ljava/util/concurrent/BlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lorg/greenrobot/greendao/async/AsyncOperation;
if-eqz v2, :cond_4b
.line 10
invoke-virtual {v1, v2}, Lorg/greenrobot/greendao/async/AsyncOperation;->a(Lorg/greenrobot/greendao/async/AsyncOperation;)Z
move-result v3
if-eqz v3, :cond_44
.line 11
invoke-direct {p0, v1, v2}, Lorg/greenrobot/greendao/async/b;->a(Lorg/greenrobot/greendao/async/AsyncOperation;Lorg/greenrobot/greendao/async/AsyncOperation;)V
goto :goto_0
.line 12
:cond_44
invoke-direct {p0, v1}, Lorg/greenrobot/greendao/async/b;->b(Lorg/greenrobot/greendao/async/AsyncOperation;)V
.line 13
invoke-direct {p0, v2}, Lorg/greenrobot/greendao/async/b;->b(Lorg/greenrobot/greendao/async/AsyncOperation;)V
goto :goto_0
.line 14
:cond_4b
invoke-direct {p0, v1}, Lorg/greenrobot/greendao/async/b;->b(Lorg/greenrobot/greendao/async/AsyncOperation;)V
:try_end_4e
.catch Ljava/lang/InterruptedException; {:try_start_24 .. :try_end_4e} :catch_51
.catchall {:try_start_24 .. :try_end_4e} :catchall_4f
goto :goto_0
:catchall_4f
move-exception v1
goto :goto_71
:catch_51
move-exception v1
.line 15
:try_start_52
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, " was interruppted"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v2, v1}, Lorg/greenrobot/greendao/d;->c(Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_6e
.catchall {:try_start_52 .. :try_end_6e} :catchall_4f
.line 16
iput-boolean v0, p0, Lorg/greenrobot/greendao/async/b;->c:Z
return-void
:goto_71
iput-boolean v0, p0, Lorg/greenrobot/greendao/async/b;->c:Z
goto :goto_75
:goto_74
throw v1
:goto_75
goto :goto_74
.end method