nw.smali
.class public Ldxoptimizer/nw;
.super Ljava/lang/Thread;
.source "DirectoryScanner.java"
# static fields
.field static b:Ljava/lang/reflect/Method;
# instance fields
.field public a:Z
.field private c:Ljava/io/File;
.field private d:Ljava/lang/String;
.field private e:Ldxoptimizer/od;
.field private f:Landroid/content/Context;
.field private g:Landroid/os/Handler;
.field private h:J
# direct methods
.method static constructor <clinit>()V
.registers 0
.prologue
.line 46
invoke-static {}, Ldxoptimizer/nw;->b()V
.line 47
return-void
.end method
.method public constructor <init>(Ljava/io/File;Landroid/content/Context;Landroid/os/Handler;Ldxoptimizer/od;Ljava/lang/String;)V
.registers 7
.prologue
.line 50
const-string v0, "Directory Scanner"
invoke-direct {p0, v0}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
.line 51
iput-object p1, p0, Ldxoptimizer/nw;->c:Ljava/io/File;
.line 52
iput-object p2, p0, Ldxoptimizer/nw;->f:Landroid/content/Context;
.line 53
iput-object p3, p0, Ldxoptimizer/nw;->g:Landroid/os/Handler;
.line 54
iput-object p5, p0, Ldxoptimizer/nw;->d:Ljava/lang/String;
.line 55
iput-object p4, p0, Ldxoptimizer/nw;->e:Ldxoptimizer/od;
.line 56
return-void
.end method
.method private final a(Ljava/io/File;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
.registers 8
.prologue
const/4 v0, 0x0
.line 229
if-nez p2, :cond_4
.line 263
:cond_3
:goto_3
return-object v0
.line 233
:cond_4
iget-object v1, p0, Ldxoptimizer/nw;->f:Landroid/content/Context;
invoke-static {v1}, Ldxoptimizer/cfb;->a(Landroid/content/Context;)Landroid/content/pm/PackageManager;
move-result-object v1
.line 234
if-eqz v1, :cond_3
.line 238
iget-object v2, p0, Ldxoptimizer/nw;->f:Landroid/content/Context;
invoke-static {p1, v2}, Ldxoptimizer/ob;->a(Ljava/io/File;Landroid/content/Context;)Landroid/net/Uri;
move-result-object v2
.line 240
new-instance v3, Landroid/content/Intent;
const-string v4, "android.intent.action.VIEW"
invoke-direct {v3, v4}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 245
invoke-virtual {v3, v2, p2}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
.line 247
const/high16 v2, 0x10000
invoke-virtual {v1, v3, v2}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
move-result-object v2
.line 249
if-eqz v2, :cond_3
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v3
if-lez v3, :cond_3
.line 258
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
.line 260
invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/pm/ResolveInfo;
.line 261
invoke-virtual {v0, v1}, Landroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
move-result-object v0
goto :goto_3
.end method
.method private a()V
.registers 2
.prologue
const/4 v0, 0x0
.line 60
iput-object v0, p0, Ldxoptimizer/nw;->f:Landroid/content/Context;
.line 61
iput-object v0, p0, Ldxoptimizer/nw;->g:Landroid/os/Handler;
.line 62
return-void
.end method
.method private a(II)V
.registers 7
.prologue
.line 196
rem-int/lit8 v0, p1, 0x32
if-nez v0, :cond_11
.line 198
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
.line 200
iget-wide v2, p0, Ldxoptimizer/nw;->h:J
sub-long/2addr v0, v2
const-wide/16 v2, 0x3e8
cmp-long v0, v0, v2
if-gez v0, :cond_12
.line 210
:cond_11
:goto_11
return-void
.line 205
:cond_12
iget-object v0, p0, Ldxoptimizer/nw;->g:Landroid/os/Handler;
const/16 v1, 0x1f5
invoke-virtual {v0, v1}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
move-result-object v0
.line 206
iput p1, v0, Landroid/os/Message;->arg1:I
.line 207
iput p2, v0, Landroid/os/Message;->arg2:I
.line 208
invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
goto :goto_11
.end method
.method private static b()V
.registers 5
.prologue
.line 214
:try_start_0
const-string v0, "android.text.format.Formatter"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v1, "formatFileSize"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
sget-object v4, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Ldxoptimizer/nw;->b:Ljava/lang/reflect/Method;
:try_end_1b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1b} :catch_1c
.line 219
:goto_1b
return-void
.line 215
:catch_1c
move-exception v0
goto :goto_1b
.end method
# virtual methods
.method public run()V
.registers 24
.prologue
.line 68
move-object/from16 v0, p0
iget-object v2, v0, Ldxoptimizer/nw;->c:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v8
.line 72
move-object/from16 v0, p0
iget-boolean v2, v0, Ldxoptimizer/nw;->a:Z
if-eqz v2, :cond_12
.line 74
invoke-direct/range {p0 .. p0}, Ldxoptimizer/nw;->a()V
.line 192
:goto_11
return-void
.line 78
:cond_12
if-nez v8, :cond_5b
.line 80
const/4 v2, 0x0
move v3, v2
.line 85
:goto_16
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v4
move-object/from16 v0, p0
iput-wide v4, v0, Ldxoptimizer/nw;->h:J
.line 89
const/4 v6, 0x0
.line 92
new-instance v9, Ljava/util/ArrayList;
invoke-direct {v9, v3}, Ljava/util/ArrayList;-><init>(I)V
.line 95
new-instance v10, Ljava/util/ArrayList;
invoke-direct {v10, v3}, Ljava/util/ArrayList;-><init>(I)V
.line 98
new-instance v11, Ljava/util/ArrayList;
const/4 v2, 0x3
invoke-direct {v11, v2}, Ljava/util/ArrayList;-><init>(I)V
.line 100
new-instance v12, Ljava/util/HashMap;
invoke-direct {v12}, Ljava/util/HashMap;-><init>()V
.line 102
move-object/from16 v0, p0
iget-object v2, v0, Ldxoptimizer/nw;->f:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
const v4, 0x7f020340
invoke-virtual {v2, v4}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v4
.line 104
const/4 v5, 0x0
.line 106
if-eqz v8, :cond_146
.line 107
array-length v13, v8
const/4 v2, 0x0
move/from16 v22, v2
move v2, v6
move/from16 v6, v22
:goto_4d
if-ge v6, v13, :cond_146
aget-object v14, v8, v6
.line 108
move-object/from16 v0, p0
iget-boolean v7, v0, Ldxoptimizer/nw;->a:Z
if-eqz v7, :cond_5e
.line 111
invoke-direct/range {p0 .. p0}, Ldxoptimizer/nw;->a()V
goto :goto_11
.line 82
:cond_5b
array-length v2, v8
move v3, v2
goto :goto_16
.line 115
:cond_5e
add-int/lit8 v7, v2, 0x1
.line 116
move-object/from16 v0, p0
invoke-direct {v0, v7, v3}, Ldxoptimizer/nw;->a(II)V
.line 121
invoke-virtual {v14}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v15
.line 122
invoke-virtual {v14}, Ljava/io/File;->isDirectory()Z
move-result v2
if-eqz v2, :cond_a7
.line 123
move-object/from16 v0, p0
iget-object v2, v0, Ldxoptimizer/nw;->d:Ljava/lang/String;
invoke-virtual {v15, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_92
.line 124
new-instance v2, Ldxoptimizer/nx;
invoke-virtual {v14}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v14
const-string v16, ""
const/16 v17, 0x2
move-object/from16 v0, v16
move/from16 v1, v17
invoke-direct {v2, v14, v0, v15, v1}, Ldxoptimizer/nx;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
invoke-interface {v11, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 107
:goto_8d
add-int/lit8 v2, v6, 0x1
move v6, v2
move v2, v7
goto :goto_4d
.line 126
:cond_92
new-instance v2, Ldxoptimizer/nx;
invoke-virtual {v14}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v14
const-string v16, ""
const/16 v17, 0x1
move-object/from16 v0, v16
move/from16 v1, v17
invoke-direct {v2, v14, v0, v15, v1}, Ldxoptimizer/nx;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
invoke-interface {v9, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_8d
.line 129
:cond_a7
invoke-virtual {v14}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v16
.line 130
move-object/from16 v0, p0
iget-object v2, v0, Ldxoptimizer/nw;->e:Ldxoptimizer/od;
move-object/from16 v0, v16
invoke-virtual {v2, v0}, Ldxoptimizer/od;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v17
.line 131
if-eqz v17, :cond_cf
move-object/from16 v0, v17
invoke-virtual {v12, v0}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_cf
.line 132
move-object/from16 v0, p0
move-object/from16 v1, v17
invoke-direct {v0, v14, v1}, Ldxoptimizer/nw;->a(Ljava/io/File;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v2
.line 133
if-nez v2, :cond_ca
move-object v2, v4
.line 136
:cond_ca
move-object/from16 v0, v17
invoke-virtual {v12, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 139
:cond_cf
if-nez v5, :cond_dd
.line 140
const-string v2, ".nomedia"
move-object/from16 v0, v16
invoke-virtual {v0, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_dd
.line 142
const/4 v2, 0x1
move v5, v2
.line 146
:cond_dd
const-string v2, ""
.line 148
:try_start_df
sget-object v2, Ldxoptimizer/nw;->b:Ljava/lang/reflect/Method;
const/16 v16, 0x0
const/16 v17, 0x2
move/from16 v0, v17
new-array v0, v0, [Ljava/lang/Object;
move-object/from16 v17, v0
const/16 v18, 0x0
move-object/from16 v0, p0
iget-object v0, v0, Ldxoptimizer/nw;->f:Landroid/content/Context;
move-object/from16 v19, v0
aput-object v19, v17, v18
const/16 v18, 0x1
invoke-virtual {v14}, Ljava/io/File;->length()J
move-result-wide v20
invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v19
aput-object v19, v17, v18
move-object/from16 v0, v16
move-object/from16 v1, v17
invoke-virtual {v2, v0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
:try_end_10b
.catch Ljava/lang/Exception; {:try_start_df .. :try_end_10b} :catch_121
.line 164
:goto_10b
new-instance v16, Ldxoptimizer/nx;
invoke-virtual {v14}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v14
const/16 v17, 0x0
move-object/from16 v0, v16
move/from16 v1, v17
invoke-direct {v0, v14, v2, v15, v1}, Ldxoptimizer/nx;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
move-object/from16 v0, v16
invoke-interface {v10, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_8d
.line 149
:catch_121
move-exception v2
.line 156
invoke-virtual {v14}, Ljava/io/File;->length()J
move-result-wide v16
const-wide/16 v18, 0x400
div-long v16, v16, v18
invoke-static/range {v16 .. v17}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v2
.line 157
new-instance v16, Ljava/lang/StringBuilder;
invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
move-object/from16 v0, v16
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v16, " KB"
move-object/from16 v0, v16
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
goto :goto_10b
.line 172
:cond_146
invoke-static {v9}, Ljava/util/Collections;->sort(Ljava/util/List;)V
.line 173
invoke-static {v10}, Ljava/util/Collections;->sort(Ljava/util/List;)V
.line 175
move-object/from16 v0, p0
iget-boolean v2, v0, Ldxoptimizer/nw;->a:Z
if-nez v2, :cond_170
.line 178
new-instance v2, Ldxoptimizer/nv;
invoke-direct {v2}, Ldxoptimizer/nv;-><init>()V
.line 180
iput-object v9, v2, Ldxoptimizer/nv;->a:Ljava/util/List;
.line 181
iput-object v10, v2, Ldxoptimizer/nv;->b:Ljava/util/List;
.line 182
iput-object v11, v2, Ldxoptimizer/nv;->c:Ljava/util/List;
.line 183
iput-boolean v5, v2, Ldxoptimizer/nv;->e:Z
.line 184
iput-object v12, v2, Ldxoptimizer/nv;->d:Ljava/util/HashMap;
.line 186
move-object/from16 v0, p0
iget-object v3, v0, Ldxoptimizer/nw;->g:Landroid/os/Handler;
const/16 v4, 0x1f4
invoke-virtual {v3, v4}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
move-result-object v3
.line 187
iput-object v2, v3, Landroid/os/Message;->obj:Ljava/lang/Object;
.line 188
invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
.line 191
:cond_170
invoke-direct/range {p0 .. p0}, Ldxoptimizer/nw;->a()V
goto/16 :goto_11
.end method