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