DiskCacheWriteLocker$WriteLockPool.smali
.class Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;
.super Ljava/lang/Object;
.source "DiskCacheWriteLocker.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "WriteLockPool"
.end annotation
# static fields
.field private static final MAX_POOL_SIZE:I = 0xa
# instance fields
.field private final pool:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLock;",
">;"
}
.end annotation
.end field
# direct methods
.method constructor <init>()V
.registers 2
.line 77
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 74
new-instance v0, Ljava/util/ArrayDeque;
invoke-direct {v0}, Ljava/util/ArrayDeque;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;->pool:Ljava/util/Queue;
return-void
.end method
# virtual methods
.method obtain()Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLock;
.registers 3
.line 81
iget-object v0, p0, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;->pool:Ljava/util/Queue;
monitor-enter v0
.line 82
:try_start_3
iget-object v1, p0, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;->pool:Ljava/util/Queue;
invoke-interface {v1}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLock;
.line 83
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_14
if-nez v1, :cond_13
.line 85
new-instance v1, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLock;
invoke-direct {v1}, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLock;-><init>()V
:cond_13
return-object v1
:catchall_14
move-exception v1
.line 83
:try_start_15
monitor-exit v0
:try_end_16
.catchall {:try_start_15 .. :try_end_16} :catchall_14
throw v1
.end method
.method offer(Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLock;)V
.registers 5
.line 91
iget-object v0, p0, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;->pool:Ljava/util/Queue;
monitor-enter v0
.line 92
:try_start_3
iget-object v1, p0, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;->pool:Ljava/util/Queue;
invoke-interface {v1}, Ljava/util/Queue;->size()I
move-result v1
const/16 v2, 0xa
if-ge v1, v2, :cond_12
.line 93
iget-object v1, p0, Lcom/bumptech/glide/load/engine/cache/DiskCacheWriteLocker$WriteLockPool;->pool:Ljava/util/Queue;
invoke-interface {v1, p1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 95
:cond_12
monitor-exit v0
return-void
:catchall_14
move-exception p1
monitor-exit v0
:try_end_16
.catchall {:try_start_3 .. :try_end_16} :catchall_14
throw p1
.end method