MediaFile.smali
.class public Lcom/cleanmaster/junk/util/MediaFile;
.super Ljava/lang/Object;
.source "MediaFile.java"
# instance fields
.field private final contentResolver:Landroid/content/ContentResolver;
.field private final file:Ljava/io/File;
.field private final filesUri:Landroid/net/Uri;
.field private final imagesUri:Landroid/net/Uri;
# direct methods
.method public constructor <init>(Landroid/content/ContentResolver;Ljava/io/File;)V
.registers 4
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.prologue
.line 56
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 57
iput-object p2, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
.line 58
iput-object p1, p0, Lcom/cleanmaster/junk/util/MediaFile;->contentResolver:Landroid/content/ContentResolver;
.line 59
const-string v0, "external"
invoke-static {v0}, Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/junk/util/MediaFile;->filesUri:Landroid/net/Uri;
.line 60
sget-object v0, Landroid/provider/MediaStore$Images$Media;->EXTERNAL_CONTENT_URI:Landroid/net/Uri;
iput-object v0, p0, Lcom/cleanmaster/junk/util/MediaFile;->imagesUri:Landroid/net/Uri;
.line 61
return-void
.end method
.method private deleteByMediaTypePlaylist()Z
.registers 7
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.prologue
.line 159
invoke-static {}, Lcom/cleanmaster/junk/util/JunkUtils;->getContext()Landroid/content/Context;
move-result-object v0
.line 161
iget-object v1, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/cleanmaster/junk/util/MediaFile;->getMediaUri(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
.line 162
if-eqz v1, :cond_31
.line 164
:try_start_10
new-instance v2, Landroid/content/ContentValues;
invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
.line 165
const-string v3, "media_type"
const/4 v4, 0x4
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-virtual {v2, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
.line 166
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const/4 v4, 0x0
const/4 v5, 0x0
invoke-virtual {v3, v1, v2, v4, v5}, Landroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
.line 167
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const/4 v2, 0x0
const/4 v3, 0x0
invoke-virtual {v0, v1, v2, v3}, Landroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
:try_end_31
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_31} :catch_3d
.line 173
:cond_31
:goto_31
iget-object v0, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_3b
const/4 v0, 0x1
:goto_3a
return v0
:cond_3b
const/4 v0, 0x0
goto :goto_3a
.line 168
:catch_3d
move-exception v0
goto :goto_31
.end method
.method private static getMediaUri(Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri;
.registers 10
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.prologue
const/4 v6, 0x0
const/4 v7, 0x1
.line 185
.line 187
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "external"
invoke-static {v1}, Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/String;
const/4 v3, 0x0
const-string v4, "_id"
aput-object v4, v2, v3
const-string v3, "_data=?"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/String;
const/4 v5, 0x0
aput-object p1, v4, v5
const/4 v5, 0x0
invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
:try_end_20
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_20} :catch_62
move-result-object v1
.line 189
if-eqz v1, :cond_42
:try_start_23
invoke-interface {v1}, Landroid/database/Cursor;->getCount()I
move-result v0
if-ne v0, v7, :cond_42
.line 190
invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
.line 191
const-string v0, "_id"
invoke-interface {v1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
invoke-interface {v1, v0}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v2
.line 192
const-string v0, "external"
invoke-static {v0, v2, v3}, Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;J)Landroid/net/Uri;
:try_end_3b
.catchall {:try_start_23 .. :try_end_3b} :catchall_5b
move-result-object v0
.line 200
:goto_3c
if-eqz v1, :cond_41
.line 201
:try_start_3e
invoke-interface {v1}, Landroid/database/Cursor;->close()V
:try_end_41
.catch Ljava/lang/Exception; {:try_start_3e .. :try_end_41} :catch_65
.line 206
:cond_41
:goto_41
return-object v0
.line 194
:cond_42
:try_start_42
new-instance v0, Landroid/content/ContentValues;
invoke-direct {v0}, Landroid/content/ContentValues;-><init>()V
.line 195
const-string v2, "_data"
invoke-virtual {v0, v2, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 196
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "external"
invoke-static {v3}, Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v3
invoke-virtual {v2, v3, v0}, Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
:try_end_59
.catchall {:try_start_42 .. :try_end_59} :catchall_5b
move-result-object v0
goto :goto_3c
.line 200
:catchall_5b
move-exception v0
if-eqz v1, :cond_61
.line 201
:try_start_5e
invoke-interface {v1}, Landroid/database/Cursor;->close()V
:cond_61
throw v0
:try_end_62
.catch Ljava/lang/Exception; {:try_start_5e .. :try_end_62} :catch_62
.line 203
:catch_62
move-exception v0
move-object v0, v6
goto :goto_41
:catch_65
move-exception v1
goto :goto_41
.end method
# virtual methods
.method public delete()Z
.registers 8
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v1, 0x0
const/4 v0, 0x1
.line 70
iget-object v2, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_b
.line 149
:cond_a
:goto_a
return v0
.line 74
:cond_b
iget-object v2, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->isDirectory()Z
move-result v2
.line 75
if-eqz v2, :cond_36
.line 77
iget-object v2, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v2
new-instance v3, Lcom/cleanmaster/junk/util/MediaFile$1;
invoke-direct {v3, p0}, Lcom/cleanmaster/junk/util/MediaFile$1;-><init>(Lcom/cleanmaster/junk/util/MediaFile;)V
invoke-static {v2, v3}, Lcom/cleanmaster/util/path/PathOperFunc;->listDir(Ljava/lang/String;Lcom/cm/plugincluster/junkengine/util/INameFilter;)Lcom/cm/plugincluster/junkengine/util/path/IFilesAndFoldersStringList;
move-result-object v2
.line 104
if-eqz v2, :cond_31
:try_start_24
invoke-interface {v2}, Lcom/cm/plugincluster/junkengine/util/path/IKStringList;->size()I
:try_end_27
.catchall {:try_start_24 .. :try_end_27} :catchall_9b
move-result v3
if-lez v3, :cond_31
.line 108
if-eqz v2, :cond_2f
.line 109
invoke-interface {v2}, Lcom/cm/plugincluster/junkengine/util/path/IKStringList;->release()V
:cond_2f
move v0, v1
.line 105
goto :goto_a
.line 108
:cond_31
if-eqz v2, :cond_36
.line 109
invoke-interface {v2}, Lcom/cm/plugincluster/junkengine/util/path/IKStringList;->release()V
.line 115
:cond_36
const-string v2, "_data=?"
.line 116
new-array v3, v0, [Ljava/lang/String;
iget-object v4, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v4}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
.line 120
:try_start_42
iget-object v4, p0, Lcom/cleanmaster/junk/util/MediaFile;->contentResolver:Landroid/content/ContentResolver;
iget-object v5, p0, Lcom/cleanmaster/junk/util/MediaFile;->filesUri:Landroid/net/Uri;
invoke-virtual {v4, v5, v2, v3}, Landroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
.line 122
iget-object v4, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v4}, Ljava/io/File;->exists()Z
move-result v4
if-eqz v4, :cond_85
.line 125
new-instance v4, Landroid/content/ContentValues;
invoke-direct {v4}, Landroid/content/ContentValues;-><init>()V
.line 126
const-string v5, "_data"
iget-object v6, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v6}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v6
invoke-virtual {v4, v5, v6}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 129
iget-object v5, p0, Lcom/cleanmaster/junk/util/MediaFile;->contentResolver:Landroid/content/ContentResolver;
iget-object v6, p0, Lcom/cleanmaster/junk/util/MediaFile;->filesUri:Landroid/net/Uri;
invoke-virtual {v5, v6, v4}, Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
.line 130
new-instance v4, Landroid/content/ContentValues;
invoke-direct {v4}, Landroid/content/ContentValues;-><init>()V
.line 131
const-string v5, "media_type"
const/4 v6, 0x1
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
invoke-virtual {v4, v5, v6}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
.line 132
iget-object v5, p0, Lcom/cleanmaster/junk/util/MediaFile;->contentResolver:Landroid/content/ContentResolver;
iget-object v6, p0, Lcom/cleanmaster/junk/util/MediaFile;->filesUri:Landroid/net/Uri;
invoke-virtual {v5, v6, v4, v2, v3}, Landroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
.line 135
iget-object v4, p0, Lcom/cleanmaster/junk/util/MediaFile;->contentResolver:Landroid/content/ContentResolver;
iget-object v5, p0, Lcom/cleanmaster/junk/util/MediaFile;->filesUri:Landroid/net/Uri;
invoke-virtual {v4, v5, v2, v3}, Landroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
.line 138
:cond_85
iget-object v2, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_90
.line 140
invoke-direct {p0}, Lcom/cleanmaster/junk/util/MediaFile;->deleteByMediaTypePlaylist()Z
:try_end_90
.catch Ljava/lang/Exception; {:try_start_42 .. :try_end_90} :catch_a2
.line 149
:cond_90
:goto_90
iget-object v2, p0, Lcom/cleanmaster/junk/util/MediaFile;->file:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_a
move v0, v1
goto/16 :goto_a
.line 108
:catchall_9b
move-exception v0
if-eqz v2, :cond_a1
.line 109
invoke-interface {v2}, Lcom/cm/plugincluster/junkengine/util/path/IKStringList;->release()V
.line 110
:cond_a1
throw v0
.line 145
:catch_a2
move-exception v2
goto :goto_90
.end method