From d78515ac4ac8cf4a1785d9df18058d6724f12b79 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 14 一月 2021 19:34:59 +0800
Subject: [PATCH] 合并xm2021-01-13  wjc2021-02-06

---
 ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
index 41140ca..9e3b9e4 100755
--- a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
@@ -91,7 +91,7 @@
             topFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
             this.AddChidren(topFrameLayout);
             //鏍囬鍒嗙被
-            var btnTitle = new NormalViewControl(300, 95, true);
+            var btnTitle = new NormalViewControl(400, 95, true);
             btnTitle.X = ControlCommonResourse.XXLeft;
             btnTitle.Gravity = Gravity.CenterVertical;
             btnTitle.TextID = R.MyInternationalizationString.Category;
@@ -396,7 +396,7 @@
             frameDeviceBack.AddChidren(listDeviceView);
 
             //涓婁竴娆¢�夋嫨鐨勮彍鍗�
-            MainPage.Controls.DeviceFunctionUnallocatedControl oldSelectContr = null;
+            MainPage.Controls.DeviceFunctionMenuControl oldSelectContr = null;
             DeviceRowInfo nowSelectDeviceInfo = null;
             foreach (string strText in dicGroupDevice.Keys)
             {
@@ -408,9 +408,9 @@
                 HorizontalView.AddChidren(devieFrame);
 
                 //鑿滃崟鍥剧墖鎺т欢
-                var deviceObjContr = new MainPage.Controls.DeviceFunctionUnallocatedControl();
+                var deviceObjContr = new MainPage.Controls.DeviceFunctionMenuControl();
                 devieFrame.AddChidren(deviceObjContr);
-                deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
+                deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected);
                 deviceObjContr.ButtonClickEvent += (sender, e) =>
                 {
                     //閫夋嫨鐨勬槸鍚屼竴涓笢瑗跨殑璇�,涓嶅鐞�
@@ -496,6 +496,11 @@
                     {
                         cardContr = new Controls.DeviceCurtainRowControl();
                     }
+                    //鏅捐。鏋� Airer
+                    if (device.Type == DeviceType.Airer)
+                    {
+                        cardContr = new Controls.DeviceAirerRowControl();
+                    }
                     //缁х數鍣�
                     else if (device.Type == DeviceType.OnOffOutput)
                     {
@@ -520,6 +525,17 @@
                     else if (device.Type == DeviceType.PMSensor)
                     {
                         cardContr = new Controls.DevicePmSensorRowControl();
+                    }
+                    // 绌烘皵璐ㄩ噺浼犳劅鍣�
+                    else if (device.Type == DeviceType.TemperatureSensor)
+                    {
+                        //鑾峰彇璁惧绫诲瀷
+                        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                        {
+                            cardContr = new Controls.DeviceAirQualitySensorRowControl();
+                        }
                     }
                     //褰╃伅(璋冨厜鍣�)
                     else if (device.Type == DeviceType.DimmableLight)
@@ -582,6 +598,7 @@
                 }
                 HdlThreadLogic.Current.RunThread(() =>
                 {
+                    int sendCount = 0;
                     while (listView.Parent != null)
                     {
                         bool hadSend = false;
@@ -597,7 +614,7 @@
                                 //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护
                                 listContr[i].SendStatuComand();
                                 hadSend = true;
-                                System.Threading.Thread.Sleep(200);
+                                System.Threading.Thread.Sleep(300);
                             }
                         }
                         if (hadSend == false)
@@ -605,7 +622,13 @@
                             //濡傛灉宸茬粡鍏ㄩ儴鍥炶矾閮芥帴鏀朵簡缃戝叧鍥炲,鍒欎笉鍐嶄簩娆″彂閫�
                             break;
                         }
-                        System.Threading.Thread.Sleep(2000);
+                        sendCount++;
+                        if (sendCount == 2)
+                        {
+                            //灏卞彂2娆�
+                            break;
+                        }
+                        System.Threading.Thread.Sleep(5000);
                     }
 
                 }, ShowErrorMode.NO);
@@ -836,6 +859,13 @@
                 {
                     //澶勭悊涓�鑸澶囩殑涓婃姤鏁版嵁
                     string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
+                    //鏅捐。鏋朵笂鎶ラ渶瑕佺壒娈婂鐞嗭紝鍏朵粬涓婃姤鐨勫洖璺粺涓�杞负绔偣1
+                    var tempList = LocalDevice.Current.GetDevicesByMac(report.DeviceAddr);
+                    var tempDeviceEnum = LocalDevice.Current.GetMyDeviceEnumInfo(tempList);
+                    if (tempDeviceEnum.ConcreteType == Common.DeviceConcreteType.Airer)
+                    {
+                        mainKeys = report.DeviceAddr + "_" + 1;
+                    }
                     if (this.dicDeviceRowControl.ContainsKey(mainKeys) == true)
                     {
                         //鍒锋柊鍗$墖淇℃伅
@@ -976,7 +1006,7 @@
                     string path1 = string.Empty;
                     string path2 = string.Empty;
                     //鑾峰彇鍥剧墖
-                    LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2);
+                    LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo, ref path1, ref path2);
                     dic[typeInfo.BeloneText].IconPath = path1;
                     dic[typeInfo.BeloneText].IconPathSelected = path2;
                     dic[typeInfo.BeloneText].Text = typeInfo.BeloneText;

--
Gitblit v1.8.0