From b558b32b50e20f86ef786662d69eaa7280c397a6 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 16 五月 2025 18:07:47 +0800 Subject: [PATCH] 2025年05月16日18:07:44 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 64 ++++++++++++++++++++++++------- 1 files changed, 49 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index c1009cd..f66db1a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -9,6 +9,7 @@ import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationManager; +import android.net.wifi.ScanResult; import android.os.IBinder; import android.os.SystemClock; import android.provider.Settings; @@ -67,6 +68,7 @@ import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.NetworkUtils; +import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.utils.WifiUtils; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; @@ -148,7 +150,7 @@ String type = getKeyValue("type", data);//灏忕被 String logTag = getKeyValue("logTag", data);//鏍囪uni鎸囦护 String mode_type = "澶х被-" + topic + "---" + "灏忕被-" + type;//鐢ㄦ潵鎵撳嵃鐨� - HdlLogLogic.print(logTag + ":" + "uni---鍙戦��---" + mode_type + "\r\n" + data, true); + HdlLogLogic.print(logTag + ":" + "uni---鍙戦��---" + mode_type + "---" + data, true); if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) { //鐢ㄦ埛妯″潡 switch (type) { @@ -178,7 +180,7 @@ jsonObject.addProperty("appKey", AppConfigManage.getAppKey()); jsonObject.addProperty("appSecret", AppConfigManage.getAppSecret()); uniSuccessCallback(mode_type, jsonObject, callback); - HdlLogLogic.print("鑾峰彇鐢ㄦ埛鏈湴缂撳瓨淇℃伅---->>>" + jsonObject.toString()); + HdlLogLogic.print("鑾峰彇鐢ㄦ埛鏈湴缂撳瓨淇℃伅----" + jsonObject.toString()); } break; } @@ -206,8 +208,22 @@ break; //鍒涘缓鐢电珯 case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: { + //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡 +// HdlResidenceLogic.getInstance().getResidenceIdList("","","","","","",1,50,null); + try { + String dataJsonStr = getKeyValue("data", data); + if (!TextUtils.isEmpty(dataJsonStr)) { + Gson gson = new Gson(); + HouseIdBean houseIdBean = gson.fromJson(dataJsonStr, HouseIdBean.class); + HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true); + } + HdlLogLogic.print("uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡---"+dataJsonStr, true); + } catch (Exception e) { + HdlLogLogic.print("uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡---" + e.getMessage(), true); + } + //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, getKeyValue("data", data)); +// HdlCommonLogic.getInstance().postEventBusSticky(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, getKeyValue("data", data)); if (callback != null) { uniSuccessCallback(type, null, callback); } @@ -387,6 +403,16 @@ WifiUtils wifiUtils = WifiUtils.getInstance(); //wifi妯″潡 switch (type) { + //鑾峰彇浣嶇疆鏉冮檺 + case HDLUniMP.UNI_EVENT_REPLY_AUTHORIZATION_GET: { + boolean isLocalAuthor = PermissionUtils.checkPermission(HDLApp.getInstance(), Manifest.permission.ACCESS_FINE_LOCATION); + if (callback != null) { + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("localAuthor", isLocalAuthor); + uniSuccessCallback(mode_type, jsonObject, callback); + } + } + break; //鑾峰彇鎵嬫満wifi鍒楄〃 case HDLUniMP.UNI_EVENT_REPLY_PHONE_WIFI_LIST: { if (callback != null) { @@ -437,10 +463,7 @@ break; //閫嗗彉鍣ㄤ互澶綉鑾峰彇 case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ETHERNET_GET: { - if (callback != null) { - uniSuccessCallback(type, "", callback); - } - //uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_GET, callback); + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_GET, callback); } break; @@ -648,6 +671,7 @@ } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) { //鍏跺畠妯″潡 switch (type) { + //鑾峰彇娓╁害鍗曚綅 case HDLUniMP.UNI_EVENT_REPLY_OTHER_UNIT: { uniSuccessCallback(mode_type, UserConfigManage.getInstance().getTemperature_unit(), callback); @@ -686,6 +710,7 @@ break; //uni閫氱煡鍘熺敓閫�鍑虹櫥褰� case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOGOUT: { + HdlLogLogic.print("uni閫氱煡鍘熺敓閫�鍑虹櫥褰�---", true); HDLLinkPMUser.getInstance().logout(0); } break; @@ -732,7 +757,7 @@ String json = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(fileName + ".json", deviceModel); if (TextUtils.isEmpty(json)) { //鏈湴娌℃湁缂撳瓨 - HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(fileName, deviceType, deviceModel, new CloudCallBeak<String>() { + HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(fileName, deviceType, deviceModel, false, new CloudCallBeak<String>() { @Override public void onSuccess(String obj) { // if (callback != null) { @@ -907,7 +932,7 @@ if (callback != null) { uniSuccessCallback(type, null, callback); } - List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId); + List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId, null); for (int i = 0; i < list.size(); i++) { GatewayBean gatewayBean = list.get(i); HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), null); @@ -1312,11 +1337,20 @@ //瑙e瘑璐熻浇鏁版嵁(鍐欏瘑閽ョ粰缃戝叧涓�瀹氭槸鏄庢枃锛屽洜涓洪偅鏃剁綉鍏宠繕娌℃湁瀵嗛挜) TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jsonArray, "", new HDLLinkCallBack() { @Override - public void onSuccess(String msg) { + public void onSuccess(String s) { if (callback != null) { - uniSuccessCallback(type, msg, callback); + try { + if (s.startsWith("{")) { + uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback); + } else if (s.startsWith("[")) { + uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback); + } else { + uniSuccessCallback(type, s, callback); + } + } catch (Exception e) { + uniSuccessCallback(type, s, callback); + } } - } @Override @@ -2009,7 +2043,7 @@ UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); UserConfigManage.getInstance().Save(); - HdlLogLogic.print("澶村儚璺緞---->>>" + cUserInfo.getMemberHeadIcon()); + HdlLogLogic.print("澶村儚璺緞----" + cUserInfo.getMemberHeadIcon()); } @Override @@ -2391,6 +2425,7 @@ */ private void uniGetCurrentHomeLocalAndCloudGatewayList(String type, Object data, DCUniMPJSCallback callback) { String homeId = getKeyValue("homeId", getKeyValue("data", data)); +// UserConfigManage.getInstance().setHomeId(homeId); HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() { @Override public void onSuccess(List<GatewayBean> list) { @@ -2896,8 +2931,7 @@ uniCallBackBaseBean.setData(obj); if (callback != null) { callback.invoke(getJSONObject(uniCallBackBaseBean)); -// callback.invoke(uniCallBackBaseBean); - HdlLogLogic.print("鍥炲---uni---" + type + "---" + new Gson().toJson(uniCallBackBaseBean), true); + HdlLogLogic.print("鍥炲---uni---" + type + "---" + getJSONObject(uniCallBackBaseBean).toString(), true); } } catch (Exception e) { HdlLogLogic.print("鍥炲---uni---" + type + "---" + e.getMessage(), true); -- Gitblit v1.8.0