From 52f8575a2fa0590c28b5d784399c51a8af2f790a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 28 二月 2020 15:26:04 +0800
Subject: [PATCH] 2020-2-28 1.增加小类是3的音乐播放器支持

---
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLLight/LightCtrlBackInfo.java |    1 
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java        |    3 +
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java      |    6 +-
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java                          |    5 ++
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java    |   98 +++++++++++++++++++++++++-----------------------
 5 files changed, 62 insertions(+), 51 deletions(-)

diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
index c20867d..65bd63b 100644
--- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
@@ -702,7 +702,10 @@
 
         if (event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()
                 && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
-                && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum() && event.getLightCtrlBackInfo().getPhysicsChannelNum() == appliancesInfo.getPhysicsChannelNum()
+                && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum()
+                && event.getLightCtrlBackInfo().getPhysicsChannelNum() == appliancesInfo.getPhysicsChannelNum()
+
+                && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceType() == appliancesInfo.getDeviceType()
                 ) {
             //        鍏堝垽鏂槸鍚﹁秴鏃�
             if (!event.isSuccess()) {
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLLight/LightCtrlBackInfo.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLLight/LightCtrlBackInfo.java
index 9611c48..ca3402e 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLLight/LightCtrlBackInfo.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLLight/LightCtrlBackInfo.java
@@ -20,6 +20,7 @@
     String parentRemarks;//妯″潡澶囨敞
     int physicsChannelNum;//RCU 鐏厜鐗规湁
 
+
     public String getParentRemarks() {
         return parentRemarks;
     }
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
index ed821a7..f8ede67 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
@@ -671,60 +671,64 @@
                         List<AppliancesInfo> infos = devicesDataList.get(i).getAppliancesInfoList();
                         inner:
                         for (int j = 0, len2 = infos.size(); j < len2; j++) {
-                            AppliancesInfo curtainInfo;
-                            if ((getDatas.addBytes[0] & 0xFF) >= 17) {
-                                if (((getDatas.addBytes[0] & 0xFF) - 16) == infos.get(j).getChannelNum()) {
-                                    curtainInfo = infos.get(j);
-                                } else {
-                                    continue inner;
-                                }
-                            } else {
-                                if ((getDatas.addBytes[0] & 0xFF) == infos.get(j).getChannelNum()) {
-                                    curtainInfo = infos.get(j);
-                                } else {
-                                    continue inner;
-                                }
-                            }
+                            if(infos.get(j).getDeviceType() == HDLApConfig.TYPE_CURTAIN_GLYSTRO
+                                    || infos.get(j).getDeviceType() == HDLApConfig.TYPE_CURTAIN_ROLLER
+                                    || infos.get(j).getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE
+                            ) {
 
-                            CurtainCtrlBackInfo curtainCtrlBackInfo = new CurtainCtrlBackInfo();
-                            curtainCtrlBackInfo.setRemarks(curtainInfo.getRemarks());
-                            curtainCtrlBackInfo.setParentRemarks(curtainInfo.getParentRemarks());
-                            curtainCtrlBackInfo.setAppliancesInfo(curtainInfo);
-//                            isCurtainCtrlSuccess = true;
-                            setDeviceCtrlSuccessStateWithInfo(infos.get(j), true);
-
-                            if (curtainInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_GLYSTRO
-                                    || curtainInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_ROLLER) {
+                                AppliancesInfo curtainInfo;
                                 if ((getDatas.addBytes[0] & 0xFF) >= 17) {
-                                    int curState = getDatas.addBytes[1] & 0xFF;
-                                    if (curState == 1) {
-                                        //杩欎釜鍒ゆ柇寰堝偦锛岀獥甯樺叧鍒扮櫨鍒嗘瘮涓�0锛屼細璺冲埌1杩斿洖鍥炴潵锛屽彧鑳藉己鍒舵敼涓�0
-                                        curState = 0;
+                                    if (((getDatas.addBytes[0] & 0xFF) - 16) == infos.get(j).getChannelNum()) {
+                                        curtainInfo = infos.get(j);
+                                    } else {
+                                        continue inner;
                                     }
-                                    if (curState == 99) {
-                                        curState = 100;
+                                } else {
+                                    if ((getDatas.addBytes[0] & 0xFF) == infos.get(j).getChannelNum()) {
+                                        curtainInfo = infos.get(j);
+                                    } else {
+                                        continue inner;
                                     }
-                                    curtainCtrlBackInfo.setState(curState);
-                                    devicesDataList.get(i).getAppliancesInfoList().get(j).setCurState(curState);
-                                    devicesDataList.get(i).getAppliancesInfoList().get(j).setIntCurState(curState);
-                                    curtainCtrlBackInfo.setNum((getDatas.addBytes[0] & 0xFF) - 16);
-                                    EventBus.getDefault().post(new CurtainFeedBackEvent(curtainCtrlBackInfo, true));
                                 }
-                            }
-                            if (curtainInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) {
-                                if ((getDatas.addBytes[0] & 0xFF) < 17) {
-                                    curtainCtrlBackInfo.setState(getDatas.addBytes[1] & 0xFF);
-                                    curtainCtrlBackInfo.setNum(getDatas.addBytes[0] & 0xFF);
-                                    devicesDataList.get(i).getAppliancesInfoList().get(j).setCurState(getDatas.addBytes[1] & 0xFF);
-                                    devicesDataList.get(i).getAppliancesInfoList().get(j).setIntCurState(getDatas.addBytes[1] & 0xFF);
-                                    EventBus.getDefault().post(new CurtainFeedBackEvent(curtainCtrlBackInfo, true));
+
+                                CurtainCtrlBackInfo curtainCtrlBackInfo = new CurtainCtrlBackInfo();
+                                curtainCtrlBackInfo.setRemarks(curtainInfo.getRemarks());
+                                curtainCtrlBackInfo.setParentRemarks(curtainInfo.getParentRemarks());
+                                curtainCtrlBackInfo.setAppliancesInfo(curtainInfo);
+//                            isCurtainCtrlSuccess = true;
+                                setDeviceCtrlSuccessStateWithInfo(infos.get(j), true);
+
+                                if (curtainInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_GLYSTRO
+                                        || curtainInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_ROLLER) {
+                                    if ((getDatas.addBytes[0] & 0xFF) >= 17) {
+                                        int curState = getDatas.addBytes[1] & 0xFF;
+                                        if (curState == 1) {
+                                            //杩欎釜鍒ゆ柇寰堝偦锛岀獥甯樺叧鍒扮櫨鍒嗘瘮涓�0锛屼細璺冲埌1杩斿洖鍥炴潵锛屽彧鑳藉己鍒舵敼涓�0
+                                            curState = 0;
+                                        }
+                                        if (curState == 99) {
+                                            curState = 100;
+                                        }
+                                        curtainCtrlBackInfo.setState(curState);
+                                        devicesDataList.get(i).getAppliancesInfoList().get(j).setCurState(curState);
+                                        devicesDataList.get(i).getAppliancesInfoList().get(j).setIntCurState(curState);
+                                        curtainCtrlBackInfo.setNum((getDatas.addBytes[0] & 0xFF) - 16);
+                                        EventBus.getDefault().post(new CurtainFeedBackEvent(curtainCtrlBackInfo, true));
+                                    }
                                 }
+                                if (curtainInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) {
+                                    if ((getDatas.addBytes[0] & 0xFF) < 17) {
+                                        curtainCtrlBackInfo.setState(getDatas.addBytes[1] & 0xFF);
+                                        curtainCtrlBackInfo.setNum(getDatas.addBytes[0] & 0xFF);
+                                        devicesDataList.get(i).getAppliancesInfoList().get(j).setCurState(getDatas.addBytes[1] & 0xFF);
+                                        devicesDataList.get(i).getAppliancesInfoList().get(j).setIntCurState(getDatas.addBytes[1] & 0xFF);
+                                        EventBus.getDefault().post(new CurtainFeedBackEvent(curtainCtrlBackInfo, true));
+                                    }
+                                }
+
+                                break outter;
+
                             }
-
-
-                            break outter;
-
-
                         }
                     }
                 }
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 ba65550..a0f56d1 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
@@ -509,6 +509,9 @@
         }
         if ((HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() == 0) || isSearching) {
             isRefreshAllDevicesState = false;
+            if(HDLDeviceManager.devicesDataList != null && HDLDeviceManager.devicesDataList.size() > 0){
+                HandleSearch.OnDeviceListGetSuccessCallBack();
+            }
             return;
         }
 
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java
index c8c5f41..0278e0d 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java
@@ -173,9 +173,9 @@
 //                    case 1:
 //                        isWant = true;
 //                        break;
-//                    case 3:
-//                        isWant = true;
-//                        break;
+                    case 3:
+                        isWant = true;
+                        break;
                     default:
                         isWant = false;
                         break;

--
Gitblit v1.8.0