BitmapCache.smali
.class public Lcom/cleanmaster/bitloader/BitmapCache;
.super Ljava/lang/Object;
.source "BitmapCache.java"
# interfaces
.implements Lcom/cleanmaster/bitloader/MemoryCache;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/cleanmaster/bitloader/MemoryCache",
"<",
"Ljava/lang/String;",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String; = "BitmapCache"
# instance fields
.field private mImageCache:Landroid/support/v4/util/LruCache;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/support/v4/util/LruCache",
"<",
"Ljava/lang/String;",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(I)V
.registers 3
.prologue
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 17
new-instance v0, Lcom/cleanmaster/bitloader/BitmapCache$1;
invoke-direct {v0, p0, p1}, Lcom/cleanmaster/bitloader/BitmapCache$1;-><init>(Lcom/cleanmaster/bitloader/BitmapCache;I)V
iput-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
.line 24
return-void
.end method
# virtual methods
.method public clear()V
.registers 2
.prologue
.line 56
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
invoke-virtual {v0}, Landroid/support/v4/util/LruCache;->evictAll()V
.line 57
return-void
.end method
.method public declared-synchronized get(Ljava/lang/String;)Landroid/graphics/Bitmap;
.registers 4
.prologue
.line 35
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
invoke-virtual {v0, p1}, Landroid/support/v4/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Bitmap;
.line 36
if-eqz v0, :cond_13
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_15
move-result v1
if-nez v1, :cond_13
:goto_11
monitor-exit p0
return-object v0
:cond_13
const/4 v0, 0x0
goto :goto_11
.line 35
:catchall_15
move-exception v0
monitor-exit p0
throw v0
.end method
.method public bridge synthetic get(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.prologue
.line 12
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/cleanmaster/bitloader/BitmapCache;->get(Ljava/lang/String;)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public keys()Ljava/util/Collection;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
.line 50
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
invoke-virtual {v0}, Landroid/support/v4/util/LruCache;->snapshot()Ljava/util/Map;
move-result-object v0
invoke-interface {v0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic put(Ljava/lang/Object;Ljava/lang/Object;)Z
.registers 4
.prologue
.line 12
check-cast p1, Ljava/lang/String;
check-cast p2, Landroid/graphics/Bitmap;
invoke-virtual {p0, p1, p2}, Lcom/cleanmaster/bitloader/BitmapCache;->put(Ljava/lang/String;Landroid/graphics/Bitmap;)Z
move-result v0
return v0
.end method
.method public declared-synchronized put(Ljava/lang/String;Landroid/graphics/Bitmap;)Z
.registers 4
.prologue
.line 29
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
invoke-virtual {v0, p1, p2}, Landroid/support/v4/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_6
.catchall {:try_start_1 .. :try_end_6} :catchall_9
.line 30
const/4 v0, 0x1
monitor-exit p0
return v0
.line 29
:catchall_9
move-exception v0
monitor-exit p0
throw v0
.end method
.method public bridge synthetic remove(Ljava/lang/Object;)V
.registers 2
.prologue
.line 12
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/cleanmaster/bitloader/BitmapCache;->remove(Ljava/lang/String;)V
return-void
.end method
.method public declared-synchronized remove(Ljava/lang/String;)V
.registers 4
.prologue
.line 41
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
invoke-virtual {v0, p1}, Landroid/support/v4/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Bitmap;
.line 42
if-eqz v0, :cond_14
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v1
if-nez v1, :cond_14
.line 43
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_16
.line 46
:cond_14
monitor-exit p0
return-void
.line 41
:catchall_16
move-exception v0
monitor-exit p0
throw v0
.end method
.method public toString()Ljava/lang/String;
.registers 2
.prologue
.line 73
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
if-eqz v0, :cond_b
iget-object v0, p0, Lcom/cleanmaster/bitloader/BitmapCache;->mImageCache:Landroid/support/v4/util/LruCache;
invoke-virtual {v0}, Landroid/support/v4/util/LruCache;->toString()Ljava/lang/String;
move-result-object v0
:goto_a
return-object v0
:cond_b
const-string v0, "Cache is empty"
goto :goto_a
.end method