Weather/smali/com/moji/camera/utils/FileUtils.smali
2021-05-10 10:13:34 +02:00

761 lines
18 KiB
Smali

.class public Lcom/moji/camera/utils/FileUtils;
.super Ljava/lang/Object;
.source "FileUtils.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(Landroid/app/Activity;Landroid/net/Uri;)Ljava/lang/String;
.locals 2
const-string v0, "content"
.line 236
invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 238
invoke-static {}, Landroid/webkit/MimeTypeMap;->getSingleton()Landroid/webkit/MimeTypeMap;
move-result-object v0
invoke-virtual {p0}, Landroid/app/Activity;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p0
invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getType(Landroid/net/Uri;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Landroid/webkit/MimeTypeMap;->getExtensionFromMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 239
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_2
.line 240
new-instance p0, Ljava/io/File;
invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-static {p0}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object p0
invoke-virtual {p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Landroid/webkit/MimeTypeMap;->getFileExtensionFromUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_0
.line 244
:cond_0
new-instance v0, Ljava/io/File;
invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object v0
invoke-virtual {v0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/webkit/MimeTypeMap;->getFileExtensionFromUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 245
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_1
.line 246
invoke-static {}, Landroid/webkit/MimeTypeMap;->getSingleton()Landroid/webkit/MimeTypeMap;
move-result-object v0
invoke-virtual {p0}, Landroid/app/Activity;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p0
invoke-virtual {p0, p1}, Landroid/content/ContentResolver;->getType(Landroid/net/Uri;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Landroid/webkit/MimeTypeMap;->getExtensionFromMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_0
:cond_1
move-object p0, v0
:cond_2
:goto_0
return-object p0
.end method
.method public static a(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/lang/String;
.locals 8
const/4 v0, 0x1
.line 91
new-array v0, v0, [Ljava/lang/String;
const-string v1, "_data"
const/4 v7, 0x0
aput-object v1, v0, v7
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
move-object v1, p0
move-object v2, p1
move-object v3, v0
.line 92
invoke-virtual/range {v1 .. v6}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p0
const/4 p1, 0x0
if-nez p0, :cond_0
return-object p1
.line 98
:cond_0
invoke-interface {p0}, Landroid/database/Cursor;->moveToFirst()Z
.line 99
aget-object v0, v0, v7
invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_1
return-object p1
.line 103
:cond_1
invoke-interface {p0, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p1
.line 104
invoke-interface {p0}, Landroid/database/Cursor;->close()V
return-object p1
.end method
.method public static final a(Landroid/content/Context;)Ljava/lang/String;
.locals 1
.line 252
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, ".storage.fileprovider"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static a(Landroid/net/Uri;)Ljava/lang/String;
.locals 2
.line 201
new-instance v0, Ljava/io/File;
invoke-virtual {p0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p0
.line 202
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
const-string p0, "name"
return-object p0
:cond_0
const-string v0, "."
.line 205
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1
const-string v0, "."
.line 206
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v0
const/4 v1, 0x0
.line 207
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
:cond_1
return-object p0
.end method
.method public static a()V
.locals 7
.line 140
new-instance v0, Ljava/io/File;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v1
sget-object v2, Lcom/moji/camera/utils/Constants;->a:Ljava/lang/String;
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 141
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_3
.line 142
invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
if-eqz v0, :cond_2
.line 143
array-length v1, v0
if-nez v1, :cond_0
goto :goto_1
:cond_0
const/4 v1, 0x0
.line 146
:goto_0
array-length v2, v0
if-ge v1, v2, :cond_3
.line 147
aget-object v2, v0, v1
invoke-virtual {v2}, Ljava/io/File;->lastModified()J
move-result-wide v2
.line 148
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
sub-long/2addr v4, v2
const-wide/32 v2, 0x5265c00
cmp-long v6, v4, v2
if-lez v6, :cond_1
.line 149
aget-object v2, v0, v1
invoke-virtual {v2}, Ljava/io/File;->delete()Z
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_2
:goto_1
return-void
:cond_3
return-void
.end method
.method public static a(Landroid/content/Context;Landroid/net/Uri;)V
.locals 1
.line 37
new-instance v0, Lcom/moji/camera/utils/FileUtils$1;
invoke-direct {v0, p0, p1}, Lcom/moji/camera/utils/FileUtils$1;-><init>(Landroid/content/Context;Landroid/net/Uri;)V
invoke-static {v0}, Lcom/moji/tool/thread/MJPools;->a(Ljava/lang/Runnable;)I
return-void
.end method
.method public static a(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/Runnable;)V
.locals 4
.line 56
new-instance v0, Lcom/moji/location/MJLocationManager;
invoke-direct {v0}, Lcom/moji/location/MJLocationManager;-><init>()V
.line 58
new-instance v1, Lcom/moji/camera/location/LocationListener;
invoke-direct {v1, p0, p1, p2}, Lcom/moji/camera/location/LocationListener;-><init>(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/Runnable;)V
.line 59
new-instance p1, Lcom/moji/location/options/MJLocationOptions;
invoke-direct {p1}, Lcom/moji/location/options/MJLocationOptions;-><init>()V
const/4 p2, 0x0
.line 60
iput-boolean p2, p1, Lcom/moji/location/options/MJLocationOptions;->e:Z
.line 61
iput-boolean p2, p1, Lcom/moji/location/options/MJLocationOptions;->d:Z
const/4 v2, 0x1
.line 62
iput-boolean v2, p1, Lcom/moji/location/options/MJLocationOptions;->b:Z
.line 63
iput-boolean v2, p1, Lcom/moji/location/options/MJLocationOptions;->c:Z
const-wide/16 v2, 0x1389
.line 64
iput-wide v2, p1, Lcom/moji/location/options/MJLocationOptions;->f:J
const-wide/16 v2, 0x7d0
.line 65
iput-wide v2, p1, Lcom/moji/location/options/MJLocationOptions;->g:J
.line 66
iput-boolean p2, p1, Lcom/moji/location/options/MJLocationOptions;->h:Z
.line 67
sget-object p2, Lcom/moji/location/options/MJLocationOptions$MJLocationMode;->Battery_Saving:Lcom/moji/location/options/MJLocationOptions$MJLocationMode;
iput-object p2, p1, Lcom/moji/location/options/MJLocationOptions;->a:Lcom/moji/location/options/MJLocationOptions$MJLocationMode;
.line 68
sget-object p2, Lcom/moji/location/MJLocationManager;->a:Lcom/moji/location/MJLocationSource;
invoke-virtual {v0, p0, p2, p1, v1}, Lcom/moji/location/MJLocationManager;->a(Landroid/content/Context;Lcom/moji/location/MJLocationSource;Lcom/moji/location/options/MJLocationOptions;Lcom/moji/location/MJLocationListener;)V
return-void
.end method
.method public static a(Ljava/lang/String;Ljava/lang/String;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 72
new-instance v0, Landroid/media/ExifInterface;
invoke-direct {v0, p0}, Landroid/media/ExifInterface;-><init>(Ljava/lang/String;)V
.line 73
new-instance p0, Landroid/media/ExifInterface;
invoke-direct {p0, p1}, Landroid/media/ExifInterface;-><init>(Ljava/lang/String;)V
.line 74
const-class p1, Landroid/media/ExifInterface;
.line 75
invoke-virtual {p1}, Ljava/lang/Class;->getFields()[Ljava/lang/reflect/Field;
move-result-object v1
const/4 v2, 0x0
.line 76
:goto_0
array-length v3, v1
if-ge v2, v3, :cond_1
.line 77
aget-object v3, v1, v2
invoke-virtual {v3}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v3
.line 78
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_0
const-string v4, "TAG"
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_0
.line 79
aget-object v3, v1, v2
invoke-virtual {v3, p1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
.line 80
invoke-virtual {v0, v3}, Landroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
if-eqz v4, :cond_0
.line 82
invoke-virtual {p0, v3, v4}, Landroid/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 86
:cond_1
invoke-virtual {p0}, Landroid/media/ExifInterface;->saveAttributes()V
return-void
.end method
.method public static b(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
.locals 4
.line 159
new-instance v0, Ljava/io/File;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
sget-object v3, Lcom/moji/camera/utils/Constants;->a:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "."
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, v1, p0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 160
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_0
.line 161
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->mkdirs()Z
.line 162
:cond_0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_1
.line 164
: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 p0
const-string p1, "FileUtils"
.line 166
invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-object v0
.end method
.method public static c(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
.locals 4
.line 173
new-instance v0, Ljava/io/File;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
sget-object v3, Lcom/moji/camera/utils/Constants;->b:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "."
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, v1, p0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 174
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_0
.line 175
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->mkdirs()Z
.line 176
:cond_0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_1
.line 178
: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 p0
const-string p1, "FileUtils"
.line 180
invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-object v0
.end method
.method public static d(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
.locals 4
.line 187
new-instance v0, Ljava/io/File;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
sget-object v3, Lcom/moji/camera/utils/Constants;->c:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "."
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, v1, p0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 188
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_0
.line 189
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->mkdirs()Z
.line 190
:cond_0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_1
.line 192
: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 p0
const-string p1, "FileUtils"
.line 194
invoke-static {p1, p0}, Lcom/moji/tool/log/MJLogger;->a(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-object v0
.end method