ServiceModule.smali

.class public Lcom/jsoft/app/modules/ServiceModule;
.super Lio/dcloud/feature/uniapp/common/UniModule;
.source "ServiceModule.java"


# static fields
.field private static isStart:Z


# instance fields
.field TAG:Ljava/lang/String;


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

    return-void
.end method

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

    .line 17
    invoke-direct {p0}, Lio/dcloud/feature/uniapp/common/UniModule;-><init>()V

    const-string v0, "JServiceModule"

    .line 18
    iput-object v0, p0, Lcom/jsoft/app/modules/ServiceModule;->TAG:Ljava/lang/String;

    return-void
.end method

.method private getResultData(ZLjava/lang/String;)Lcom/alibaba/fastjson/JSONObject;
    .registers 5

    .line 71
    new-instance v0, Lcom/alibaba/fastjson/JSONObject;

    invoke-direct {v0}, Lcom/alibaba/fastjson/JSONObject;-><init>()V

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

    move-result-object p1

    const-string v1, "flag"

    invoke-virtual {v0, v1, p1}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;

    const-string p1, "msg"

    .line 73
    invoke-virtual {v0, p1, p2}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;

    return-object v0
.end method


# virtual methods
.method public startFrontService(Lcom/alibaba/fastjson/JSONObject;Lio/dcloud/feature/uniapp/bridge/UniJSCallback;)V
    .registers 10
    .annotation runtime Lio/dcloud/feature/uniapp/annotation/UniJSMethod;
        uiThread = true
    .end annotation

    .line 27
    iget-object v0, p0, Lcom/jsoft/app/modules/ServiceModule;->mUniSDKInstance:Lio/dcloud/feature/uniapp/AbsSDKInstance;

    invoke-interface {v0}, Lio/dcloud/feature/uniapp/AbsSDKInstance;->getContext()Landroid/content/Context;

    move-result-object v0

    check-cast v0, Landroid/app/Activity;

    .line 28
    new-instance v1, Landroid/content/Intent;

    invoke-virtual {v0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    const-class v3, Lcom/jsoft/app/service/DaemonService;

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

    const-string v2, "title"

    .line 31
    invoke-virtual {p1, v2}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z

    move-result v3

    const-string v4, ""

    if-eqz v3, :cond_22

    .line 32
    invoke-virtual {p1, v2}, Lcom/alibaba/fastjson/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    goto :goto_23

    :cond_22
    move-object v3, v4

    :goto_23
    const-string v5, "content"

    .line 34
    invoke-virtual {p1, v5}, Lcom/alibaba/fastjson/JSONObject;->containsKey(Ljava/lang/Object;)Z

    move-result v6

    if-eqz v6, :cond_2f

    .line 35
    invoke-virtual {p1, v5}, Lcom/alibaba/fastjson/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    .line 37
    :cond_2f
    invoke-virtual {v1, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

    .line 38
    invoke-virtual {v1, v5, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

    .line 40
    sget-boolean p1, Lcom/jsoft/app/modules/ServiceModule;->isStart:Z

    if-eqz p1, :cond_45

    const/4 p1, 0x0

    const-string/jumbo v0, "\u5df2\u5f00\u542f\uff0c\u8bf7\u52ff\u91cd\u590d\u5f00\u542f\uff01"

    .line 41
    invoke-direct {p0, p1, v0}, Lcom/jsoft/app/modules/ServiceModule;->getResultData(ZLjava/lang/String;)Lcom/alibaba/fastjson/JSONObject;

    move-result-object p1

    invoke-interface {p2, p1}, Lio/dcloud/feature/uniapp/bridge/UniJSCallback;->invoke(Ljava/lang/Object;)V

    return-void

    .line 44
    :cond_45
    sget p1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x1a

    if-lt p1, v2, :cond_53

    .line 45
    invoke-virtual {v0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;

    move-result-object p1

    invoke-virtual {p1, v1}, Landroid/app/Application;->startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;

    goto :goto_5a

    .line 47
    :cond_53
    invoke-virtual {v0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;

    move-result-object p1

    invoke-virtual {p1, v1}, Landroid/app/Application;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;

    :goto_5a
    const/4 p1, 0x1

    .line 49
    sput-boolean p1, Lcom/jsoft/app/modules/ServiceModule;->isStart:Z

    const-string v0, "start success!"

    .line 50
    invoke-direct {p0, p1, v0}, Lcom/jsoft/app/modules/ServiceModule;->getResultData(ZLjava/lang/String;)Lcom/alibaba/fastjson/JSONObject;

    move-result-object p1

    invoke-interface {p2, p1}, Lio/dcloud/feature/uniapp/bridge/UniJSCallback;->invoke(Ljava/lang/Object;)V

    return-void
.end method

.method public stopService(Lio/dcloud/feature/uniapp/bridge/UniJSCallback;)V
    .registers 7
    .annotation runtime Lio/dcloud/feature/uniapp/annotation/UniJSMethod;
        uiThread = true
    .end annotation

    .line 59
    sget-boolean v0, Lcom/jsoft/app/modules/ServiceModule;->isStart:Z

    const/4 v1, 0x0

    if-eqz v0, :cond_28

    .line 60
    iget-object v0, p0, Lcom/jsoft/app/modules/ServiceModule;->mUniSDKInstance:Lio/dcloud/feature/uniapp/AbsSDKInstance;

    invoke-interface {v0}, Lio/dcloud/feature/uniapp/AbsSDKInstance;->getContext()Landroid/content/Context;

    move-result-object v0

    check-cast v0, Landroid/app/Activity;

    .line 61
    new-instance v2, Landroid/content/Intent;

    invoke-virtual {v0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;

    move-result-object v3

    const-class v4, Lcom/jsoft/app/service/DaemonService;

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

    .line 62
    invoke-virtual {v0, v2}, Landroid/app/Activity;->stopService(Landroid/content/Intent;)Z

    .line 63
    sput-boolean v1, Lcom/jsoft/app/modules/ServiceModule;->isStart:Z

    const/4 v0, 0x1

    const-string v1, "stop success!"

    .line 64
    invoke-direct {p0, v0, v1}, Lcom/jsoft/app/modules/ServiceModule;->getResultData(ZLjava/lang/String;)Lcom/alibaba/fastjson/JSONObject;

    move-result-object v0

    invoke-interface {p1, v0}, Lio/dcloud/feature/uniapp/bridge/UniJSCallback;->invoke(Ljava/lang/Object;)V

    goto :goto_32

    :cond_28
    const-string/jumbo v0, "\u8bf7\u5148\u6253\u5f00\u670d\u52a1\uff01"

    .line 66
    invoke-direct {p0, v1, v0}, Lcom/jsoft/app/modules/ServiceModule;->getResultData(ZLjava/lang/String;)Lcom/alibaba/fastjson/JSONObject;

    move-result-object v0

    invoke-interface {p1, v0}, Lio/dcloud/feature/uniapp/bridge/UniJSCallback;->invoke(Ljava/lang/Object;)V

    :goto_32
    return-void
.end method