r.smali
.class Lcom/baidu/mobstat/r;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field static final a:Lcom/baidu/mobstat/r;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 32
new-instance v0, Lcom/baidu/mobstat/r;
invoke-direct {v0}, Lcom/baidu/mobstat/r;-><init>()V
sput-object v0, Lcom/baidu/mobstat/r;->a:Lcom/baidu/mobstat/r;
return-void
.end method
.method constructor <init>()V
.registers 1
.prologue
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private a(Ljava/lang/String;)J
.registers 6
.prologue
.line 138
const-wide/16 v0, 0x0
.line 140
if-eqz p1, :cond_15
.line 141
new-instance v2, Ljava/io/File;
invoke-direct {v2, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 142
if-eqz v2, :cond_15
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_15
.line 143
invoke-virtual {v2}, Ljava/io/File;->lastModified()J
move-result-wide v0
.line 147
:cond_15
return-wide v0
.end method
.method private a(ZLjava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageInfo;Lorg/json/JSONArray;)V
.registers 15
.prologue
const-wide/16 v2, 0x0
.line 101
if-eqz p1, :cond_f
iget-object v0, p4, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
const-string v1, "com.android."
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_f
.line 135
:goto_e
return-void
.line 108
:cond_f
:try_start_f
iget-wide v0, p4, Landroid/content/pm/PackageInfo;->firstInstallTime:J
:try_end_11
.catch Ljava/lang/Throwable; {:try_start_f .. :try_end_11} :catch_4b
.line 116
:goto_11
:try_start_11
iget-wide v2, p4, Landroid/content/pm/PackageInfo;->lastUpdateTime:J
:try_end_13
.catch Ljava/lang/Throwable; {:try_start_11 .. :try_end_13} :catch_51
.line 121
:goto_13
invoke-direct {p0, p3}, Lcom/baidu/mobstat/r;->a(Ljava/lang/String;)J
move-result-wide v4
.line 123
new-instance v6, Lorg/json/JSONObject;
invoke-direct {v6}, Lorg/json/JSONObject;-><init>()V
.line 125
:try_start_1c
const-string v7, "n"
iget-object v8, p4, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
invoke-virtual {v6, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 126
const-string v7, "a"
invoke-virtual {v6, v7, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 127
const-string v7, "v"
iget-object v8, p4, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
invoke-static {v8}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 128
const-string v7, "f"
invoke-virtual {v6, v7, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 129
const-string v0, "l"
invoke-virtual {v6, v0, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 130
const-string v0, "m"
invoke-virtual {v6, v0, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 131
invoke-virtual {p5, v6}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_45
.catch Lorg/json/JSONException; {:try_start_1c .. :try_end_45} :catch_46
goto :goto_e
.line 132
:catch_46
move-exception v0
.line 133
invoke-static {v0}, Lcom/baidu/mobstat/bd;->b(Ljava/lang/Throwable;)V
goto :goto_e
.line 109
:catch_4b
move-exception v0
.line 110
invoke-static {v0}, Lcom/baidu/mobstat/bd;->b(Ljava/lang/Throwable;)V
move-wide v0, v2
goto :goto_11
.line 117
:catch_51
move-exception v4
.line 118
invoke-static {v4}, Lcom/baidu/mobstat/bd;->b(Ljava/lang/Throwable;)V
goto :goto_13
.end method
.method private b(Landroid/content/Context;Z)V
.registers 13
.prologue
const/4 v6, 0x1
const/4 v7, 0x0
.line 44
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v8
.line 45
if-nez v8, :cond_9
.line 97
:cond_8
:goto_8
return-void
.line 49
:cond_9
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0, v6}, Ljava/util/ArrayList;-><init>(I)V
.line 52
const/4 v1, 0x0
:try_start_f
invoke-virtual {v8, v1}, Landroid/content/pm/PackageManager;->getInstalledPackages(I)Ljava/util/List;
:try_end_12
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_12} :catch_45
move-result-object v0
.line 57
:goto_13
new-instance v5, Lorg/json/JSONArray;
invoke-direct {v5}, Lorg/json/JSONArray;-><init>()V
.line 59
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v9
:cond_1c
:goto_1c
invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_4c
invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroid/content/pm/PackageInfo;
.line 60
iget-object v1, v4, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
.line 61
if-eqz v1, :cond_1c
.line 65
iget v0, v1, Landroid/content/pm/ApplicationInfo;->flags:I
and-int/lit8 v0, v0, 0x1
if-eqz v0, :cond_4a
move v0, v6
.line 66
:goto_33
invoke-virtual {v1, v8}, Landroid/content/pm/ApplicationInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object v2
invoke-interface {v2}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v2
.line 68
iget-object v3, v1, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
.line 69
if-ne p2, v0, :cond_1c
move-object v0, p0
move v1, p2
.line 70
invoke-direct/range {v0 .. v5}, Lcom/baidu/mobstat/r;->a(ZLjava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageInfo;Lorg/json/JSONArray;)V
goto :goto_1c
.line 53
:catch_45
move-exception v1
.line 54
invoke-static {v1}, Lcom/baidu/mobstat/bd;->b(Ljava/lang/Throwable;)V
goto :goto_13
:cond_4a
move v0, v7
.line 65
goto :goto_33
.line 74
:cond_4c
invoke-virtual {v5}, Lorg/json/JSONArray;->length()I
move-result v0
if-eqz v0, :cond_8
.line 78
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 79
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "|"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 80
if-eqz p2, :cond_a8
:goto_73
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 82
const-string v0, ""
.line 84
:try_start_78
new-instance v2, Lorg/json/JSONObject;
invoke-direct {v2}, Lorg/json/JSONObject;-><init>()V
.line 85
const-string v3, "app_list"
invoke-virtual {v2, v3, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 86
const-string v3, "meta-data"
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v3, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 88
invoke-virtual {v2}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-static {v1}, Lcom/baidu/mobstat/cm;->a([B)Ljava/lang/String;
:try_end_96
.catch Ljava/lang/Exception; {:try_start_78 .. :try_end_96} :catch_aa
move-result-object v0
.line 93
:goto_97
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_8
.line 94
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
.line 95
sget-object v1, Lcom/baidu/mobstat/y;->b:Lcom/baidu/mobstat/y;
invoke-virtual {v1, v2, v3, v0}, Lcom/baidu/mobstat/y;->a(JLjava/lang/String;)J
goto/16 :goto_8
:cond_a8
move v6, v7
.line 80
goto :goto_73
.line 89
:catch_aa
move-exception v1
goto :goto_97
.end method
# virtual methods
.method public declared-synchronized a(Landroid/content/Context;Z)V
.registers 4
.prologue
.line 35
monitor-enter p0
:try_start_1
invoke-direct {p0, p1, p2}, Lcom/baidu/mobstat/r;->b(Landroid/content/Context;Z)V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_6
.line 36
monitor-exit p0
return-void
.line 35
:catchall_6
move-exception v0
monitor-exit p0
throw v0
.end method