StorageUtils.smali
.class public Lcom/sdk/orion/ui/baselibrary/utils/StorageUtils;
.super Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getSDCardAvailaleSize()J
.registers 4
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
new-instance v1, Landroid/os/StatFs;
invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Landroid/os/StatFs;->getBlockSize()I
move-result v0
int-to-long v2, v0
invoke-virtual {v1}, Landroid/os/StatFs;->getAvailableBlocks()I
move-result v0
int-to-long v0, v0
mul-long/2addr v0, v2
return-wide v0
.end method
.method public static saveImageToGallery(Landroid/content/Context;Landroid/graphics/Bitmap;)Z
.registers 8
const/4 v0, 0x0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v2
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
sget-object v2, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v2, "xiaoya"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_31
invoke-virtual {v2}, Ljava/io/File;->mkdir()Z
:cond_31
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v3, ".jpg"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
new-instance v4, Ljava/io/File;
invoke-direct {v4, v2, v1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const/4 v3, 0x0
:try_start_4f
new-instance v2, Ljava/io/FileOutputStream;
invoke-direct {v2, v4}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_54
.catch Ljava/io/IOException; {:try_start_4f .. :try_end_54} :catch_87
.catchall {:try_start_4f .. :try_end_54} :catchall_97
:try_start_54
sget-object v1, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v3, 0x3c
invoke-virtual {p1, v1, v3, v2}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
move-result v1
invoke-virtual {v2}, Ljava/io/FileOutputStream;->flush()V
invoke-static {v4}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object v3
new-instance v4, Landroid/content/Intent;
const-string/jumbo v5, "android.intent.action.MEDIA_SCANNER_SCAN_FILE"
invoke-direct {v4, v5, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
invoke-virtual {p0, v4}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
:try_end_6e
.catch Ljava/io/IOException; {:try_start_54 .. :try_end_6e} :catch_a6
.catchall {:try_start_54 .. :try_end_6e} :catchall_a4
if-eqz v1, :cond_7c
const/4 v0, 0x1
if-eqz v2, :cond_76
:try_start_73
invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
:try_end_76
.catch Ljava/io/IOException; {:try_start_73 .. :try_end_76} :catch_77
:cond_76
:goto_76
return v0
:catch_77
move-exception v1
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_76
:cond_7c
if-eqz v2, :cond_76
:try_start_7e
invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
:try_end_81
.catch Ljava/io/IOException; {:try_start_7e .. :try_end_81} :catch_82
goto :goto_76
:catch_82
move-exception v1
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_76
:catch_87
move-exception v1
move-object v2, v3
:goto_89
:try_start_89
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
:try_end_8c
.catchall {:try_start_89 .. :try_end_8c} :catchall_a4
if-eqz v2, :cond_76
:try_start_8e
invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
:try_end_91
.catch Ljava/io/IOException; {:try_start_8e .. :try_end_91} :catch_92
goto :goto_76
:catch_92
move-exception v1
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_76
:catchall_97
move-exception v0
move-object v2, v3
:goto_99
if-eqz v2, :cond_9e
:try_start_9b
invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
:try_end_9e
.catch Ljava/io/IOException; {:try_start_9b .. :try_end_9e} :catch_9f
:cond_9e
:goto_9e
throw v0
:catch_9f
move-exception v1
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_9e
:catchall_a4
move-exception v0
goto :goto_99
:catch_a6
move-exception v1
goto :goto_89
.end method