Last active
March 10, 2021 21:41
-
-
Save michelerenzullo/14223c1071d9b824f86a7047bd2033e6 to your computer and use it in GitHub Desktop.
smali exportList function
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.method public static exportList(Ljava/lang/String;Ljava/lang/String;)V | |
.registers 8 | |
:try_start_0 | |
new-instance v0, Ljava/io/File; | |
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 {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; | |
sget-object v2, Ljava/io/File;->separator:Ljava/lang/String; | |
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
const-string v2, "Download/Effects" | |
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; | |
move-result-object v1 | |
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V | |
invoke-virtual {v0}, Ljava/io/File;->exists()Z | |
move-result v1 | |
if-nez v1, :cond_28 | |
invoke-virtual {v0}, Ljava/io/File;->mkdir()Z | |
:cond_28 | |
new-instance v1, Ljava/lang/StringBuilder; | |
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V | |
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
const-string p0, " : " | |
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; | |
move-result-object p0 | |
new-instance v1, Ljava/io/File; | |
const-string v2, "effects.txt" | |
invoke-direct {v1, v0, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V | |
const/4 v0, 0x0 | |
new-instance v2, Ljava/io/BufferedWriter; | |
new-instance v3, Ljava/io/FileWriter; | |
const/4 v4, 0x1 | |
invoke-direct {v3, v1, v4}, Ljava/io/FileWriter;-><init>(Ljava/io/File;Z)V | |
invoke-direct {v2, v3}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V | |
new-instance v3, Ljava/io/BufferedReader; | |
new-instance v5, Ljava/io/FileReader; | |
invoke-direct {v5, v1}, Ljava/io/FileReader;-><init>(Ljava/io/File;)V | |
invoke-direct {v3, v5}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V | |
const/16 v1, 0x2f | |
invoke-virtual {p1, v1}, Ljava/lang/String;->lastIndexOf(I)I | |
move-result v1 | |
add-int/2addr v1, v4 | |
const/16 v5, 0x3f | |
invoke-virtual {p1, v5}, Ljava/lang/String;->indexOf(I)I | |
move-result v5 | |
invoke-virtual {p1, v1, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String; | |
move-result-object p1 | |
:cond_6a | |
invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String; | |
move-result-object v1 | |
if-eqz v1, :cond_77 | |
invoke-virtual {v1, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z | |
move-result v1 | |
if-eqz v1, :cond_6a | |
const/4 v0, 0x1 | |
:cond_77 | |
invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V | |
if-nez v0, :cond_85 | |
invoke-virtual {v2, p0}, Ljava/io/BufferedWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; | |
invoke-virtual {v2}, Ljava/io/BufferedWriter;->newLine()V | |
invoke-virtual {v2}, Ljava/io/BufferedWriter;->newLine()V | |
:cond_85 | |
invoke-virtual {v2}, Ljava/io/BufferedWriter;->close()V | |
:try_end_0 | |
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 | |
:catch_0 | |
return-void | |
.end method |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment