From 30859ca8f2175475d2c666353bc27f3b2ceede53 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 22 八月 2024 13:43:47 +0800 Subject: [PATCH] 2024年08月22日13:43:45 --- app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java | 40 +++++++++++++++++++++++++++------------- 1 files changed, 27 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java index d6baefb..37f37a8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java @@ -5,6 +5,7 @@ import android.os.Process; import android.os.SystemClock; import android.text.TextUtils; +import android.util.Log; import com.google.gson.Gson; @@ -18,8 +19,10 @@ import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityCpowerStationBinding; +import com.hdl.photovoltaic.enums.LowerTagType; import com.hdl.photovoltaic.enums.NetworkType; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlMqttLogic; @@ -42,10 +45,14 @@ import com.hdl.sdk.link.core.config.HDLLinkConfig; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; +import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import cn.jpush.android.api.JPushInterface; @@ -193,9 +200,24 @@ } else if (event.getTopic().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL) && event.getType().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK)) { //鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢) killProcessApp(); - } else if (event.getTopic().contains(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL) && event.getType().contains(HDLUniMP.UNI_EVENT_REPLY_HOME_DEl)) { - //C绔數绔欒鎯呴噷闈㈠垹闄ゅ悗锛屼細璺戞潵杩欓噷锛� - startAppAutomaticallyOpenUni(false); + } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(event.getType())) { + if (MqttRecvClient.getInstance() != null) { + MqttRecvClient.getInstance().removeAllTopic(); + } + String homeId = event.getData().toString(); + //杩涘幓浣忓畢璇︽儏uni璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡 + for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).size(); i++) { + String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).get(i).getGatewayId(); + //瀛楃涓叉槸鑷繁鎸夎鍒欐嫾鎺ョ殑,閲岄潰娉ㄥ唽涓婚鏃朵細瑙f瀽瀛楃涓�,鍙嬁getGatewayId()鍊�; + String topic = "/user/" + gatewayId + "/#"; + //杩涘幓浣忓畢璇︽儏寮�濮嬭闃呬富棰� + MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topic);//璁㈤槄銆愰�嗗彉鍣ㄣ�戞秷鎭� + + } + String topicHome = "/user/" + homeId + "/#"; + MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topicHome);//璁㈤槄銆愮數绔欍�戞秷鎭� + + } } @@ -211,11 +233,7 @@ List<HouseIdBean> HouseIdList = HdlResidenceLogic.getInstance().getHouseIdList(); if (HouseIdList.size() == 0) { String path = HDLUniMP.UNI_EVENT_OPEN_HOME_Null_C; - if (delay) { - HdlUniLogic.getInstance().openUniMPDelay(path, null); - } else { - HdlUniLogic.getInstance().openUniMP(path, null); - } + HdlUniLogic.getInstance().openUniMP(path, null); } else { int select_home = 0; for (int i = 0; i < HouseIdList.size(); i++) { @@ -227,11 +245,7 @@ HouseIdBean houseIdBean = HouseIdList.get(select_home); HdlResidenceLogic.getInstance().switchHouse(houseIdBean); String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); - if (delay) { - HdlUniLogic.getInstance().openUniMPDelay(path, null); - } else { - HdlUniLogic.getInstance().openUniMP(path, null); - } + HdlUniLogic.getInstance().openUniMP(path, null); } } -- Gitblit v1.8.0