ResourceRecycler.smali
.class Lcom/bumptech/glide/load/engine/ResourceRecycler;
.super Ljava/lang/Object;
.source "ResourceRecycler.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/bumptech/glide/load/engine/ResourceRecycler$ResourceRecyclerCallback;
}
.end annotation
# instance fields
.field private final handler:Landroid/os/Handler;
.field private isRecycling:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>()V
.registers 4
.line 9
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 11
new-instance v0, Landroid/os/Handler;
.line 12
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
new-instance v2, Lcom/bumptech/glide/load/engine/ResourceRecycler$ResourceRecyclerCallback;
invoke-direct {v2}, Lcom/bumptech/glide/load/engine/ResourceRecycler$ResourceRecyclerCallback;-><init>()V
invoke-direct {v0, v1, v2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->handler:Landroid/os/Handler;
.line 11
return-void
.end method
# virtual methods
.method declared-synchronized recycle(Lcom/bumptech/glide/load/engine/Resource;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/engine/Resource<",
"*>;)V"
}
.end annotation
.local p1, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<*>;"
monitor-enter p0
.line 15
:try_start_1
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->isRecycling:Z
const/4 v1, 0x1
if-eqz v0, :cond_10
.line 19
iget-object v0, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->handler:Landroid/os/Handler;
invoke-virtual {v0, v1, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
goto :goto_18
.line 21
.end local p0 # "this":Lcom/bumptech/glide/load/engine/ResourceRecycler;
:cond_10
iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->isRecycling:Z
.line 22
invoke-interface {p1}, Lcom/bumptech/glide/load/engine/Resource;->recycle()V
.line 23
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->isRecycling:Z
:try_end_18
.catchall {:try_start_1 .. :try_end_18} :catchall_1a
.line 25
:goto_18
monitor-exit p0
return-void
.line 14
.end local p1 # "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<*>;"
:catchall_1a
move-exception p1
monitor-exit p0
throw p1
.end method