From 80aa637dacf955c5cb19e735a461b45515945c84 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 31 七月 2025 16:54:23 +0800
Subject: [PATCH] 2025年07月31日16:54:21

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 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 36530ca..5c88631 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -38,6 +38,7 @@
 import com.hdl.photovoltaic.bean.PageNumberObject;
 import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LogoutType;
 import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
 import com.hdl.photovoltaic.internet.TcpClient;
@@ -714,7 +715,8 @@
                     //uni閫氱煡鍘熺敓閫�鍑虹櫥褰�
                     case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOGOUT: {
                         HdlLogLogic.print("uni閫氱煡鍘熺敓閫�鍑虹櫥褰�---", true);
-                        HDLLinkPMUser.getInstance().logout(0);
+//                        HDLLinkPMUser.getInstance().logout(0);
+                        HdlAccountLogic.getInstance().logout(LogoutType.NormalLogout);
                     }
                     break;
                     //鏈湴瀵嗛挜鑾峰彇
@@ -822,6 +824,7 @@
                     case HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL_EXIT: {
                         //閫�鍑烘棤缃戞ā寮忔爣璇�
                         UserConfigManage.getInstance().setNoNetworkFlag(false);
+                        UserConfigManage.getInstance().setAutomaticSkipNoNetworkFlag(false);
                         UserConfigManage.getInstance().Save();
                         uniSuccessCallback(mode_type, true, callback);
                         if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
@@ -830,6 +833,12 @@
                         Intent intent = new Intent(HDLApp.getInstance(), LoginActivity.class);
                         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
                         HDLApp.getInstance().startActivity(intent);
+                    }
+                    break;
+                    case HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL_FROM_OFFLINE: {
+                        //璁惧绂荤綉鏃舵湁鍏ュ彛杩涘叆鏃犵綉妯″紡
+                        uniSuccessCallback(mode_type, true, callback);
+                        HdlAccountLogic.getInstance().logout(LogoutType.UniLogout);
                     }
                     break;
                     case HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL_DEVICE_INFO: {
@@ -2509,14 +2518,25 @@
         }
         List<GatewayBean> newList = new ArrayList<>();
         List<GatewayBean> inverterList = new ArrayList<>();
+        List<GatewayBean> inverterUnactivatedList = new ArrayList<>();
         List<GatewayBean> lcList = new ArrayList<>();
         for (int i = 0; i < list.size(); i++) {
-            if (list.get(i).getSpk().equals(HdlDeviceLogic.getInstance().INVERTER_DEVICE_SPK)) {
-                inverterList.add(list.get(i));
+            GatewayBean gatewayBean = list.get(i);
+            if (gatewayBean == null) {
+                continue;
+            }
+            if (gatewayBean.isActivate()) {
+                if (gatewayBean.getSpk().equals(HdlDeviceLogic.getInstance().INVERTER_DEVICE_SPK)
+                        || gatewayBean.getSpk().equals(HdlDeviceLogic.getInstance().OFF_INVERTER_OG_SPK)) {
+                    inverterList.add(gatewayBean);
+                } else {
+                    lcList.add(gatewayBean);
+                }
             } else {
-                lcList.add(list.get(i));
+                inverterUnactivatedList.add(gatewayBean);
             }
         }
+        newList.addAll(inverterUnactivatedList);
         newList.addAll(inverterList);
         newList.addAll(lcList);
         return newList;
@@ -2722,6 +2742,7 @@
                     inverterDeviceBean.setDeviceStatus(gatewayBean.getDeviceStatus());
                     inverterDeviceBean.setSpk(gatewayBean.getSpk());
                     inverterDeviceBean.setDeviceType(gatewayBean.getDeviceType());
+                    inverterDeviceBean.setActivate(gatewayBean.isActivate());
                     newList.add(inverterDeviceBean);
                 }
             }

--
Gitblit v1.8.0