Daemon.smali

.class public Lcom/cleanmaster/feedback/daemon/Daemon;
.super Ljava/lang/Object;
.source "Daemon.java"


# instance fields
.field private a:Ljava/lang/String;

.field private b:Ljava/lang/String;

.field private c:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field private d:Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;

.field private e:Landroid/os/FileObserver;

.field private f:Ljava/lang/String;


# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;)V"
        }
    .end annotation

    .prologue
    .line 138
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 38
    const-string v0, "/data/data/"

    iput-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->f:Ljava/lang/String;

    .line 139
    iput-object p1, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->a:Ljava/lang/String;

    .line 140
    iput-object p2, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->b:Ljava/lang/String;

    .line 141
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v1, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->f:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p2}, 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

    iput-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->f:Ljava/lang/String;

    .line 142
    if-nez p4, :cond_27

    .line 143
    new-instance p4, Ljava/util/HashMap;

    invoke-direct {p4}, Ljava/util/HashMap;-><init>()V

    .line 145
    :cond_27
    iput-object p4, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->c:Ljava/util/Map;

    .line 146
    return-void
.end method

.method static synthetic a(Lcom/cleanmaster/feedback/daemon/Daemon;)Ljava/lang/String;
    .registers 2

    .prologue
    .line 17
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->f:Ljava/lang/String;

    return-object v0
.end method

.method static synthetic a(Lcom/cleanmaster/feedback/daemon/Daemon;Ljava/lang/String;)Ljava/lang/String;
    .registers 2

    .prologue
    .line 17
    iput-object p1, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->a:Ljava/lang/String;

    return-object p1
.end method

.method private static a(Ljava/lang/String;)V
    .registers 1

    .prologue
    .line 89
    invoke-static {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->b(Ljava/lang/String;)V

    .line 90
    invoke-static {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->c(Ljava/lang/String;)V

    .line 91
    return-void
.end method

.method private b()V
    .registers 2

    .prologue
    .line 160
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->d:Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;

    if-eqz v0, :cond_c

    .line 161
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->d:Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;

    invoke-virtual {v0}, Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;->interrupt()V

    .line 162
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->d:Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;

    .line 164
    :cond_c
    return-void
.end method

.method static synthetic b(Lcom/cleanmaster/feedback/daemon/Daemon;)V
    .registers 1

    .prologue
    .line 17
    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->d()V

    return-void
.end method

.method static synthetic b(Lcom/cleanmaster/feedback/daemon/Daemon;Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 17
    invoke-direct {p0, p1}, Lcom/cleanmaster/feedback/daemon/Daemon;->d(Ljava/lang/String;)V

    return-void
.end method

.method private static b(Ljava/lang/String;)V
    .registers 6

    .prologue
    .line 100
    :try_start_0
    const-class v0, Landroid/os/Process;

    const-string v1, "setArgV0"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    const-class v4, Ljava/lang/String;

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    .line 102
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V

    .line 103
    const/4 v1, 0x0

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p0, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1e
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1e} :catch_1f

    .line 106
    :goto_1e
    return-void

    .line 104
    :catch_1f
    move-exception v0

    goto :goto_1e
.end method

.method static synthetic c(Lcom/cleanmaster/feedback/daemon/Daemon;)V
    .registers 1

    .prologue
    .line 17
    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->e()V

    return-void
.end method

.method private static c(Ljava/lang/String;)V
    .registers 7

    .prologue
    .line 114
    invoke-static {}, Ljava/lang/ClassLoader;->getSystemClassLoader()Ljava/lang/ClassLoader;

    move-result-object v0

    .line 117
    :try_start_4
    const-string v1, "android.ddm.DdmHandleAppName"

    invoke-virtual {v0, v1}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
    :try_end_9
    .catch Ljava/lang/ClassNotFoundException; {:try_start_4 .. :try_end_9} :catch_25

    move-result-object v0

    move-object v1, v0

    .line 121
    :goto_b
    if-eqz v1, :cond_24

    .line 123
    :try_start_d
    const-string v0, "setAppName"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    const-class v4, Ljava/lang/String;

    aput-object v4, v2, v3

    invoke-virtual {v1, v0, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    .line 124
    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p0, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_24
    .catch Ljava/lang/NoSuchMethodException; {:try_start_d .. :try_end_24} :catch_29
    .catch Ljava/lang/Exception; {:try_start_d .. :try_end_24} :catch_58

    .line 136
    :cond_24
    :goto_24
    return-void

    .line 118
    :catch_25
    move-exception v0

    .line 119
    const/4 v0, 0x0

    move-object v1, v0

    goto :goto_b

    .line 125
    :catch_29
    move-exception v0

    .line 127
    :try_start_2a
    const-string v2, "setAppName"

    const/4 v3, 0x2

    new-array v3, v3, [Ljava/lang/Class;

    const/4 v4, 0x0

    const-class v5, Ljava/lang/String;

    aput-object v5, v3, v4

    const/4 v4, 0x1

    sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v5, v3, v4

    invoke-virtual {v1, v2, v3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v2

    .line 128
    const/4 v3, 0x2

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    aput-object p0, v3, v4

    const/4 v4, 0x1

    const/4 v5, 0x0

    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    aput-object v5, v3, v4

    invoke-virtual {v2, v1, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_4e
    .catch Ljava/lang/Exception; {:try_start_2a .. :try_end_4e} :catch_4f

    goto :goto_24

    .line 129
    :catch_4f
    move-exception v1

    .line 130
    const-string v1, "daemon.DaemonUtil"

    const-string v2, "setProcessName failed"

    invoke-static {v1, v2, v0}, Lcom/cleanmaster/feedback/daemon/h;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    goto :goto_24

    .line 132
    :catch_58
    move-exception v0

    .line 133
    const-string v1, "daemon.DaemonUtil"

    const-string v2, "setProcessName failed"

    invoke-static {v1, v2, v0}, Lcom/cleanmaster/feedback/daemon/h;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    goto :goto_24
.end method

.method private c()Z
    .registers 6

    .prologue
    const/4 v1, 0x0

    const/4 v3, 0x0

    .line 167
    const/4 v2, 0x1

    .line 170
    :try_start_3
    new-instance v0, Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;

    new-instance v4, Lcom/cleanmaster/feedback/daemon/a;

    invoke-direct {v4, p0}, Lcom/cleanmaster/feedback/daemon/a;-><init>(Lcom/cleanmaster/feedback/daemon/Daemon;)V

    invoke-direct {v0, v4}, Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;-><init>(Lcom/cleanmaster/feedback/daemon/DaemonSocket$CmdHandler;)V
    :try_end_d
    .catch Ljava/io/IOException; {:try_start_3 .. :try_end_d} :catch_16
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_d} :catch_23
    .catch Ljava/lang/Error; {:try_start_3 .. :try_end_d} :catch_30

    move v1, v2

    .line 208
    :goto_e
    if-eqz v1, :cond_15

    .line 209
    invoke-virtual {v0}, Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;->start()V

    .line 210
    iput-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->d:Lcom/cleanmaster/feedback/daemon/DaemonSocket$b;

    .line 213
    :cond_15
    return v1

    .line 194
    :catch_16
    move-exception v0

    .line 195
    const-string v2, "daemon.DaemonUtil"

    invoke-virtual {v0}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lcom/cleanmaster/feedback/daemon/h;->c(Ljava/lang/String;Ljava/lang/String;)V

    move-object v0, v1

    move v1, v3

    .line 206
    goto :goto_e

    .line 198
    :catch_23
    move-exception v0

    .line 199
    const-string v2, "daemon.DaemonUtil"

    invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lcom/cleanmaster/feedback/daemon/h;->c(Ljava/lang/String;Ljava/lang/String;)V

    move-object v0, v1

    move v1, v3

    .line 206
    goto :goto_e

    .line 202
    :catch_30
    move-exception v0

    .line 203
    const-string v2, "daemon.DaemonUtil"

    invoke-virtual {v0}, Ljava/lang/Error;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lcom/cleanmaster/feedback/daemon/h;->c(Ljava/lang/String;Ljava/lang/String;)V

    move-object v0, v1

    move v1, v3

    .line 205
    goto :goto_e
.end method

.method private d()V
    .registers 2

    .prologue
    .line 264
    :try_start_0
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->e:Landroid/os/FileObserver;

    if-eqz v0, :cond_9

    .line 265
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->e:Landroid/os/FileObserver;

    invoke-virtual {v0}, Landroid/os/FileObserver;->stopWatching()V
    :try_end_9
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_9} :catch_d

    .line 269
    :cond_9
    :goto_9
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->e:Landroid/os/FileObserver;

    .line 270
    return-void

    .line 267
    :catch_d
    move-exception v0

    goto :goto_9
.end method

.method private d(Ljava/lang/String;)V
    .registers 4

    .prologue
    .line 221
    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->d()V

    .line 223
    :try_start_3
    new-instance v0, Lcom/cleanmaster/feedback/daemon/c;

    const/16 v1, 0x200

    invoke-direct {v0, p0, p1, v1}, Lcom/cleanmaster/feedback/daemon/c;-><init>(Lcom/cleanmaster/feedback/daemon/Daemon;Ljava/lang/String;I)V

    iput-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->e:Landroid/os/FileObserver;

    .line 254
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->e:Landroid/os/FileObserver;

    invoke-virtual {v0}, Landroid/os/FileObserver;->startWatching()V
    :try_end_11
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_11} :catch_12

    .line 257
    :goto_11
    return-void

    .line 255
    :catch_12
    move-exception v0

    goto :goto_11
.end method

.method private e()V
    .registers 4

    .prologue
    .line 277
    :try_start_0
    invoke-static {}, Lcom/cleanmaster/feedback/daemon/i;->a()Ljava/lang/Process;

    move-result-object v1

    .line 278
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    .line 280
    const/16 v2, 0x11

    if-lt v0, v2, :cond_4f

    .line 281
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "exec /system/bin/am start --user 0 -a android.intent.action.VIEW -d \""

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->f()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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

    .line 285
    :goto_27
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, "\n"

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 286
    invoke-virtual {v1}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v2

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/io/OutputStream;->write([B)V

    .line 287
    invoke-virtual {v1}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V

    .line 288
    invoke-virtual {v1}, Ljava/lang/Process;->waitFor()I

    .line 289
    invoke-virtual {v1}, Ljava/lang/Process;->destroy()V

    .line 299
    :goto_4e
    return-void

    .line 283
    :cond_4f
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "exec /system/bin/am start -a android.intent.action.VIEW -d \""

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->f()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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;
    :try_end_6b
    .catch Ljava/lang/UnsupportedOperationException; {:try_start_0 .. :try_end_6b} :catch_6d
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_6b} :catch_72
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6b} :catch_77

    move-result-object v0

    goto :goto_27

    .line 291
    :catch_6d
    move-exception v0

    .line 293
    invoke-virtual {v0}, Ljava/lang/UnsupportedOperationException;->printStackTrace()V

    goto :goto_4e

    .line 294
    :catch_72
    move-exception v0

    .line 295
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_4e

    .line 296
    :catch_77
    move-exception v0

    .line 297
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_4e
.end method

.method private f()Ljava/lang/String;
    .registers 9

    .prologue
    .line 306
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "http://cn2.cmcm.com/cm/android/feedback/uninstall/index.html"

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v1, 0x3f

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v1

    .line 307
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->c:Ljava/util/Map;

    const-string v2, "first_install_time"

    invoke-interface {v0, v2}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_42

    .line 308
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->c:Ljava/util/Map;

    const-string v2, "first_install_time"

    invoke-interface {v0, v2}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J

    move-result-wide v2

    const-wide/16 v4, 0x3c

    div-long/2addr v2, v4

    .line 309
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    const-wide/32 v6, 0xea60

    div-long/2addr v4, v6

    .line 310
    sub-long v2, v4, v2

    long-to-int v0, v2

    .line 311
    const-string v2, "surv="

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "&"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 313
    :cond_42
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->c:Ljava/util/Map;

    invoke-interface {v0}, Ljava/util/Map;->keySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :goto_4c
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_74

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 314
    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const/16 v4, 0x3d

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->c:Ljava/util/Map;

    invoke-interface {v4, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const/16 v3, 0x26

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    goto :goto_4c

    .line 316
    :cond_74
    const/4 v0, 0x0

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->length()I

    move-result v2

    add-int/lit8 v2, v2, -0x1

    invoke-virtual {v1, v0, v2}, Ljava/lang/StringBuilder;->substring(II)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static main([Ljava/lang/String;)V
    .registers 11

    .prologue
    const/4 v2, 0x3

    const/4 v9, 0x2

    const/4 v8, 0x1

    const/4 v1, 0x0

    .line 52
    const-string v0, "daemon.DaemonUtil"

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "arguments: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    array-length v4, p0

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v0, v3}, Lcom/cleanmaster/feedback/daemon/h;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 53
    sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "arguments: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    array-length v4, p0

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v0, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    move v0, v1

    .line 54
    :goto_37
    array-length v3, p0

    if-ge v0, v3, :cond_54

    .line 55
    const-string v3, "daemon.DaemonUtil"

    const-string v4, "\targuments %d: %s"

    new-array v5, v9, [Ljava/lang/Object;

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v1

    aget-object v6, p0, v0

    aput-object v6, v5, v8

    invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-static {v3, v4}, Lcom/cleanmaster/feedback/daemon/h;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 54
    add-int/lit8 v0, v0, 0x1

    goto :goto_37

    .line 60
    :cond_54
    array-length v0, p0

    if-ge v0, v2, :cond_62

    .line 61
    const-string v0, "daemon.DaemonUtil"

    const-string v2, "arguments error"

    invoke-static {v0, v2}, Lcom/cleanmaster/feedback/daemon/h;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 62
    invoke-static {v1}, Ljava/lang/System;->exit(I)V

    .line 86
    :goto_61
    return-void

    .line 66
    :cond_62
    const-string v0, "/daemon/user/36960"

    invoke-static {v0}, Lcom/cleanmaster/feedback/daemon/Daemon;->a(Ljava/lang/String;)V

    .line 68
    aget-object v4, p0, v1

    .line 69
    aget-object v5, p0, v8

    .line 70
    aget-object v6, p0, v9

    .line 72
    const/4 v0, 0x0

    .line 73
    array-length v3, p0

    const/4 v7, 0x4

    if-lt v3, v7, :cond_98

    .line 74
    new-instance v3, Ljava/util/HashMap;

    invoke-direct {v3}, Ljava/util/HashMap;-><init>()V

    move v0, v2

    .line 75
    :goto_78
    array-length v2, p0

    const/16 v7, 0xa

    invoke-static {v2, v7}, Ljava/lang/Math;->min(II)I

    move-result v2

    if-ge v0, v2, :cond_97

    .line 76
    aget-object v2, p0, v0

    const-string v7, "="

    invoke-virtual {v2, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v2

    .line 77
    array-length v7, v2

    if-eq v7, v9, :cond_8f

    .line 75
    :goto_8c
    add-int/lit8 v0, v0, 0x1

    goto :goto_78

    .line 81
    :cond_8f
    aget-object v7, v2, v1

    aget-object v2, v2, v8

    invoke-interface {v3, v7, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_8c

    :cond_97
    move-object v0, v3

    .line 84
    :cond_98
    new-instance v1, Lcom/cleanmaster/feedback/daemon/Daemon;

    invoke-direct {v1, v4, v5, v6, v0}, Lcom/cleanmaster/feedback/daemon/Daemon;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V

    .line 85
    invoke-virtual {v1}, Lcom/cleanmaster/feedback/daemon/Daemon;->a()V

    goto :goto_61
.end method


# virtual methods
.method public a()V
    .registers 2

    .prologue
    .line 155
    iget-object v0, p0, Lcom/cleanmaster/feedback/daemon/Daemon;->f:Ljava/lang/String;

    invoke-direct {p0, v0}, Lcom/cleanmaster/feedback/daemon/Daemon;->d(Ljava/lang/String;)V

    .line 156
    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->c()Z

    .line 157
    return-void
.end method

.method protected finalize()V
    .registers 1
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Throwable;
        }
    .end annotation

    .prologue
    .line 150
    invoke-direct {p0}, Lcom/cleanmaster/feedback/daemon/Daemon;->b()V

    .line 151
    invoke-super {p0}, Ljava/lang/Object;->finalize()V

    .line 152
    return-void
.end method