PowerWorkerManager.smali

.class public Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;
.super Ljava/lang/Object;
.source "PowerWorkerManager.java"


# static fields
.field public static final BRAND_MI:I = 0x2

.field public static final BRAND_SEC:I = 0x1

.field public static final POWER_MODE_OFF:I = 0x2

.field public static final POWER_MODE_ON:I = 0x1

.field public static final POWER_UNKNOW:I = -0x1

.field private static manager:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;


# instance fields
.field private powerWorker:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerBase;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 25
    const/4 v0, 0x0

    sput-object v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->manager:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;

    return-void
.end method

.method private constructor <init>()V
    .registers 2

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

    .line 28
    invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->getPowerWorker()Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerBase;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->powerWorker:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerBase;

    .line 29
    return-void
.end method

.method public static declared-synchronized getInstance()Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;
    .registers 2

    .prologue
    .line 32
    const-class v1, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;

    monitor-enter v1

    :try_start_3
    sget-object v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->manager:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;

    if-nez v0, :cond_e

    .line 33
    new-instance v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;

    invoke-direct {v0}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;-><init>()V

    sput-object v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->manager:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;

    .line 35
    :cond_e
    sget-object v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->manager:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;
    :try_end_10
    .catchall {:try_start_3 .. :try_end_10} :catchall_12

    monitor-exit v1

    return-object v0

    .line 32
    :catchall_12
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method private getPowerWorker()Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerBase;
    .registers 3

    .prologue
    .line 40
    invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->getTypeByBrand()I

    move-result v1

    .line 41
    packed-switch v1, :pswitch_data_1a

    .line 49
    new-instance v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerDefault;

    invoke-direct {v0, v1}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerDefault;-><init>(I)V

    .line 52
    :goto_c
    return-object v0

    .line 43
    :pswitch_d
    new-instance v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerSec;

    invoke-direct {v0, v1}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerSec;-><init>(I)V

    goto :goto_c

    .line 46
    :pswitch_13
    new-instance v0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerMi;

    invoke-direct {v0, v1}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerMi;-><init>(I)V

    goto :goto_c

    .line 41
    nop

    :pswitch_data_1a
    .packed-switch 0x1
        :pswitch_d
        :pswitch_13
    .end packed-switch
.end method

.method private getTypeByBrand()I
    .registers 4

    .prologue
    const/4 v0, -0x1

    .line 56
    invoke-static {}, Lcom/cleanmaster/hpsharelib/report/BaseTracer;->brand()Ljava/lang/String;

    move-result-object v1

    .line 57
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-eqz v2, :cond_c

    .line 70
    :cond_b
    :goto_b
    return v0

    .line 60
    :cond_c
    const-string v2, "samsung"

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

    move-result v1

    if-eqz v1, :cond_2e

    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x13

    if-ge v1, v2, :cond_2e

    .line 61
    invoke-static {}, Lcom/cleanmaster/hpsharelib/report/BaseTracer;->model()Ljava/lang/String;

    move-result-object v1

    .line 62
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-nez v2, :cond_2c

    const-string v2, "GT-I9100"

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

    move-result v1

    if-nez v1, :cond_b

    .line 65
    :cond_2c
    const/4 v0, 0x1

    goto :goto_b

    .line 66
    :cond_2e
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/system/DeviceUtils;->isMiui()Z

    move-result v1

    if-eqz v1, :cond_b

    .line 67
    const/4 v0, 0x2

    goto :goto_b
.end method


# virtual methods
.method public getPowerSaveStatus()I
    .registers 2

    .prologue
    .line 80
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerManager;->powerWorker:Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerBase;

    invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/powersaver/PowerWorkerBase;->getPowerSaveStatus()I

    move-result v0

    return v0
.end method