IConCache.smali
.class public Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
.super Ljava/lang/Object;
.source "IConCache.java"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xc
.end annotation
# static fields
.field private static final sCacheSize:I = 0x2000
.field private static sDefaultSize:I
.field private static sIConcache:Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
.field private static final sLOCK:Ljava/lang/Object;
# instance fields
.field private mBitmapCache:Landroid/util/LruCache;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/LruCache",
"<",
"Ljava/lang/String;",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 19
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sLOCK:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 4
.prologue
.line 22
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
new-instance v0, Landroid/util/LruCache;
const/16 v1, 0x2000
invoke-direct {v0, v1}, Landroid/util/LruCache;-><init>(I)V
iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->mBitmapCache:Landroid/util/LruCache;
.line 23
const/high16 v0, 0x41400000 # 12.0f
invoke-static {p1, v0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/Commons;->dip2px(Landroid/content/Context;F)I
move-result v0
sput v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sDefaultSize:I
.line 24
return-void
.end method
.method public static getInstance(Landroid/content/Context;)Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
.registers 3
.prologue
.line 29
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sLOCK:Ljava/lang/Object;
monitor-enter v1
.line 30
:try_start_3
sget-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sIConcache:Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
if-nez v0, :cond_e
.line 31
new-instance v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
invoke-direct {v0, p0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sIConcache:Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
.line 33
:cond_e
sget-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sIConcache:Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;
monitor-exit v1
return-object v0
.line 34
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
.end method
.method public static getMiniBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 3
.prologue
.line 51
if-nez p0, :cond_4
.line 52
const/4 v0, 0x0
.line 55
:goto_3
return-object v0
.line 54
:cond_4
sget v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sDefaultSize:I
sget v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sDefaultSize:I
invoke-static {p0, v0, v1}, Landroid/media/ThumbnailUtils;->extractThumbnail(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
move-result-object v0
goto :goto_3
.end method
# virtual methods
.method public addToBitmapCache(Ljava/lang/String;Landroid/graphics/Bitmap;)V
.registers 6
.prologue
.line 59
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sLOCK:Ljava/lang/Object;
monitor-enter v1
.line 60
:try_start_3
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_14
if-eqz p2, :cond_14
.line 61
invoke-static {p2}, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->getMiniBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
move-result-object v0
.line 62
iget-object v2, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->mBitmapCache:Landroid/util/LruCache;
invoke-virtual {v2, p1, v0}, Landroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 64
:cond_14
monitor-exit v1
.line 66
return-void
.line 64
:catchall_16
move-exception v0
monitor-exit v1
:try_end_18
.catchall {:try_start_3 .. :try_end_18} :catchall_16
throw v0
.end method
.method public addToBitmapCache(Ljava/lang/String;Landroid/graphics/drawable/BitmapDrawable;)V
.registers 6
.prologue
.line 69
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sLOCK:Ljava/lang/Object;
monitor-enter v1
.line 70
:try_start_3
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_18
if-eqz p2, :cond_18
.line 71
invoke-virtual {p2}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->getMiniBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
move-result-object v0
.line 72
iget-object v2, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->mBitmapCache:Landroid/util/LruCache;
invoke-virtual {v2, p1, v0}, Landroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 74
:cond_18
monitor-exit v1
.line 75
return-void
.line 74
:catchall_1a
move-exception v0
monitor-exit v1
:try_end_1c
.catchall {:try_start_3 .. :try_end_1c} :catchall_1a
throw v0
.end method
.method public getBitmapByCache(Ljava/lang/String;)Landroid/graphics/Bitmap;
.registers 4
.prologue
.line 38
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->sLOCK:Ljava/lang/Object;
monitor-enter v1
.line 40
:try_start_3
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_17
.line 41
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/IConCache;->mBitmapCache:Landroid/util/LruCache;
invoke-virtual {v0, p1}, Landroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Bitmap;
:try_end_11
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_11} :catch_13
.catchall {:try_start_3 .. :try_end_11} :catchall_1a
:try_start_11
monitor-exit v1
.line 46
:goto_12
return-object v0
.line 43
:catch_13
move-exception v0
.line 44
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 46
:cond_17
const/4 v0, 0x0
monitor-exit v1
goto :goto_12
.line 47
:catchall_1a
move-exception v0
monitor-exit v1
:try_end_1c
.catchall {:try_start_11 .. :try_end_1c} :catchall_1a
throw v0
.end method