WorkerProcessUtils.smali

.class public Lcom/cleanmaster/base/util/system/WorkerProcessUtils;
.super Ljava/lang/Object;
.source "WorkerProcessUtils.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;
    }
.end annotation


# static fields
.field private static final INIT_ACTION:Ljava/lang/String; = "com.cleanmaster.screensave.newscreensaver.INIT_ACTION"

.field private static final NEED_STICKY:Ljava/lang/String; = "NEED_STICKY"


# direct methods
.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static checkForWorker(Landroid/content/Context;)V
    .registers 3

    .prologue
    .line 41
    invoke-static {p0}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->needSartService(Landroid/content/Context;)Z

    move-result v0

    if-eqz v0, :cond_11

    .line 42
    const-string v0, "Plugged_locker"

    const-string v1, "ScreenSaveUtils:checkForWorker==true"

    invoke-static {v0, v1}, Lcom/cleanmaster/hpsharelib/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 43
    invoke-static {p0}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->startDefault(Landroid/content/Context;)V

    .line 48
    :goto_10
    return-void

    .line 45
    :cond_11
    const-string v0, "Plugged_locker"

    const-string v1, "ScreenSaveUtils:checkForWorker==false"

    invoke-static {v0, v1}, Lcom/cleanmaster/hpsharelib/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 46
    invoke-static {p0}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->stopDefault(Landroid/content/Context;)V

    goto :goto_10
.end method

.method public static checkForWorkerInit(Landroid/content/Context;)V
    .registers 5

    .prologue
    const/4 v1, 0x0

    .line 83
    invoke-static {}, Lcom/cleanmaster/base/util/a;->a()Z

    move-result v0

    if-eqz v0, :cond_35

    .line 84
    invoke-static {}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstance()Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;

    move-result-object v0

    invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->isFloatWindowEnable()Z

    move-result v0

    if-nez v0, :cond_35

    const v0, 0x11a005

    .line 85
    invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v2

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

    invoke-static {v0, v2, v3}, Lcom/cm/plugincluster/spec/CommanderManager;->invokeCommand(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Boolean;

    invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v0

    if-nez v0, :cond_35

    .line 86
    invoke-static {}, Lcom/cm/plugincluster/applock/plugin/ApplockPluginDelegate;->getModule()Lcom/cm/plugincluster/applock/plugin/IApplockPluginModule;

    move-result-object v0

    invoke-interface {v0}, Lcom/cm/plugincluster/applock/plugin/IApplockPluginModule;->isAppLockEnabled()Z

    move-result v0

    if-nez v0, :cond_35

    const/4 v0, 0x1

    .line 87
    :goto_31
    invoke-static {p0, v0}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->startDefaultInit(Landroid/content/Context;Z)V

    .line 88
    return-void

    :cond_35
    move v0, v1

    .line 86
    goto :goto_31
.end method

.method private static getScreenSaverServiceClass()Ljava/lang/Class;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/lang/Class",
            "<*>;"
        }
    .end annotation

    .prologue
    .line 142
    :try_start_0
    const-string v0, "com.cm.plugin.screensaver.main.ScreenSaverService"

    const/4 v1, 0x0

    .line 143
    invoke-static {}, Lorg/acdd/framework/ACDD;->getInstance()Lorg/acdd/framework/ACDD;

    move-result-object v2

    const-string v3, "com.cm.plugin.screensaver"

    invoke-virtual {v2, v3}, Lorg/acdd/framework/ACDD;->getBundleClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;

    move-result-object v2

    .line 142
    invoke-static {v0, v1, v2}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
    :try_end_10
    .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_10} :catch_12

    move-result-object v0

    .line 145
    :goto_11
    return-object v0

    .line 144
    :catch_12
    move-exception v0

    .line 145
    const/4 v0, 0x0

    goto :goto_11
.end method

.method private static declared-synchronized needSartService(Landroid/content/Context;)Z
    .registers 7

    .prologue
    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 69
    const-class v3, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;

    monitor-enter v3

    :try_start_5
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/system/RuntimeCheck;->IsWorkerProcess()Z

    move-result v0

    if-eqz v0, :cond_2e

    .line 70
    invoke-static {}, Lcom/cleanmaster/base/util/a;->a()Z

    move-result v0

    if-eqz v0, :cond_2c

    sget-object v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->SCREEN_SAVER:Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;

    iget-boolean v0, v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->isOn:Z

    if-nez v0, :cond_2c

    sget-object v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->FLOAT_SWIPE:Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;

    iget-boolean v0, v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->isOn:Z

    if-nez v0, :cond_2c

    sget-object v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->FLOAT_WINDOW:Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;

    iget-boolean v0, v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->isOn:Z

    if-nez v0, :cond_2c

    sget-object v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->APP_LOCK:Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;

    iget-boolean v0, v0, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->isOn:Z
    :try_end_27
    .catchall {:try_start_5 .. :try_end_27} :catchall_63

    if-nez v0, :cond_2c

    move v0, v1

    .line 75
    :goto_2a
    monitor-exit v3

    return v0

    :cond_2c
    move v0, v2

    .line 70
    goto :goto_2a

    .line 75
    :cond_2e
    :try_start_2e
    invoke-static {}, Lcom/cleanmaster/base/util/a;->a()Z

    move-result v0

    if-eqz v0, :cond_61

    .line 76
    invoke-static {}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstance()Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;

    move-result-object v0

    invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->isFloatWindowEnable()Z

    move-result v0

    if-nez v0, :cond_61

    const v0, 0x11a005

    const/4 v4, 0x0

    .line 77
    invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v4

    const/4 v5, 0x0

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

    invoke-static {v0, v4, v5}, Lcom/cm/plugincluster/spec/CommanderManager;->invokeCommand(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Boolean;

    invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v0

    if-nez v0, :cond_61

    .line 78
    invoke-static {}, Lcom/cm/plugincluster/applock/plugin/ApplockPluginDelegate;->getModule()Lcom/cm/plugincluster/applock/plugin/IApplockPluginModule;

    move-result-object v0

    invoke-interface {v0}, Lcom/cm/plugincluster/applock/plugin/IApplockPluginModule;->isAppLockEnabled()Z
    :try_end_5c
    .catchall {:try_start_2e .. :try_end_5c} :catchall_63

    move-result v0

    if-nez v0, :cond_61

    :goto_5f
    move v0, v1

    .line 75
    goto :goto_2a

    :cond_61
    move v1, v2

    .line 78
    goto :goto_5f

    .line 69
    :catchall_63
    move-exception v0

    monitor-exit v3

    throw v0
.end method

.method public static setServiceAndCheckForWorker(Landroid/content/Context;Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;Z)V
    .registers 3

    .prologue
    .line 61
    if-eqz p1, :cond_4

    .line 62
    iput-boolean p2, p1, Lcom/cleanmaster/base/util/system/WorkerProcessUtils$ServiceInWorker;->isOn:Z

    .line 65
    :cond_4
    invoke-static {p0}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->checkForWorker(Landroid/content/Context;)V

    .line 66
    return-void
.end method

.method private static startDefault(Landroid/content/Context;)V
    .registers 5

    .prologue
    .line 96
    invoke-static {}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->getScreenSaverServiceClass()Ljava/lang/Class;

    move-result-object v0

    .line 97
    if-nez v0, :cond_7

    .line 101
    :goto_6
    return-void

    .line 100
    :cond_7
    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v1

    new-instance v2, Landroid/content/Intent;

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v3

    invoke-direct {v2, v3, v0}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    invoke-virtual {v1, v2}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;

    goto :goto_6
.end method

.method private static startDefaultInit(Landroid/content/Context;Z)V
    .registers 6

    .prologue
    .line 105
    invoke-static {}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->getScreenSaverServiceClass()Ljava/lang/Class;

    move-result-object v1

    .line 106
    if-nez v1, :cond_7

    .line 124
    :goto_6
    return-void

    .line 110
    :cond_7
    new-instance v0, Landroid/content/Intent;

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    .line 111
    const-string v2, "com.cleanmaster.screensave.newscreensaver.INIT_ACTION"

    invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;

    .line 112
    const-string v2, "NEED_STICKY"

    invoke-virtual {v0, v2, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;

    .line 114
    :try_start_1a
    invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;

    move-result-object v0

    .line 115
    invoke-virtual {v0}, Landroid/os/Parcel;->readException()V
    :try_end_21
    .catch Ljava/lang/Exception; {:try_start_1a .. :try_end_21} :catch_37

    .line 120
    :goto_21
    :try_start_21
    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    new-instance v2, Landroid/content/Intent;

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v3

    invoke-direct {v2, v3, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    invoke-virtual {v0, v2}, Landroid/content/Context;->stopService(Landroid/content/Intent;)Z
    :try_end_31
    .catch Ljava/lang/Throwable; {:try_start_21 .. :try_end_31} :catch_32

    goto :goto_6

    .line 121
    :catch_32
    move-exception v0

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

    goto :goto_6

    .line 116
    :catch_37
    move-exception v0

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

    goto :goto_21
.end method

.method private static stopDefault(Landroid/content/Context;)V
    .registers 5

    .prologue
    .line 128
    invoke-static {}, Lcom/cleanmaster/base/util/system/WorkerProcessUtils;->getScreenSaverServiceClass()Ljava/lang/Class;

    move-result-object v0

    .line 129
    if-nez v0, :cond_7

    .line 138
    :goto_6
    return-void

    .line 133
    :cond_7
    :try_start_7
    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v1

    new-instance v2, Landroid/content/Intent;

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v3

    invoke-direct {v2, v3, v0}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    invoke-virtual {v1, v2}, Landroid/content/Context;->stopService(Landroid/content/Intent;)Z
    :try_end_17
    .catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_17} :catch_18

    goto :goto_6

    .line 134
    :catch_18
    move-exception v0

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

    goto :goto_6
.end method