From ce88de4891b87c3b7b2750575e15d6e48d518852 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 24 十月 2024 10:39:12 +0800
Subject: [PATCH] 增加云端库

---
 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java |  658 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 658 insertions(+), 0 deletions(-)

diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java
new file mode 100644
index 0000000..b5502d4
--- /dev/null
+++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/user/controller/HDLPMUserController.java
@@ -0,0 +1,658 @@
+package com.hdl.linkpm.sdk.user.controller;
+
+import com.google.gson.JsonObject;
+import com.hdl.hdlhttp.HxHttp;
+import com.hdl.linkpm.sdk.HDLLinkPMSdk;
+import com.hdl.linkpm.sdk.core.api.HDLCloudUserApi;
+import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack;
+import com.hdl.linkpm.sdk.core.callback.IDefaultStrCallBack;
+import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.core.response.HDLResponse;
+import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
+import com.hdl.linkpm.sdk.user.bean.HDLMemberInfoBean;
+import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
+import com.hdl.linkpm.sdk.user.bean.ImageSubmitInfo;
+import com.hdl.linkpm.sdk.user.bean.MqttInfo;
+import com.hdl.linkpm.sdk.user.bean.NewVersionBean;
+import com.hdl.linkpm.sdk.user.bean.UploadImageRequest;
+import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
+import com.hdl.linkpm.sdk.user.callback.IMemberInfoBack;
+import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack;
+import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils;
+import com.hdl.linkpm.sdk.utils.HDLGsonUtils;
+
+import java.io.File;
+
+import io.reactivex.rxjava3.disposables.Disposable;
+
+/**
+ * Created by jlchen on 12/3/21.
+ * B绔敤鎴风浉鍏崇殑缃戠粶璇锋眰
+ */
+public class HDLPMUserController {
+
+    /**
+     * instance
+     */
+    private volatile static HDLPMUserController instance;
+
+    /**
+     * getInstance
+     *
+     * @return HDLUserController
+     */
+    public static synchronized HDLPMUserController getInstance() {
+        if (instance == null) {
+            synchronized (HDLPMUserController.class) {
+                if (instance == null) {
+                    instance = new HDLPMUserController();
+                }
+            }
+        }
+        return instance;
+    }
+
+    /**
+     * 鑾峰彇璐﹀彿鎵�鍦ㄥ尯鍩�
+     *
+     * @param account
+     * @param callBack
+     * @return https://nearest.hdlchina.com/smart-footstone/region/regionByUserAccount
+     */
+    public Disposable regionByAccount(String account, IRegionByAccountCallBack callBack) {
+        String requestUrl = HDLLinkPMSdk.getInitUrl() + HDLCloudUserApi.POST_RegionByAccount;
+        return HxHttp.builder()
+                .url(requestUrl)
+                .params("account", account)
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<HDLUserRegionBean>() {
+                    @Override
+                    public void onResponse(HDLUserRegionBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, account, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+    /**
+     * 鐧诲綍
+     * 閫氳繃璐﹀彿鍜屽瘑鐮�
+     *
+     * @param account  鎵嬫満鎴栬�呴偖绠�
+     * @param loginPwd 瀵嗙爜
+     * @param callBack
+     * @return
+     */
+    public Disposable loginByPassword(String account, String loginPwd, ILoginCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN);
+        JsonObject json = new JsonObject();
+        json.addProperty("account", account);
+        json.addProperty("loginPwd", loginPwd);
+//        json.addProperty("platform", "APP");
+        json.addProperty("grantType", "password");
+
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<HDLLoginBean>() {
+                    @Override
+                    public void onResponse(HDLLoginBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+    /**
+     * 鑾峰彇璐﹀彿鎵�鍦ㄥ尯鍩�
+     *
+     * @param account
+     * @param callBack
+     * @return https://nearest.hdlcontrol.com/smart-footstone/region/regionByUserAccount
+     */
+    public Disposable regionByAccount(boolean isBooleanB, String account, IRegionByAccountCallBack callBack) {
+
+
+        String requestUrl = HDLLinkPMSdk.getInitUrl() + HDLCloudUserApi.POST_RegionByAccount;
+        if (!isBooleanB) {
+            requestUrl = HDLLinkPMSdk.getInitUrl() + HDLCloudUserApi.C_POST_RegionByAccount;
+        }
+        String finalRequestUrl = requestUrl;
+        return HxHttp.builder()
+                .url(requestUrl)
+                .params("account", account)
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<HDLUserRegionBean>() {
+                    @Override
+                    public void onResponse(HDLUserRegionBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(finalRequestUrl, account, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+    /**
+     * 鐧诲綍
+     * 閫氳繃璐﹀彿鍜屽瘑鐮�
+     *
+     * @param isBooleanB true=B,false=C
+     * @param account    鎵嬫満鎴栬�呴偖绠�
+     * @param loginPwd   瀵嗙爜
+     * @param callBack   鍥炶皟
+     * @return -
+     */
+    public Disposable loginByPassword(boolean isBooleanB, String account, String loginPwd, ILoginCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN);
+        if (!isBooleanB) {
+            requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.C_POST_LOGIN);
+        }
+        JsonObject json = new JsonObject();
+        json.addProperty("account", account);
+        json.addProperty("loginPwd", loginPwd);
+//        json.addProperty("platform", "APP");
+        json.addProperty("grantType", "password");
+
+        String finalRequestUrl = requestUrl;
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<HDLLoginBean>() {
+                    @Override
+                    public void onResponse(HDLLoginBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(finalRequestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+
+    /**
+     * 鐧诲綍
+     * 閫氳繃楠岃瘉鐮�
+     *
+     * @param account  鎵嬫満鎴栬�呴偖绠�
+     * @param vCode    楠岃瘉鐮�
+     * @param callBack 鍥炶皟
+     * @return
+     */
+    public Disposable loginByCode(String account, String vCode, ILoginCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_LOGIN);
+        JsonObject json = new JsonObject();
+        json.addProperty("account", account);
+        json.addProperty("verifyCode", vCode);
+//        json.addProperty("platform", "APP");
+        json.addProperty("grantType", "verify");
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<HDLLoginBean>() {
+                    @Override
+                    public void onResponse(HDLLoginBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+    /**
+     * 閫氱敤 鍙戦�侀獙璇佺爜鏂规硶
+     * LanguageTypeEnum CHINESE,ENGLISH
+     *
+     * @param verifyType    1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹� 4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁
+     * @param account       閭鎴栬�呮墜鏈哄彿
+     * @param isPhone       鏄惁鎵嬫満
+     * @param phoneZoneCode 鎵嬫満鍥藉鍖哄彿
+     * @param languageType  璇█
+     * @param callBack
+     * @return
+     */
+    public Disposable verificationCodeSend(int verifyType, String account, Boolean isPhone, String phoneZoneCode, String languageType, IDefaultCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_VERIFICATION_CODE_SEND);
+        JsonObject json = new JsonObject();
+        json.addProperty("verifyType", verifyType);
+        json.addProperty("languageType", languageType);
+        json.addProperty("expireSecond", 300);////楠岃瘉鐮佽繃鏈熸椂闂达紙绉掞級,榛樿5鍒嗛挓
+        //鏄惁鎵嬫満
+        if (isPhone) {
+            json.addProperty("phone", account);
+            json.addProperty("phonePrefix", phoneZoneCode);
+        } else {
+            json.addProperty("mail", account);
+        }
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<String>() {
+                    @Override
+                    public void onResponse(String response) {
+                        if (callBack != null) {
+                            callBack.onSuccess();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+    /**
+     * 蹇樿瀵嗙爜锛岄噸缃瘑鐮�
+     *
+     * @param account  閭鎴栬�呮墜鏈哄彿
+     * @param password 鏂板瘑鐮�
+     * @param vCode    楠岃瘉鐮�
+     * @param isPhone  鏄惁鎵嬫満
+     * @param callBack 鍥炶皟
+     */
+    public Disposable forgetPassword(String account, String password, String vCode, Boolean isPhone, IDefaultCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_FORGET_PROGRAM_PWD);
+        JsonObject json = new JsonObject();
+        json.addProperty("loginPwd", password);
+        json.addProperty("verifyCode", vCode);
+        //鏄惁鎵嬫満
+        if (isPhone) {
+            json.addProperty("userPhone", account);
+        } else {
+            json.addProperty("userEmail", account);
+        }
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<String>() {
+                    @Override
+                    public void onResponse(String response) {
+                        if (callBack != null) {
+                            callBack.onSuccess();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 鏇存敼涓汉瀵嗙爜
+     *
+     * @param userId      褰撳墠鐢ㄦ埛ID
+     * @param loginOldPwd 鑰佸瘑鐮�
+     * @param loginPwd    鏂板瘑鐮�
+     * @param callBack    鍥炶皟
+     */
+    public Disposable updateProgramPassword(String userId, String loginOldPwd, String loginPwd, IDefaultCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPDATE_PROGRAM_PASSWORD);
+        JsonObject json = new JsonObject();
+        json.addProperty("userId", userId);
+        json.addProperty("loginOldPwd", loginOldPwd);
+        json.addProperty("loginPwd", loginPwd);
+        json.addProperty("confirmLoginPwd", loginPwd);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<String>() {
+                    @Override
+                    public void onResponse(String response) {
+                        if (callBack != null) {
+                            callBack.onSuccess();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛涓汉淇℃伅
+     *
+     * @param callBack
+     */
+    public Disposable getMemberInfo(IMemberInfoBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_GET_MEMBER_INFO);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<HDLMemberInfoBean>() {
+                    @Override
+                    public void onResponse(HDLMemberInfoBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, null, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 鏇存柊涓汉淇℃伅
+     * memberHeadIcon銆乵emberName銆乵emberBirthday銆乴anguageType銆乵emberSex
+     *
+     * @param callBack
+     */
+    public Disposable updateMemberInfo(JsonObject updateInfo, IDefaultCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPDATE_MEMBER_INFO);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(updateInfo.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<String>() {
+                    @Override
+                    public void onResponse(String response) {
+                        if (callBack != null) {
+                            callBack.onSuccess();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, updateInfo, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛澶村儚璺緞
+     *
+     * @param memberHeadIconKey 鐢ㄦ埛澶村儚imageKey
+     * @param callBack
+     */
+    public Disposable getHeadImageUrl(String memberHeadIconKey, IDefaultStrCallBack callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_GET_IMAGE_URL);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .params("imageKey", memberHeadIconKey)
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<String>() {
+                    @Override
+                    public void onResponse(String response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, memberHeadIconKey, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 涓婁紶鐢ㄦ埛澶村儚
+     *
+     * @param userId     鐢ㄦ埛id
+     * @param imageBytes 澶村儚鍥剧墖
+     * @param callBack
+     * @return
+     */
+    public Disposable uploadUserHeadImage(String userId, byte[] imageBytes, IDefaultStrCallBack callBack) {
+        UploadImageRequest uploadImageRequest = new UploadImageRequest();
+        uploadImageRequest.setPrefix("Icon" + System.currentTimeMillis());
+        uploadImageRequest.setUid(userId);
+        uploadImageRequest.setFileName("HeadImage.png");
+        uploadImageRequest.setContent(imageBytes);
+
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPLOAD_IMAGE);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(HDLGsonUtils.toJson(uploadImageRequest))
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<String>() {
+                    @Override
+                    public void onResponse(String response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, uploadImageRequest, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 涓婁紶鐢ㄦ埛澶村儚(鏂�)
+     *
+     * @param file     鍥剧墖
+     * @param callBack
+     * @return
+     */
+    public Disposable uplfadUserHeadImage(File file, IResponseCallBack<ImageSubmitInfo> callBack) {
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_UPLOAD_IMAGE_NEW);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .file(file)
+                .build()
+                .upload()
+                .subscribeWith(new HDLResponse<ImageSubmitInfo>() {
+                    @Override
+                    public void onResponse(ImageSubmitInfo response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, null, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+//    /**
+//     * 鐗堟湰妫�娴嬫洿鏂�
+//     *
+//     * @param appName  app鍚嶇О
+//     * @param version  鐗堟湰鍙�
+//     * @param callBack 濡傛灉onSuccess 鍥炶皟鐨刡ean涓虹┖锛屼唬琛ㄥ綋鍓嶇増鏈凡缁忔槸鏈�鏂扮増鏈紝娌℃湁鏂扮増鏈�
+//     * @return
+//     */
+//    public Disposable checkAppVersion(String appName, String version, IResponseCallBack<NewVersionBean> callBack) {
+//        JsonObject json = new JsonObject();
+//        json.addProperty("appName", appName);
+//        json.addProperty("version", version);
+//        json.addProperty("version", version);
+//        String requestUrl = HDLLinkPMSdk.getRegionUrl() + HDLCloudUserApi.POST_APP_APPVERSION_CHECK;
+//        return HxHttp.builder()
+//                .url(requestUrl)
+//                .raw(json.toString())
+//                .build()
+//                .post()
+//                .subscribeWith(new HDLResponse<NewVersionBean>() {
+//                    @Override
+//                    public void onResponse(NewVersionBean response) {
+//                        if (callBack != null) {
+//                            callBack.onSuccess(response);
+//                        }
+//                    }
+//
+//                    @Override
+//                    public void onFailure(HDLException e) {
+//                        if (callBack != null) {
+//                            callBack.onFailure(e);
+//                        }
+//                    }
+//                });
+//    }
+
+    /**
+     * 鐗堟湰妫�娴嬫洿鏂�
+     * 鏀寔Android銆乮OS銆亀gt妫�娴�
+     *
+     * @param appCode       app缂栫爜
+     * @param version       鐗堟湰鍙�
+     * @param releaseSystem 鍙戝竷绯荤粺锛孖OS銆丄ndroid, wgt
+     * @param callBack      濡傛灉onSuccess 鍥炶皟鐨刡ean涓虹┖锛屼唬琛ㄥ綋鍓嶇増鏈凡缁忔槸鏈�鏂扮増鏈紝娌℃湁鏂扮増鏈�
+     * @return
+     */
+    public Disposable checkAppVersion(String appCode, String version, String releaseSystem, IResponseCallBack<NewVersionBean> callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("appCode", appCode);
+        json.addProperty("version", version);
+        json.addProperty("releaseSystem", releaseSystem);
+        String requestUrl = HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.POST_APP_APPVERSION_CHECK);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<NewVersionBean>() {
+                    @Override
+                    public void onResponse(NewVersionBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl, json, e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 鑾峰彇mqtt淇℃伅
+     *
+     * @return
+     */
+    public static Disposable getMqttInfo(String attachClientId, String homeType, String deviceUuid, IResponseCallBack<MqttInfo> listener) {
+        return HxHttp.builder()
+                .url(HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.MQTT_INFO_URL))
+                .params("attachClientId", attachClientId)
+                .params("homeType", homeType)
+                .params("deviceUuid", deviceUuid)
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<MqttInfo>() {
+                    @Override
+                    public void onResponse(MqttInfo response) {
+                        if (listener != null) {
+                            listener.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        JsonObject json = new JsonObject();
+                        json.addProperty("attachClientId", attachClientId);
+                        json.addProperty("homeType", homeType);
+                        json.addProperty("deviceUuid", deviceUuid);
+                        HDLExceptionSubmitUtils.submit(HDLCloudUserApi.getRequestUrl(HDLCloudUserApi.MQTT_INFO_URL), json, e);
+                        if (listener != null) {
+                            listener.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+}

--
Gitblit v1.8.0