b.smali
.class abstract Lorg/greenrobot/greendao/d/b;
.super Ljava/lang/Object;
.source "AbstractQueryData.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"Q:",
"Lorg/greenrobot/greendao/d/a<",
"TT;>;>",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field final a:Ljava/lang/String;
.field final b:Lorg/greenrobot/greendao/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lorg/greenrobot/greendao/a<",
"TT;*>;"
}
.end annotation
.end field
.field final c:[Ljava/lang/String;
.field final d:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Long;",
"Ljava/lang/ref/WeakReference<",
"TQ;>;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Lorg/greenrobot/greendao/a;Ljava/lang/String;[Ljava/lang/String;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/greenrobot/greendao/a<",
"TT;*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lorg/greenrobot/greendao/d/b;->b:Lorg/greenrobot/greendao/a;
.line 3
iput-object p2, p0, Lorg/greenrobot/greendao/d/b;->a:Ljava/lang/String;
.line 4
iput-object p3, p0, Lorg/greenrobot/greendao/d/b;->c:[Ljava/lang/String;
.line 5
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lorg/greenrobot/greendao/d/b;->d:Ljava/util/Map;
return-void
.end method
# virtual methods
.method protected abstract a()Lorg/greenrobot/greendao/d/a;
.annotation system Ldalvik/annotation/Signature;
value = {
"()TQ;"
}
.end annotation
.end method
.method a(Lorg/greenrobot/greendao/d/a;)Lorg/greenrobot/greendao/d/a;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(TQ;)TQ;"
}
.end annotation
.line 1
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
iget-object v1, p1, Lorg/greenrobot/greendao/d/a;->e:Ljava/lang/Thread;
if-ne v0, v1, :cond_12
.line 2
iget-object v0, p0, Lorg/greenrobot/greendao/d/b;->c:[Ljava/lang/String;
iget-object v1, p1, Lorg/greenrobot/greendao/d/a;->d:[Ljava/lang/String;
array-length v2, v0
const/4 v3, 0x0
invoke-static {v0, v3, v1, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-object p1
.line 3
:cond_12
invoke-virtual {p0}, Lorg/greenrobot/greendao/d/b;->b()Lorg/greenrobot/greendao/d/a;
move-result-object p1
return-object p1
.end method
.method b()Lorg/greenrobot/greendao/d/a;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"()TQ;"
}
.end annotation
.line 1
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getId()J
move-result-wide v0
.line 2
iget-object v2, p0, Lorg/greenrobot/greendao/d/b;->d:Ljava/util/Map;
monitor-enter v2
.line 3
:try_start_b
iget-object v3, p0, Lorg/greenrobot/greendao/d/b;->d:Ljava/util/Map;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
invoke-interface {v3, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/ref/WeakReference;
if-eqz v3, :cond_20
.line 4
invoke-virtual {v3}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lorg/greenrobot/greendao/d/a;
goto :goto_21
:cond_20
const/4 v3, 0x0
:goto_21
if-nez v3, :cond_39
.line 5
invoke-virtual {p0}, Lorg/greenrobot/greendao/d/b;->c()V
.line 6
invoke-virtual {p0}, Lorg/greenrobot/greendao/d/b;->a()Lorg/greenrobot/greendao/d/a;
move-result-object v3
.line 7
iget-object v4, p0, Lorg/greenrobot/greendao/d/b;->d:Ljava/util/Map;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
new-instance v1, Ljava/lang/ref/WeakReference;
invoke-direct {v1, v3}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
invoke-interface {v4, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_44
.line 8
:cond_39
iget-object v0, p0, Lorg/greenrobot/greendao/d/b;->c:[Ljava/lang/String;
iget-object v1, v3, Lorg/greenrobot/greendao/d/a;->d:[Ljava/lang/String;
iget-object v4, p0, Lorg/greenrobot/greendao/d/b;->c:[Ljava/lang/String;
array-length v4, v4
const/4 v5, 0x0
invoke-static {v0, v5, v1, v5, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 9
:goto_44
monitor-exit v2
return-object v3
:catchall_46
move-exception v0
.line 10
monitor-exit v2
:try_end_48
.catchall {:try_start_b .. :try_end_48} :catchall_46
throw v0
.end method
.method c()V
.registers 4
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/d/b;->d:Ljava/util/Map;
monitor-enter v0
.line 2
:try_start_3
iget-object v1, p0, Lorg/greenrobot/greendao/d/b;->d:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
.line 3
:cond_d
:goto_d
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_29
.line 4
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 5
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/ref/WeakReference;
invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_d
.line 6
invoke-interface {v1}, Ljava/util/Iterator;->remove()V
goto :goto_d
.line 7
:cond_29
monitor-exit v0
return-void
:catchall_2b
move-exception v1
monitor-exit v0
:try_end_2d
.catchall {:try_start_3 .. :try_end_2d} :catchall_2b
goto :goto_2f
:goto_2e
throw v1
:goto_2f
goto :goto_2e
.end method