From 66c4c910dcfe5d955103376c4c4afc685557dc55 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 23 十一月 2023 18:13:02 +0800
Subject: [PATCH] 2023年11月23日18:11:10

---
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java |   86 +++++++++++++++++++++++++++----------------
 1 files changed, 54 insertions(+), 32 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index 7e204c2..1706fa8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -4,15 +4,21 @@
 import androidx.appcompat.content.res.AppCompatResources;
 
 import android.Manifest;
+import android.content.ComponentName;
+import android.content.ServiceConnection;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.os.IBinder;
 import android.os.Process;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 
 import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.home.type.HomeType;
+import com.hdl.linkpm.sdk.ota.bean.CloudGatewayDriversBean;
+import com.hdl.linkpm.sdk.utils.HDLMD5Utils;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.bean.MqttInfo;
@@ -20,8 +26,10 @@
 import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
+import com.hdl.photovoltaic.other.HdlFileLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlMqttLogic;
+import com.hdl.photovoltaic.other.HdlOtaLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
@@ -41,6 +49,8 @@
 import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.List;
+
+import okhttp3.ResponseBody;
 
 
 /**
@@ -64,7 +74,6 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -73,6 +82,7 @@
         registerAllTopicsListener();
         //鍒濆鍖杕qtt瀹㈡埛绔�
         initMqttClient();
+
 
 
     }
@@ -260,48 +270,56 @@
 
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onEventMessage(BaseEventBus event) {
-        //缃戝叧鏇存柊mqtt绉橀挜鏇存柊閫氱煡
+
         if (event == null) {
             return;
         }
         if (TextUtils.isEmpty(event.getTopic())) {
             return;
         }
-        String[] topics = event.getTopic().split("/");
-        //涓婚涓嶇鍚堣鍒欎笉澶勭悊
-        if (topics.length < 3) {
-            return;
-        }
-        int index = -1;
-        List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList();
-        for (int i = 0; i < list.size(); i++) {
-            GatewayBean gatewayBean = list.get(i);
-            if (gatewayBean.getGatewayId().equals(topics[2])) {
-                index = i;
-                break;
+        //缃戝叧鏇存柊mqtt绉橀挜鏇存柊閫氱煡
+        if (event.getTopic().contains("/custom/mqtt/secret/change")) {
+            String[] topics = event.getTopic().split("/");
+            //涓婚涓嶇鍚堣鍒欎笉澶勭悊
+            if (topics.length < 3) {
+                return;
             }
-        }
-        if (index > -1) {
-            GatewayBean gatewayBean = list.get(index);
-            HdlDeviceLogic.getInstance().getDeviceRemoteInfo(UserConfigManage.getInstance().getHomeId(), gatewayBean.getSpk(), gatewayBean.getDevice_mac(), new CloudCallBeak<DeviceRemoteInfo>() {
-                @Override
-                public void onSuccess(DeviceRemoteInfo deviceRemoteInfo) {
-                    if (deviceRemoteInfo != null) {
-                        //鏇存柊mqtt閫氳鐨勬柊绉橀挜
-                        gatewayBean.setAesKey(deviceRemoteInfo.getSecret());
-                        //鐢ㄤ箣鍓嶇殑搴�,搴曞眰mqtt璁㈤槄锛屽姞瑙e瘑浼氱敤鍒拌鍙傛暟;
-                        HDLLinkConfig.getInstance().setAesKey(deviceRemoteInfo.getSecret());//璁剧疆mqtt閫氳绉橀挜搴�
+            int index = -1;
+            List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList();
+            for (int i = 0; i < list.size(); i++) {
+                GatewayBean gatewayBean = list.get(i);
+                if (gatewayBean.getGatewayId().equals(topics[2])) {
+                    index = i;
+                    break;
+                }
+            }
+            if (index > -1) {
+                GatewayBean gatewayBean = list.get(index);
+                HdlDeviceLogic.getInstance().getDeviceRemoteInfo(UserConfigManage.getInstance().getHomeId(), gatewayBean.getSpk(), gatewayBean.getDevice_mac(), new CloudCallBeak<DeviceRemoteInfo>() {
+                    @Override
+                    public void onSuccess(DeviceRemoteInfo deviceRemoteInfo) {
+                        if (deviceRemoteInfo != null) {
+                            //鏇存柊mqtt閫氳鐨勬柊绉橀挜
+                            gatewayBean.setAesKey(deviceRemoteInfo.getSecret());
+                            //鐢ㄤ箣鍓嶇殑搴�,搴曞眰mqtt璁㈤槄锛屽姞瑙e瘑浼氱敤鍒拌鍙傛暟;
+                            HDLLinkConfig.getInstance().setAesKey(deviceRemoteInfo.getSecret());//璁剧疆mqtt閫氳绉橀挜搴�
+                        }
                     }
-                }
 
-                @Override
-                public void onFailure(HDLException e) {
+                    @Override
+                    public void onFailure(HDLException e) {
 
-                }
-            });
+                    }
+                });
+            }
+        } else if (event.getTopic().contains(HdlOtaLogic.localDownloadProgress)) {
+            //涓嬭浇浜戠椹卞姩鎴栬�呭浐浠舵枃浠�,鑷繁璁$畻杩涘害鏉′笂鎶ュ埌uni閭h竟
+            HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+            uniCallBackBaseBean.setType(HdlOtaLogic.localDownloadProgress);
+            uniCallBackBaseBean.setData(event.getData());
+            HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL, uniCallBackBaseBean);
+            HdlLogLogic.print(((HdlOtaLogic.Progress) event.getData()).step + "", false);
         }
-
-
     }
 
 
@@ -335,4 +353,8 @@
         super.onBackPressed();
     }
 
+
+
+
+
 }
\ No newline at end of file

--
Gitblit v1.8.0