MideaApiSkill.smali

.class public Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;
.super Lcom/cmcm/xiaobao/phone/smarthome/base/BaseSmartHomeSkill;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$ResponseData;,
        Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$SkillBindState;
    }
.end annotation


# static fields
.field private static final ACTION_LOGIN:Ljava/lang/String; = "account/link/login"

.field private static final ACTION_LOGOUT:Ljava/lang/String; = "account/link/remove"

.field private static final ACTION_QUERY_INFO:Ljava/lang/String; = "account/link/info"

.field private static final BASE_AUTH_ONLINE_URL:Ljava/lang/String; = "https://passport.ainirobot.com:8888/"

.field private static final BASE_AUTH_TEST_URL:Ljava/lang/String; = "http://passporttest.ainirobot.com:8888/"

.field private static final MIDEA_SKILL_ID:Ljava/lang/String; = "orion.ovs.skill.1512012197719"

.field private static final PLATORM_ID:Ljava/lang/String; = "orion.ovs.rsplatform.0904856678"

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


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

    invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/smarthome/base/BaseSmartHomeSkill;-><init>()V

    return-void
.end method

.method static synthetic access$000(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;I)V
    .registers 2

    invoke-direct {p0, p1}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->updateSkillState(I)V

    return-void
.end method

.method static synthetic access$100(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;)Landroid/app/Activity;
    .registers 2

    invoke-virtual {p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->getActivity()Landroid/app/Activity;

    move-result-object v0

    return-object v0
.end method

.method static synthetic access$200(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;ILandroid/app/Activity;)V
    .registers 3

    invoke-virtual {p0, p1, p2}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->updateSkillState(ILandroid/app/Activity;)V

    return-void
.end method

.method static synthetic access$300(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;)V
    .registers 1

    invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->unbindMideaApi()V

    return-void
.end method

.method private getBaseAuthUrl()Ljava/lang/String;
    .registers 2

    sget-boolean v0, Lcom/cmcm/xiaobao/phone/smarthome/sdk/SmartHomeSDK;->DEBUG:Z

    if-eqz v0, :cond_8

    const-string/jumbo v0, "http://passporttest.ainirobot.com:8888/"

    :goto_7
    return-object v0

    :cond_8
    const-string/jumbo v0, "https://passport.ainirobot.com:8888/"

    goto :goto_7
.end method

.method private getRequstUrl(Ljava/lang/String;)Ljava/lang/String;
    .registers 8

    new-instance v0, Ljava/util/TreeMap;

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

    const-string/jumbo v1, "skill_id"

    const-string/jumbo v2, "orion.ovs.skill.1512012197719"

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

    const-string/jumbo v1, "platform_id"

    const-string/jumbo v2, "orion.ovs.rsplatform.0904856678"

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

    const-string/jumbo v1, "timestamp"

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

    move-result-wide v2

    const-wide/16 v4, 0x3e8

    div-long/2addr v2, v4

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

    move-result-object v2

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

    const-string/jumbo v1, "access_token"

    invoke-static {}, Lcom/sdk/orion/utils/Constant;->getAccessToken()Ljava/lang/String;

    move-result-object v2

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

    const-string/jumbo v1, "device_id"

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/utils/DeviceUtils;->getDeviceId()Ljava/lang/String;

    move-result-object v2

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

    const-string/jumbo v1, "client_id"

    const-string/jumbo v2, "orion.ucenter.c6cbbd9daaa6425a"

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

    invoke-direct {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->map2Str(Ljava/util/Map;)Ljava/lang/String;

    move-result-object v2

    new-instance v0, Ljava/lang/StringBuilder;

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

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

    move-result-object v0

    const-string/jumbo v1, "&client_secret=a7ed11a4f93e4fa3963b4215fc0ed91f"

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

    const/4 v0, 0x0

    :try_start_5e
    const-string/jumbo v3, "utf-8"

    invoke-virtual {v1, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
    :try_end_64
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_5e .. :try_end_64} :catch_9a

    move-result-object v0

    :goto_65
    const/4 v1, 0x2

    invoke-static {v0, v1}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/sdk/orion/utils/MD5Utils;->md5Str32(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

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

    invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->getBaseAuthUrl()Ljava/lang/String;

    move-result-object v3

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

    move-result-object v1

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

    move-result-object v1

    const-string/jumbo v3, "?"

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

    move-result-object v1

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

    move-result-object v1

    const-string/jumbo v2, "&sign="

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

    move-result-object v1

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

    return-object v0

    :catch_9a
    move-exception v1

    invoke-virtual {v1}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V

    goto :goto_65
.end method

.method private map2Str(Ljava/util/Map;)Ljava/lang/String;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;)",
            "Ljava/lang/String;"
        }
    .end annotation

    new-instance v2, Ljava/lang/StringBuffer;

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

    invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v0

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

    move-result-object v3

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

    move-result v0

    if-eqz v0, :cond_3b

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

    move-result-object v0

    check-cast v0, Ljava/util/Map$Entry;

    invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

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

    move-result-object v1

    const-string/jumbo v4, "="

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

    move-result-object v1

    invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

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

    move-result-object v0

    const-string/jumbo v1, "&"

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

    goto :goto_d

    :cond_3b
    const/4 v0, 0x0

    invoke-virtual {v2}, Ljava/lang/StringBuffer;->length()I

    move-result v1

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

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

    move-result-object v0

    return-object v0
.end method

.method private queryLoginState()V
    .registers 4

    const-string/jumbo v0, "account/link/info"

    invoke-direct {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->getRequstUrl(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-static {}, Lcom/cmcm/xiaobao/phone/smarthome/http2/OkHttpClientMgr;->getIns()Lcom/cmcm/xiaobao/phone/smarthome/http2/OkHttpClientMgr;

    move-result-object v1

    const/4 v2, 0x1

    invoke-virtual {v1, v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/OkHttpClientMgr;->getClient(I)Lokhttp3/OkHttpClient;

    move-result-object v1

    new-instance v2, Lokhttp3/Request$Builder;

    invoke-direct {v2}, Lokhttp3/Request$Builder;-><init>()V

    invoke-virtual {v2, v0}, Lokhttp3/Request$Builder;->url(Ljava/lang/String;)Lokhttp3/Request$Builder;

    move-result-object v0

    invoke-virtual {v0}, Lokhttp3/Request$Builder;->build()Lokhttp3/Request;

    move-result-object v0

    invoke-virtual {v1, v0}, Lokhttp3/OkHttpClient;->newCall(Lokhttp3/Request;)Lokhttp3/Call;

    move-result-object v0

    new-instance v1, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$1;

    invoke-direct {v1, p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$1;-><init>(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;)V

    invoke-interface {v0, v1}, Lokhttp3/Call;->enqueue(Lokhttp3/Callback;)V

    return-void
.end method

.method private unbindMideaApi()V
    .registers 5

    invoke-static {}, Lcom/sdk/orion/orion/OrionClient;->getInstance()Lcom/sdk/orion/orion/OrionClient;

    move-result-object v0

    const-string/jumbo v1, "/SmartHome/removeMideaAccount"

    const/4 v2, 0x0

    new-instance v3, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$4;

    invoke-direct {v3, p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$4;-><init>(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;)V

    invoke-virtual {v0, v1, v2, v3}, Lcom/sdk/orion/orion/OrionClient;->getSmartHomeSdk(Ljava/lang/String;Ljava/lang/Object;Lcom/sdk/orion/callback/ContentCallBack;)V

    return-void
.end method

.method private updateSkillState(I)V
    .registers 4

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/utils/Executors;->getUiHandler()Landroid/os/Handler;

    move-result-object v0

    new-instance v1, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$2;

    invoke-direct {v1, p0, p1}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$2;-><init>(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;I)V

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    return-void
.end method


# virtual methods
.method protected getLogoutAction()Ljava/lang/String;
    .registers 2

    const/4 v0, 0x0

    return-object v0
.end method

.method protected getPlatFormId()Ljava/lang/String;
    .registers 2

    iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->mSkill:Lcom/sdk/orion/bean/SkillListBean$DataBean;

    invoke-virtual {v0}, Lcom/sdk/orion/bean/SkillListBean$DataBean;->getOvs_platform_id()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method protected getSupportDevicesText()I
    .registers 2

    sget v0, Lcom/cmcm/xiaobao/phone/smarthome/R$string;->midea_support:I

    return v0
.end method

.method protected goLogin(Landroid/app/Activity;)V
    .registers 4

    sget v0, Lcom/cmcm/xiaobao/phone/smarthome/R$string;->orion_sdk_smarthome_login_meizhi:I

    invoke-virtual {p1, v0}, Landroid/app/Activity;->getString(I)Ljava/lang/String;

    move-result-object v0

    const-string/jumbo v1, "account/link/login"

    invoke-direct {p0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->getRequstUrl(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {p1, v0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/widget/web/WebViewFragment;->startWebViewActivity(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method public initView(Landroid/app/Activity;)V
    .registers 6

    const/16 v1, 0x8

    invoke-super {p0, p1}, Lcom/cmcm/xiaobao/phone/smarthome/base/BaseSmartHomeSkill;->initView(Landroid/app/Activity;)V

    sget v0, Lcom/cmcm/xiaobao/phone/smarthome/R$id;->rl_command_intro:I

    invoke-virtual {p1, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    sget v0, Lcom/cmcm/xiaobao/phone/smarthome/R$id;->tv_intro:I

    invoke-virtual {p1, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    sget v0, Lcom/cmcm/xiaobao/phone/smarthome/R$id;->vs_scene:I

    invoke-virtual {p1, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Landroid/view/ViewStub;

    invoke-virtual {v0}, Landroid/view/ViewStub;->inflate()Landroid/view/View;

    move-result-object v0

    sget v1, Lcom/cmcm/xiaobao/phone/smarthome/R$id;->lv_scene:I

    invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;

    const/4 v1, 0x4

    new-array v1, v1, [Ljava/lang/String;

    const/4 v2, 0x0

    sget v3, Lcom/cmcm/xiaobao/phone/smarthome/R$string;->orion_sdk_smarthome_go_home:I

    invoke-virtual {p1, v3}, Landroid/app/Activity;->getString(I)Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v2

    const/4 v2, 0x1

    sget v3, Lcom/cmcm/xiaobao/phone/smarthome/R$string;->orion_sdk_smarthome_out_of_home:I

    invoke-virtual {p1, v3}, Landroid/app/Activity;->getString(I)Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v2

    const/4 v2, 0x2

    sget v3, Lcom/cmcm/xiaobao/phone/smarthome/R$string;->orion_sdk_smarthome_get_up:I

    invoke-virtual {p1, v3}, Landroid/app/Activity;->getString(I)Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v2

    const/4 v2, 0x3

    sget v3, Lcom/cmcm/xiaobao/phone/smarthome/R$string;->orion_sdk_smarthome_go_to_sleep:I

    invoke-virtual {p1, v3}, Landroid/app/Activity;->getString(I)Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v2

    invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->setLabelText(Ljava/util/List;)V

    return-void
.end method

.method protected logout(Landroid/app/Activity;)V
    .registers 5

    const-string/jumbo v0, "account/link/remove"

    invoke-direct {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->getRequstUrl(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-static {}, Lcom/cmcm/xiaobao/phone/smarthome/http2/OkHttpClientMgr;->getIns()Lcom/cmcm/xiaobao/phone/smarthome/http2/OkHttpClientMgr;

    move-result-object v1

    const/4 v2, 0x1

    invoke-virtual {v1, v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/OkHttpClientMgr;->getClient(I)Lokhttp3/OkHttpClient;

    move-result-object v1

    new-instance v2, Lokhttp3/Request$Builder;

    invoke-direct {v2}, Lokhttp3/Request$Builder;-><init>()V

    invoke-virtual {v2, v0}, Lokhttp3/Request$Builder;->url(Ljava/lang/String;)Lokhttp3/Request$Builder;

    move-result-object v0

    invoke-virtual {v0}, Lokhttp3/Request$Builder;->build()Lokhttp3/Request;

    move-result-object v0

    invoke-virtual {v1, v0}, Lokhttp3/OkHttpClient;->newCall(Lokhttp3/Request;)Lokhttp3/Call;

    move-result-object v0

    new-instance v1, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$3;

    invoke-direct {v1, p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill$3;-><init>(Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;)V

    invoke-interface {v0, v1}, Lokhttp3/Call;->enqueue(Lokhttp3/Callback;)V

    return-void
.end method

.method public onLoadData(Landroid/app/Activity;)V
    .registers 2

    invoke-super {p0, p1}, Lcom/cmcm/xiaobao/phone/smarthome/base/BaseSmartHomeSkill;->onLoadData(Landroid/app/Activity;)V

    invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->queryLoginState()V

    return-void
.end method

.method public onResume(Landroid/app/Activity;)V
    .registers 4

    invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/SimpleSharedPref;->getService()Lcom/cmcm/xiaobao/phone/commons/sharedpref/ISharedPref;

    move-result-object v0

    invoke-interface {v0}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/ISharedPref;->smartHomeAccountState()Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;

    move-result-object v0

    const-string/jumbo v1, "orion.ovs.rsplatform.0904856678"

    invoke-interface {v0, v1}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;->setKey(Ljava/lang/String;)Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;

    move-result-object v0

    invoke-interface {v0}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Integer;

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    invoke-direct {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/skill/MideaApiSkill;->updateSkillState(I)V

    return-void
.end method