AlbumBitmapCacheHelper$3.smali
.class Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;
.super Ljava/lang/Object;
.source "AlbumBitmapCacheHelper.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->decodeBitmapFromPath(Ljava/lang/String;IILio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$ILoadImageCallback;[Ljava/lang/Object;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
.field final synthetic val$handler:Landroid/os/Handler;
.field final synthetic val$height:I
.field final synthetic val$path:Ljava/lang/String;
.field final synthetic val$width:I
# direct methods
.method constructor <init>(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;Ljava/lang/String;IILandroid/os/Handler;)V
.registers 6
.line 1
iput-object p1, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
iput-object p2, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
iput p3, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$width:I
iput p4, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$height:I
iput-object p5, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$handler:Landroid/os/Handler;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 12
.line 1
iget-object v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->currentShowString:Ljava/util/ArrayList;
invoke-static {v0}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$000(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Ljava/util/ArrayList;
move-result-object v0
iget-object v1, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1a0
iget-object v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->cache:Lb/a/g;
invoke-static {v0}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$100(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Lb/a/g;
move-result-object v0
if-nez v0, :cond_18
goto/16 :goto_1a0
.line 2
:cond_18
iget v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$width:I
const/4 v1, 0x0
const-string v2, "_"
const-string v3, "decodeBitmapFromPath"
const-string v4, "AlbumBitmapCacheHelper"
if-eqz v0, :cond_153
iget v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$height:I
if-nez v0, :cond_29
goto/16 :goto_153
.line 3
:cond_29
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v5, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v5, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$width:I
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v5, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$height:I
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lio/rong/imkit/utilities/RongUtils;->md5(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 4
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
iget-object v6, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->mContext:Landroid/content/Context;
invoke-static {v6}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$300(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Landroid/content/Context;
move-result-object v6
const-string v7, "image"
invoke-static {v6, v7}, Lio/rong/common/FileUtils;->getInternalCachePath(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, "/"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ".temp"
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 5
new-instance v5, Ljava/io/File;
iget-object v6, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
invoke-direct {v5, v6}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 6
new-instance v6, Ljava/io/File;
invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 7
invoke-virtual {v6}, Ljava/io/File;->exists()Z
move-result v7
if-eqz v7, :cond_93
invoke-virtual {v5}, Ljava/io/File;->lastModified()J
move-result-wide v7
invoke-virtual {v6}, Ljava/io/File;->lastModified()J
move-result-wide v5
cmp-long v9, v7, v5
if-gtz v9, :cond_93
.line 8
invoke-static {v0}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;
move-result-object v5
goto :goto_94
:cond_93
move-object v5, v1
:goto_94
if-nez v5, :cond_131
.line 9
:try_start_96
iget-object v5, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
iget-object v6, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
iget v7, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$width:I
iget v8, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$height:I
# invokes: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->getBitmap(Ljava/lang/String;II)Landroid/graphics/Bitmap;
invoke-static {v5, v6, v7, v8}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$200(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;Ljava/lang/String;II)Landroid/graphics/Bitmap;
move-result-object v5
:try_end_a2
.catch Ljava/lang/OutOfMemoryError; {:try_start_96 .. :try_end_a2} :catch_a3
goto :goto_a4
:catch_a3
move-object v5, v1
:goto_a4
if-eqz v5, :cond_c5
.line 10
iget-object v6, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->cache:Lb/a/g;
invoke-static {v6}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$100(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Lb/a/g;
move-result-object v6
if-eqz v6, :cond_c5
.line 11
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getWidth()I
move-result v6
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getHeight()I
move-result v7
if-le v6, v7, :cond_bd
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
goto :goto_c1
:cond_bd
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getWidth()I
move-result v6
:goto_c1
invoke-static {v5, v6}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->centerSquareScaleBitmap(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v5
:cond_c5
if-eqz v5, :cond_151
.line 12
:try_start_c7
new-instance v6, Ljava/io/File;
invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 13
invoke-virtual {v6}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_d6
.line 14
invoke-virtual {v6}, Ljava/io/File;->createNewFile()Z
goto :goto_dc
.line 15
:cond_d6
invoke-virtual {v6}, Ljava/io/File;->delete()Z
.line 16
invoke-virtual {v6}, Ljava/io/File;->createNewFile()Z
.line 17
:goto_dc
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v6}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_e1
.catch Ljava/io/FileNotFoundException; {:try_start_c7 .. :try_end_e1} :catch_117
.catch Ljava/io/IOException; {:try_start_c7 .. :try_end_e1} :catch_10d
.catchall {:try_start_c7 .. :try_end_e1} :catchall_10b
.line 18
:try_start_e1
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 19
sget-object v6, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v7, 0x64
invoke-virtual {v5, v6, v7, v1}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 20
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v1
invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;->write([B)V
.line 21
invoke-virtual {v0}, Ljava/io/FileOutputStream;->flush()V
:try_end_f7
.catch Ljava/io/FileNotFoundException; {:try_start_e1 .. :try_end_f7} :catch_106
.catch Ljava/io/IOException; {:try_start_e1 .. :try_end_f7} :catch_101
.catchall {:try_start_e1 .. :try_end_f7} :catchall_fc
.line 22
:try_start_f7
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
:try_end_fa
.catch Ljava/io/IOException; {:try_start_f7 .. :try_end_fa} :catch_121
goto/16 :goto_151
:catchall_fc
move-exception v1
move-object v10, v1
move-object v1, v0
move-object v0, v10
goto :goto_126
:catch_101
move-exception v1
move-object v10, v1
move-object v1, v0
move-object v0, v10
goto :goto_10e
:catch_106
move-exception v1
move-object v10, v1
move-object v1, v0
move-object v0, v10
goto :goto_118
:catchall_10b
move-exception v0
goto :goto_126
:catch_10d
move-exception v0
.line 23
:goto_10e
:try_start_10e
invoke-static {v4, v3, v0}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_111
.catchall {:try_start_10e .. :try_end_111} :catchall_10b
if-eqz v1, :cond_151
.line 24
:try_start_113
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_116
.catch Ljava/io/IOException; {:try_start_113 .. :try_end_116} :catch_121
goto :goto_151
:catch_117
move-exception v0
.line 25
:goto_118
:try_start_118
invoke-static {v4, v3, v0}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_11b
.catchall {:try_start_118 .. :try_end_11b} :catchall_10b
if-eqz v1, :cond_151
.line 26
:try_start_11d
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_120
.catch Ljava/io/IOException; {:try_start_11d .. :try_end_120} :catch_121
goto :goto_151
:catch_121
move-exception v0
.line 27
invoke-static {v4, v3, v0}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_151
:goto_126
if-eqz v1, :cond_130
.line 28
:try_start_128
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_12b
.catch Ljava/io/IOException; {:try_start_128 .. :try_end_12b} :catch_12c
goto :goto_130
:catch_12c
move-exception v1
.line 29
invoke-static {v4, v3, v1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 30
:cond_130
:goto_130
throw v0
.line 31
:cond_131
iget-object v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->cache:Lb/a/g;
invoke-static {v0}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$100(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Lb/a/g;
move-result-object v0
if-eqz v0, :cond_151
.line 32
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
if-le v0, v1, :cond_148
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getHeight()I
move-result v0
goto :goto_14c
:cond_148
invoke-virtual {v5}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
:goto_14c
invoke-static {v5, v0}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->centerSquareScaleBitmap(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v1
goto :goto_164
:cond_151
:goto_151
move-object v1, v5
goto :goto_164
.line 33
:cond_153
:goto_153
:try_start_153
iget-object v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
iget-object v5, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
iget v6, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$width:I
iget v7, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$height:I
# invokes: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->getBitmap(Ljava/lang/String;II)Landroid/graphics/Bitmap;
invoke-static {v0, v5, v6, v7}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$200(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;Ljava/lang/String;II)Landroid/graphics/Bitmap;
move-result-object v1
:try_end_15f
.catch Ljava/lang/OutOfMemoryError; {:try_start_153 .. :try_end_15f} :catch_160
goto :goto_164
:catch_160
move-exception v0
.line 34
invoke-static {v4, v3, v0}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_164
if-eqz v1, :cond_195
.line 35
iget-object v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->cache:Lb/a/g;
invoke-static {v0}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$100(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Lb/a/g;
move-result-object v0
if-eqz v0, :cond_195
.line 36
iget-object v0, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->this$0:Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;
# getter for: Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->cache:Lb/a/g;
invoke-static {v0}, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;->access$100(Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper;)Lb/a/g;
move-result-object v0
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
iget-object v4, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$path:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v4, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$width:I
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$height:I
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2, v1}, Lb/a/g;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 37
:cond_195
invoke-static {}, Landroid/os/Message;->obtain()Landroid/os/Message;
move-result-object v0
.line 38
iput-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
.line 39
iget-object v1, p0, Lio/rong/imkit/plugin/image/AlbumBitmapCacheHelper$3;->val$handler:Landroid/os/Handler;
invoke-virtual {v1, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
:cond_1a0
:goto_1a0
return-void
.end method