From d6d95564b016c281bfa2e8c2454db8d71083e858 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 26 十一月 2019 17:48:09 +0800
Subject: [PATCH] 2019-11-26 1.控制命令改为广播模式。

---
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java |  113 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 82 insertions(+), 31 deletions(-)

diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java
index 042d813..ba65550 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java
@@ -20,7 +20,7 @@
 
 
 public class HandleSearch {
-    public static boolean isSearching = true;
+    public static boolean isSearching = false;
     public static int curSearchMode = 0;
     public static String rcuIp = "";//涓诲姩浼犲叆鐨剅cu ip鍦板潃
     //    private static Timer getRcuIpTimer = null;//鑾峰彇Rcuip Timer
@@ -389,38 +389,87 @@
         }
     }
 
-
     /**
      * 杩斿洖璁惧鍒楄〃
+     * 2019-10-14
      */
-    public static void deviceListCallBack() {
-        byte[] debugBytes = new byte[6 + HDLDeviceManager.devicesDataList.size() * 2];
-        debugBytes[0] = 1;
-        debugBytes[1] = 1;
-        debugBytes[2] = 1;
-        debugBytes[3] = 1;
-        debugBytes[4] = 1;
-        debugBytes[5] = 1;
+    public static void OnDeviceListGetSuccessCallBack() {
+//        byte[] debugBytes = new byte[6 + HDLDeviceManager.devicesDataList.size() * 2];
+//        debugBytes[0] = 1;
+//        debugBytes[1] = 1;
+//        debugBytes[2] = 1;
+//        debugBytes[3] = 1;
+//        debugBytes[4] = 1;
+//        debugBytes[5] = 1;
+//
+//        for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) {
+//
+//            debugBytes[6 + i + i] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID();
+//            debugBytes[6 + i + i + 1] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID();
+//            String device = "绗� " + (i + 1) + " 涓ā鍧楋細妯″潡澶囨敞鍚嶇О锛�" + HDLDeviceManager.devicesDataList.get(i).getRemark()
+//                    + ",瀛愮綉鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID()
+//                    + ",璁惧鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID()
+//                    + ",鍥炶矾鏁帮細" + HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size() + "\n";
+//            HDLLog.info(device);
+//        }
 
-        for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) {
-
-            debugBytes[6 + i + i] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID();
-            debugBytes[6 + i + i + 1] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID();
-            String device = "绗� " + (i + 1) + " 涓ā鍧楋細妯″潡澶囨敞鍚嶇О锛�" + HDLDeviceManager.devicesDataList.get(i).getRemark()
-                    + ",瀛愮綉鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID()
-                    + ",璁惧鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID()
-                    + ",鍥炶矾鏁帮細" + HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size() + "\n";
-            HDLLog.info(device);
-        }
-
-//        HDLUdpCore.sendTestCMD(debugBytes, HDLTest.SEND_TEST_PORT);
         EventBus.getDefault().post(new DevicesInfoEvent(HDLDeviceManager.devicesDataList, true));
-
-
+        /**鎼滅储璁惧鎴愬姛锛屾墽琛屼竴娆′繚瀛樺埌鏈湴*/
+        HDLDeviceManager.saveDevicesDataList();
     }
 
 
-    public static void refreshAllDevicesState() {
+//    /**
+//     * 杩斿洖璁惧鍒楄〃
+//     */
+//    public static void deviceListCallBack() {
+//        byte[] debugBytes = new byte[6 + HDLDeviceManager.devicesDataList.size() * 2];
+//        debugBytes[0] = 1;
+//        debugBytes[1] = 1;
+//        debugBytes[2] = 1;
+//        debugBytes[3] = 1;
+//        debugBytes[4] = 1;
+//        debugBytes[5] = 1;
+//
+//        for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) {
+//
+//            debugBytes[6 + i + i] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID();
+//            debugBytes[6 + i + i + 1] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID();
+//            String device = "绗� " + (i + 1) + " 涓ā鍧楋細妯″潡澶囨敞鍚嶇О锛�" + HDLDeviceManager.devicesDataList.get(i).getRemark()
+//                    + ",瀛愮綉鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID()
+//                    + ",璁惧鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID()
+//                    + ",鍥炶矾鏁帮細" + HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size() + "\n";
+//            HDLLog.info(device);
+//        }
+//
+////        HDLUdpCore.sendTestCMD(debugBytes, HDLTest.SEND_TEST_PORT);
+//        EventBus.getDefault().post(new DevicesInfoEvent(HDLDeviceManager.devicesDataList, true));
+//
+//
+//    }
+
+    /**
+     * 鍒锋柊鎵�鏈夎澶囩姸鎬佸拰澶囨敞
+     * 2019-10-15
+     */
+    public static void refreshAllDevicesStateAndRemarks() {
+
+        if (isSearching) {
+            isRefreshAllDevicesState = false;
+            return;
+        }
+        isRefreshAllDevicesState = true;
+        for (int i = 0; i < HDLDeviceManager.listRemarks.size(); i++) {
+            HDLDeviceManager.listRemarks.get(i).setCallBack(false);
+        }
+        getDevRemarks();
+    }
+
+    /**
+     * 1S
+     * @param delayTime 鍗曚綅绉�
+     */
+    public static void refreshAllDevicesState(int delayTime) {
         if (refreshTimer != null) {
             refreshTimer.cancel();
             refreshTimer.purge();
@@ -441,7 +490,7 @@
                 }
                 getDevRemarks();
             }
-        }, 1000 * 30);
+        }, 1000 * delayTime);
     }
 
 
@@ -475,13 +524,15 @@
         //鍒ゆ柇鏄惁鑾峰彇璁惧澶囨敞瀹屽叏锛岃嫢瀹屽叏鍒欒繑鍥炴墍鏈夎澶囧垪琛ㄣ��
         if (HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() != 0 && pos == -1) {
             if (!isRefreshAllDevicesState) {
-                HandleSearch.deviceListCallBack();
-
+                HandleSearch.OnDeviceListGetSuccessCallBack();
             } else {
                 //鍒锋柊瀹屾瘯
-                // TODO: 2018/12/29 鍒锋柊瀹屾瘯鍙兘瑕佸仛鏌愪簺浜嬫儏
+                // TODO: 鍒锋柊瀹屾瘯鍙兘瑕佸仛鏌愪簺浜嬫儏
                 HDLLog.info("鍒锋柊璁惧鐘舵�佸畬姣�");
                 isRefreshAllDevicesState = false;
+                HandleSearch.OnDeviceListGetSuccessCallBack();
+//                /**鍒锋柊璁惧鐘舵�佸畬姣曪紝鎵ц涓�娆′繚瀛樺埌鏈湴*/
+//                HDLDeviceManager.saveDevicesDataList();
             }
 
             return;
@@ -508,8 +559,8 @@
                                 port = Configuration.RCU_SEND_PORT;
                                 break;
                             case HandleSearch.GET_BUS_DEVICES:
-//                                ipAddress = NetWorkUtil.getLocalBroadCast();
-                                ipAddress = HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getIpAddress();
+                                ipAddress = HDLCommand.getLocalBroadCastIp();//2019-10-16
+//                                ipAddress = HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getIpAddress();
                                 port = Configuration.PORT;
                                 break;
                         }

--
Gitblit v1.8.0