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 constructor <init>()V
.registers 4
.line 11
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 13
new-instance v0, Landroid/os/Handler;
.line 14
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;
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
monitor-enter p0
.line 17
: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 21
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 p1
invoke-virtual {p1}, Landroid/os/Message;->sendToTarget()V
goto :goto_18
.line 23
:cond_10
iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->isRecycling:Z
.line 24
invoke-interface {p1}, Lcom/bumptech/glide/load/engine/Resource;->recycle()V
const/4 p1, 0x0
.line 25
iput-boolean p1, p0, Lcom/bumptech/glide/load/engine/ResourceRecycler;->isRecycling:Z
:try_end_18
.catchall {:try_start_1 .. :try_end_18} :catchall_1a
.line 27
:goto_18
monitor-exit p0
return-void
:catchall_1a
move-exception p1
monitor-exit p0
throw p1
.end method