.class public Lcom/moji/newliveview/camera/CompressUtils; .super Ljava/lang/Object; .source "CompressUtils.java" # static fields .field private static final a:Ljava/lang/String; = "CompressUtils" # direct methods .method static constructor ()V .locals 0 return-void .end method .method public constructor ()V .locals 0 .line 18 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static a(Ljava/lang/String;Ljava/lang/String;)Z .locals 10 .line 30 new-instance v0, Ljava/io/File; invoke-direct {v0, p1}, Ljava/io/File;->(Ljava/lang/String;)V .line 31 invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File; move-result-object p1 invoke-virtual {p1}, Ljava/io/File;->exists()Z move-result p1 if-nez p1, :cond_0 .line 32 invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File; move-result-object p1 invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z .line 33 :cond_0 invoke-virtual {v0}, Ljava/io/File;->exists()Z move-result p1 if-nez p1, :cond_1 .line 35 :try_start_0 invoke-virtual {v0}, Ljava/io/File;->createNewFile()Z :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p1 .line 37 sget-object v1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {v1, p1}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 40 :cond_1 :goto_0 new-instance p1, Landroid/graphics/BitmapFactory$Options; invoke-direct {p1}, Landroid/graphics/BitmapFactory$Options;->()V const/4 v1, 0x1 .line 41 iput-boolean v1, p1, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z .line 42 iput-boolean v1, p1, Landroid/graphics/BitmapFactory$Options;->inScaled:Z const/4 v2, 0x0 const/4 v3, 0x0 .line 44 :try_start_1 new-instance v4, Ljava/io/FileOutputStream; invoke-direct {v4, v0}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_15 .catchall {:try_start_1 .. :try_end_1} :catchall_5 .line 45 :try_start_2 new-instance v0, Ljava/io/FileInputStream; invoke-direct {v0, p0}, Ljava/io/FileInputStream;->(Ljava/lang/String;)V :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_14 .catchall {:try_start_2 .. :try_end_2} :catchall_6 .line 46 :try_start_3 invoke-static {v0, v3, p1}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; .line 48 iget v5, p1, Landroid/graphics/BitmapFactory$Options;->outWidth:I int-to-float v5, v5 const/high16 v6, 0x44870000 # 1080.0f div-float/2addr v5, v6 float-to-double v7, v5 invoke-static {v7, v8}, Ljava/lang/Math;->ceil(D)D move-result-wide v7 double-to-int v5, v7 .line 49 iget v7, p1, Landroid/graphics/BitmapFactory$Options;->outHeight:I int-to-float v7, v7 div-float/2addr v7, v6 float-to-double v7, v7 invoke-static {v7, v8}, Ljava/lang/Math;->ceil(D)D move-result-wide v7 double-to-int v7, v7 if-le v5, v7, :cond_2 goto :goto_1 :cond_2 move v5, v7 .line 51 :goto_1 iget v7, p1, Landroid/graphics/BitmapFactory$Options;->outHeight:I iget v8, p1, Landroid/graphics/BitmapFactory$Options;->outWidth:I const/high16 v9, 0x43200000 # 160.0f if-le v7, v8, :cond_3 .line 52 iget v7, p1, Landroid/graphics/BitmapFactory$Options;->outWidth:I int-to-float v7, v7 div-float/2addr v7, v6 mul-float v7, v7, v9 float-to-int v7, v7 iput v7, p1, Landroid/graphics/BitmapFactory$Options;->inDensity:I goto :goto_2 .line 54 :cond_3 iget v7, p1, Landroid/graphics/BitmapFactory$Options;->outHeight:I int-to-float v7, v7 div-float/2addr v7, v6 mul-float v7, v7, v9 float-to-int v7, v7 iput v7, p1, Landroid/graphics/BitmapFactory$Options;->inDensity:I :goto_2 const/16 v7, 0xa0 .line 56 iput v7, p1, Landroid/graphics/BitmapFactory$Options;->inTargetDensity:I .line 57 iput-boolean v2, p1, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z :try_end_3 .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_13 .catchall {:try_start_3 .. :try_end_3} :catchall_4 .line 61 :try_start_4 new-instance v7, Ljava/io/FileInputStream; invoke-direct {v7, p0}, Ljava/io/FileInputStream;->(Ljava/lang/String;)V :try_end_4 .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_3 .catchall {:try_start_4 .. :try_end_4} :catchall_1 .line 62 :try_start_5 invoke-static {v7, v3, p1}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; move-result-object v8 :try_end_5 .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_2 .catchall {:try_start_5 .. :try_end_5} :catchall_0 .line 112 :try_start_6 invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V :try_end_6 .catch Ljava/io/IOException; {:try_start_6 .. :try_end_6} :catch_1 .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_13 .catchall {:try_start_6 .. :try_end_6} :catchall_4 goto/16 :goto_c :catch_1 move-exception p0 .line 114 :try_start_7 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; :goto_3 invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_7 .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_7} :catch_13 .catchall {:try_start_7 .. :try_end_7} :catchall_4 goto/16 :goto_c :catchall_0 move-exception p0 goto/16 :goto_16 :catch_2 nop goto :goto_4 :catchall_1 move-exception p0 move-object v7, v3 goto/16 :goto_16 :catch_3 move-object v7, v3 :goto_4 if-le v5, v1, :cond_4 goto :goto_5 :cond_4 const/4 v5, 0x0 :goto_5 if-eqz v5, :cond_5 .line 69 :try_start_8 iput v5, p1, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I const/4 v8, 0x4 if-le v5, v8, :cond_5 add-int/2addr v5, v1 .line 71 iput v5, p1, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I :try_end_8 .catchall {:try_start_8 .. :try_end_8} :catchall_0 .line 77 :cond_5 :try_start_9 new-instance v5, Ljava/io/FileInputStream; invoke-direct {v5, p0}, Ljava/io/FileInputStream;->(Ljava/lang/String;)V :try_end_9 .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_9} :catch_c .catchall {:try_start_9 .. :try_end_9} :catchall_3 .line 78 :try_start_a invoke-static {v5, v3, p1}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; move-result-object p0 :try_end_a .catch Ljava/lang/Exception; {:try_start_a .. :try_end_a} :catch_b .catchall {:try_start_a .. :try_end_a} :catchall_2 .line 85 :try_start_b invoke-virtual {v5}, Ljava/io/FileInputStream;->close()V :try_end_b .catch Ljava/io/IOException; {:try_start_b .. :try_end_b} :catch_4 .catchall {:try_start_b .. :try_end_b} :catchall_0 goto :goto_6 :catch_4 move-exception v3 .line 87 :try_start_c sget-object v5, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {v5, v3}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_c .catchall {:try_start_c .. :try_end_c} :catchall_0 :goto_6 if-nez p0, :cond_7 if-eqz v7, :cond_6 .line 112 :try_start_d invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V :try_end_d .catch Ljava/io/IOException; {:try_start_d .. :try_end_d} :catch_5 .catch Ljava/lang/Exception; {:try_start_d .. :try_end_d} :catch_13 .catchall {:try_start_d .. :try_end_d} :catchall_4 goto :goto_7 :catch_5 move-exception p0 .line 114 :try_start_e sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_e .catch Ljava/lang/Exception; {:try_start_e .. :try_end_e} :catch_13 .catchall {:try_start_e .. :try_end_e} :catchall_4 .line 127 :cond_6 :goto_7 :try_start_f invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V :try_end_f .catch Ljava/io/IOException; {:try_start_f .. :try_end_f} :catch_6 goto :goto_8 :catch_6 move-exception p0 .line 129 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 134 :goto_8 :try_start_10 invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V :try_end_10 .catch Ljava/io/IOException; {:try_start_10 .. :try_end_10} :catch_7 goto :goto_9 :catch_7 move-exception p0 .line 136 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :goto_9 return v2 .line 94 :cond_7 :try_start_11 iget v3, p1, Landroid/graphics/BitmapFactory$Options;->outHeight:I iget p1, p1, Landroid/graphics/BitmapFactory$Options;->outWidth:I const/16 v5, 0x438 if-le v3, p1, :cond_8 .line 97 invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I move-result p1 int-to-float p1, p1 invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I move-result v3 int-to-float v3, v3 div-float/2addr p1, v3 mul-float p1, p1, v6 float-to-int p1, p1 .line 95 invoke-static {p0, v5, p1, v1}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap; move-result-object p1 :goto_a move-object v8, p1 goto :goto_b .line 101 :cond_8 invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I move-result p1 int-to-float p1, p1 invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I move-result v3 int-to-float v3, v3 div-float/2addr p1, v3 mul-float p1, p1, v6 float-to-int p1, p1 .line 100 invoke-static {p0, p1, v5, v1}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap; move-result-object p1 goto :goto_a :goto_b if-eq p0, v8, :cond_9 .line 107 invoke-static {p0}, Lcom/moji/tool/BitmapTool;->a(Landroid/graphics/Bitmap;)Z :try_end_11 .catchall {:try_start_11 .. :try_end_11} :catchall_0 :cond_9 if-eqz v7, :cond_a .line 112 :try_start_12 invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V :try_end_12 .catch Ljava/io/IOException; {:try_start_12 .. :try_end_12} :catch_8 .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_12} :catch_13 .catchall {:try_start_12 .. :try_end_12} :catchall_4 goto :goto_c :catch_8 move-exception p0 .line 114 :try_start_13 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; goto/16 :goto_3 .line 118 :cond_a :goto_c sget-object p0, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat; const/16 p1, 0x5a invoke-virtual {v8, p0, p1, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z .line 119 invoke-virtual {v4}, Ljava/io/FileOutputStream;->flush()V .line 120 invoke-static {v8}, Lcom/moji/tool/BitmapTool;->a(Landroid/graphics/Bitmap;)Z :try_end_13 .catch Ljava/lang/Exception; {:try_start_13 .. :try_end_13} :catch_13 .catchall {:try_start_13 .. :try_end_13} :catchall_4 .line 127 :try_start_14 invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V :try_end_14 .catch Ljava/io/IOException; {:try_start_14 .. :try_end_14} :catch_9 goto :goto_d :catch_9 move-exception p0 .line 129 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 134 :goto_d :try_start_15 invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V :try_end_15 .catch Ljava/io/IOException; {:try_start_15 .. :try_end_15} :catch_a goto :goto_e :catch_a move-exception p0 .line 136 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :goto_e return v1 :catchall_2 move-exception p0 move-object v3, v5 goto :goto_14 :catch_b move-exception p0 move-object v3, v5 goto :goto_f :catchall_3 move-exception p0 goto :goto_14 :catch_c move-exception p0 .line 80 :goto_f :try_start_16 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_16 .catchall {:try_start_16 .. :try_end_16} :catchall_3 if-eqz v3, :cond_b .line 85 :try_start_17 invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V :try_end_17 .catch Ljava/io/IOException; {:try_start_17 .. :try_end_17} :catch_d .catchall {:try_start_17 .. :try_end_17} :catchall_0 goto :goto_10 :catch_d move-exception p0 .line 87 :try_start_18 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_18 .catchall {:try_start_18 .. :try_end_18} :catchall_0 :cond_b :goto_10 if-eqz v7, :cond_c .line 112 :try_start_19 invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V :try_end_19 .catch Ljava/io/IOException; {:try_start_19 .. :try_end_19} :catch_e .catch Ljava/lang/Exception; {:try_start_19 .. :try_end_19} :catch_13 .catchall {:try_start_19 .. :try_end_19} :catchall_4 goto :goto_11 :catch_e move-exception p0 .line 114 :try_start_1a sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_1a .catch Ljava/lang/Exception; {:try_start_1a .. :try_end_1a} :catch_13 .catchall {:try_start_1a .. :try_end_1a} :catchall_4 .line 127 :cond_c :goto_11 :try_start_1b invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V :try_end_1b .catch Ljava/io/IOException; {:try_start_1b .. :try_end_1b} :catch_f goto :goto_12 :catch_f move-exception p0 .line 129 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 134 :goto_12 :try_start_1c invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V :try_end_1c .catch Ljava/io/IOException; {:try_start_1c .. :try_end_1c} :catch_10 goto :goto_13 :catch_10 move-exception p0 .line 136 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :goto_13 return v2 :goto_14 if-eqz v3, :cond_d .line 85 :try_start_1d invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V :try_end_1d .catch Ljava/io/IOException; {:try_start_1d .. :try_end_1d} :catch_11 .catchall {:try_start_1d .. :try_end_1d} :catchall_0 goto :goto_15 :catch_11 move-exception p1 .line 87 :try_start_1e sget-object v1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {v1, p1}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 90 :cond_d :goto_15 throw p0 :try_end_1e .catchall {:try_start_1e .. :try_end_1e} :catchall_0 :goto_16 if-eqz v7, :cond_e .line 112 :try_start_1f invoke-virtual {v7}, Ljava/io/FileInputStream;->close()V :try_end_1f .catch Ljava/io/IOException; {:try_start_1f .. :try_end_1f} :catch_12 .catch Ljava/lang/Exception; {:try_start_1f .. :try_end_1f} :catch_13 .catchall {:try_start_1f .. :try_end_1f} :catchall_4 goto :goto_17 :catch_12 move-exception p1 .line 114 :try_start_20 sget-object v1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {v1, p1}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 117 :cond_e :goto_17 throw p0 :try_end_20 .catch Ljava/lang/Exception; {:try_start_20 .. :try_end_20} :catch_13 .catchall {:try_start_20 .. :try_end_20} :catchall_4 :catchall_4 move-exception p0 goto :goto_1b :catch_13 move-exception p0 move-object v3, v0 goto :goto_18 :catch_14 move-exception p0 goto :goto_18 :catchall_5 move-exception p0 move-object v0, v3 move-object v4, v0 goto :goto_1b :catch_15 move-exception p0 move-object v4, v3 .line 122 :goto_18 :try_start_21 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :try_end_21 .catchall {:try_start_21 .. :try_end_21} :catchall_6 if-eqz v3, :cond_f .line 127 :try_start_22 invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V :try_end_22 .catch Ljava/io/IOException; {:try_start_22 .. :try_end_22} :catch_16 goto :goto_19 :catch_16 move-exception p0 .line 129 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :cond_f :goto_19 if-eqz v4, :cond_10 .line 134 :try_start_23 invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V :try_end_23 .catch Ljava/io/IOException; {:try_start_23 .. :try_end_23} :catch_17 goto :goto_1a :catch_17 move-exception p0 .line 136 sget-object p1, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :cond_10 :goto_1a return v2 :catchall_6 move-exception p0 move-object v0, v3 :goto_1b if-eqz v0, :cond_11 .line 127 :try_start_24 invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V :try_end_24 .catch Ljava/io/IOException; {:try_start_24 .. :try_end_24} :catch_18 goto :goto_1c :catch_18 move-exception p1 .line 129 sget-object v0, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {v0, p1}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V :cond_11 :goto_1c if-eqz v4, :cond_12 .line 134 :try_start_25 invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V :try_end_25 .catch Ljava/io/IOException; {:try_start_25 .. :try_end_25} :catch_19 goto :goto_1d :catch_19 move-exception p1 .line 136 sget-object v0, Lcom/moji/newliveview/camera/CompressUtils;->a:Ljava/lang/String; invoke-static {v0, p1}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V .line 139 :cond_12 :goto_1d throw p0 .end method