GrayService.smali

.class public Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;
.super Landroid/app/Service;
.source "GrayService.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService$GrayInnerService;
    }
.end annotation


# static fields
.field private static final GRAY_SERVICE_ID:I = -0x3e9


# instance fields
.field protected mGrayServiceId:I

.field protected mIsResident:Z

.field protected mNonResidentId:I


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

    .prologue
    .line 16
    invoke-direct {p0}, Landroid/app/Service;-><init>()V

    .line 19
    const/4 v0, -0x1

    iput v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mNonResidentId:I

    .line 20
    const/16 v0, -0x3e9

    iput v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mGrayServiceId:I

    .line 21
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mIsResident:Z

    return-void
.end method

.method private getInnerServiceIntent(Ljava/lang/Class;)Landroid/content/Intent;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class",
            "<*>;)",
            "Landroid/content/Intent;"
        }
    .end annotation

    .prologue
    const/4 v0, 0x0

    .line 56
    iget v1, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mNonResidentId:I

    const/4 v2, -0x1

    if-ne v1, v2, :cond_e

    .line 57
    new-instance v0, Landroid/content/Intent;

    const-class v1, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService$GrayInnerService;

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

    .line 71
    :cond_d
    :goto_d
    return-object v0

    .line 59
    :cond_e
    new-instance v1, Ljava/lang/StringBuilder;

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

    invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v1

    const-string v2, "$GrayInnerService"

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

    move-result-object v1

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

    move-result-object v1

    .line 62
    :try_start_25
    new-instance v2, Ljava/lang/StringBuilder;

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

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

    move-result-object v1

    iget v2, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mNonResidentId:I

    invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v2

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
    :try_end_3f
    .catch Ljava/lang/Exception; {:try_start_25 .. :try_end_3f} :catch_4f

    move-result-object v1

    .line 65
    :goto_40
    if-eqz v1, :cond_d

    .line 68
    new-instance v0, Landroid/content/Intent;

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

    .line 69
    const-string v1, "nonResidentId"

    iget v2, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mNonResidentId:I

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

    goto :goto_d

    .line 63
    :catch_4f
    move-exception v1

    move-object v1, v0

    goto :goto_40
.end method


# virtual methods
.method public onBind(Landroid/content/Intent;)Landroid/os/IBinder;
    .registers 4

    .prologue
    .line 76
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "Not yet implemented"

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

    throw v0
.end method

.method public onCreate()V
    .registers 1

    .prologue
    .line 25
    invoke-super {p0}, Landroid/app/Service;->onCreate()V

    .line 26
    return-void
.end method

.method public onDestroy()V
    .registers 1

    .prologue
    .line 81
    invoke-super {p0}, Landroid/app/Service;->onDestroy()V

    .line 82
    return-void
.end method

.method public onStartCommand(Landroid/content/Intent;II)I
    .registers 7

    .prologue
    const/4 v2, 0x1

    .line 33
    if-nez p1, :cond_4

    .line 51
    :cond_3
    :goto_3
    return v2

    .line 36
    :cond_4
    const-string v0, "isResident"

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

    move-result v0

    iput-boolean v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mIsResident:Z

    .line 37
    const-string v0, "nonResidentId"

    const/4 v1, -0x1

    invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v0

    iput v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mNonResidentId:I

    .line 38
    iget v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mNonResidentId:I

    rsub-int v0, v0, -0x3e9

    iput v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mGrayServiceId:I

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

    const/16 v1, 0x12

    if-ge v0, v1, :cond_2c

    .line 41
    iget v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mGrayServiceId:I

    new-instance v1, Landroid/app/Notification;

    invoke-direct {v1}, Landroid/app/Notification;-><init>()V

    invoke-virtual {p0, v0, v1}, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->startForeground(ILandroid/app/Notification;)V

    goto :goto_3

    .line 43
    :cond_2c
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    invoke-direct {p0, v0}, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->getInnerServiceIntent(Ljava/lang/Class;)Landroid/content/Intent;

    move-result-object v0

    .line 44
    if-eqz v0, :cond_3

    .line 47
    invoke-virtual {p0, v0}, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;

    .line 48
    iget v0, p0, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->mGrayServiceId:I

    new-instance v1, Landroid/app/Notification;

    invoke-direct {v1}, Landroid/app/Notification;-><init>()V

    invoke-virtual {p0, v0, v1}, Lcom/cleanmaster/daemon/foreServiceforlive/service/GrayService;->startForeground(ILandroid/app/Notification;)V

    goto :goto_3
.end method