From 2314cbcfaac0af624ddcedbe81e2b98008603f48 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期一, 01 四月 2024 15:11:24 +0800
Subject: [PATCH] 白屏问题优化
---
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 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 45005db..a94c8e2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -18,6 +18,7 @@
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
+import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -34,12 +35,15 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
+import com.hdl.photovoltaic.internet.TcpClient;
+import com.hdl.photovoltaic.internet.api.TopicApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.listener.LinkCallBack;
import com.hdl.photovoltaic.ui.bean.CUserInfo;
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
import com.hdl.photovoltaic.ui.bean.Geolocation;
+import com.hdl.photovoltaic.ui.bean.LinkBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.ui.me.AsRegardsActivity;
import com.hdl.photovoltaic.ui.me.PersonalDataActivity;
@@ -55,7 +59,9 @@
import com.hdl.sdk.link.common.exception.HDLLinkException;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
+import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
import com.hdl.sdk.link.core.callback.GatewayCallBack;
+import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
import com.hdl.sdk.link.core.callback.ModbusCallBack;
import com.hdl.sdk.link.core.connect.HDLModBusConnect;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
@@ -244,6 +250,16 @@
//閫嗗彉鍣ㄦ竻绌轰綇瀹卛d
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_CLEAR_DATA: {
this.uniClearInverterHomeId(mode_type, data, callback);
+ }
+ break;
+ //spk灞炴�х紪杈�
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_edit_SEND: {
+ this.uniLinkSpkAttributeEdit(mode_type, data, callback);
+ }
+ break;
+ //spk灞炴�ц鍙�
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_read_SEND: {
+ this.uniLinkSpkAttributeRead(mode_type, data, callback);
}
break;
//鑾峰彇鏈鐞�/鏈娑堟伅鏁伴噺
@@ -1531,6 +1547,79 @@
}
+ /**
+ * link spk 灞炴�х紪杈�
+ *
+ * @param data uni鏁版嵁
+ * @param callback uni鍥炶皟
+ */
+ private void uniLinkSpkAttributeEdit(String type, Object data, DCUniMPJSCallback callback) {
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data));
+ JsonArray jay = new JsonArray();
+ if (!TextUtils.isEmpty(attribute_data)) {
+ try {
+ Gson gson = new Gson();
+ JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class);
+ String objects = jObject.get("objects").toString();
+ jay = gson.fromJson(objects, JsonArray.class);
+ } catch (Exception ignored) {
+ }
+ }
+ TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_DOWN, jay, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ uniCallbackData(type, msg, callback);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ });
+ }
+
+ /**
+ * link spk 灞炴�ц鍙�
+ *
+ * @param data uni鏁版嵁
+ * @param callback uni鍥炶皟
+ */
+ private void uniLinkSpkAttributeRead(String type, Object data, DCUniMPJSCallback callback) {
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data));
+ JsonArray jay = new JsonArray();
+ if (!TextUtils.isEmpty(attribute_data)) {
+ try {
+ Gson gson = new Gson();
+ JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class);
+ String objects = jObject.get("objects").toString();
+ jay = gson.fromJson(objects, JsonArray.class);
+ } catch (Exception ignored) {
+ }
+
+ }
+ TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_READ, jay, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ try {
+ Gson gson = new Gson();
+ Type typeOfT = new TypeToken<BaseLocalResponse<List<LinkBean>>>() {
+ }.getType();
+ BaseLocalResponse<List<LinkBean>> baseLocalResponse = gson.fromJson(msg, typeOfT);
+ uniCallbackData(type, baseLocalResponse, callback);
+ } catch (Exception e) {
+ uniCallbackData(type, msg, -2, "", callback);
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ });
+ }
+
/**
* 鍙戦�乵odbus鍗忚鏁版嵁
--
Gitblit v1.8.0