From b8cbf4a8b6910eefcb83b6d3a39e9b5b5a9cd79e Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 10 一月 2020 16:39:22 +0800
Subject: [PATCH] 2019.1.10

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs |   80 ++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 39 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
index 1d82707..b413b7b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -222,7 +222,7 @@
             rowInfo.MenuRow = rowMenu;
             //鍚戝彸鍥炬爣
             var btnRight = rowMenu.frameTable.AddMostRightEmptyIcon(58, 58);
-            btnRight.UnSelectedImagePath = "Item/Next.png";
+            btnRight.UnSelectedImagePath = "Item/RightNext.png";
             btnRight.SelectedImagePath = "Item/Down.png";
             rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind);
 
@@ -396,8 +396,17 @@
             //pir浼犳劅鍣�
             else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.Sensor_Pir)
             {
-                var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
-                form.AddForm((IASZone)device);
+                if (device is IASZone)
+                {
+                    var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
+                    form.AddForm((IASZone)device);
+                }
+                else
+                {
+                    //pir浼犳劅鍣�,浠栦滑鍙堟悶浜嗕釜缁х數鍣ㄥ湪閲岄潰
+                    var form = new DeviceFunctionSettionForm();
+                    form.AddForm(device, true);
+                }
             }
             //涓ぎ绌鸿皟
             else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.AirConditioner_ZbGateway)
@@ -626,51 +635,44 @@
         /// <param name="device"></param>
         private void ReceiveDeviceStatu(CommonDevice device)
         {
-            lock (dicRowInfo)
+            DeviceObjRowInfo rowInfo = null;
+            if (this.dicRowInfo.ContainsKey(device.DeviceAddr) == true)
             {
-                if (this.Parent == null)
+                rowInfo = this.dicRowInfo[device.DeviceAddr];
+            }
+            if (rowInfo == null || rowInfo.MenuRow == null)
+            {
+                return;
+            }
+            //鍒锋柊璁惧鐨勫湪绾跨姸鎬�
+            string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
+            var localDevice = Common.LocalDevice.Current.GetDevice(mainkeys);
+            if (localDevice != null)
+            {
+                //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂�
+                if (localDevice.IsOnline == device.IsOnline)
                 {
                     return;
                 }
-                DeviceObjRowInfo rowInfo = null;
-                if (this.dicRowInfo.ContainsKey(device.DeviceAddr) == true)
-                {
-                    rowInfo = this.dicRowInfo[device.DeviceAddr];
-                }
-                if (rowInfo == null || rowInfo.MenuRow == null)
-                {
-                    return;
-                }
-                //鍒锋柊璁惧鐨勫湪绾跨姸鎬�
-                string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
-                var localDevice = Common.LocalDevice.Current.GetDevice(mainkeys);
-                if (localDevice != null)
-                {
-                    //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂�
-                    if (localDevice.IsOnline == device.IsOnline)
-                    {
-                        return;
-                    }
-                    //淇濆瓨鐘舵��
-                    localDevice.IsOnline = device.IsOnline;
-                    localDevice.ReSave();
-                }
+                //淇濆瓨鐘舵��
+                localDevice.IsOnline = device.IsOnline;
+                localDevice.ReSave();
+            }
 
-                HdlThreadLogic.Current.RunMain(() =>
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                if (rowInfo != null)
                 {
-                    if (rowInfo != null)
+                    rowInfo.MenuRow.isOnline = device.IsOnline == 1;
+                    if (rowInfo.dicDetailRow != null)
                     {
-                        rowInfo.MenuRow.isOnline = device.IsOnline == 1;
-                        if (rowInfo.dicDetailRow != null)
+                        foreach (var detailRow in rowInfo.dicDetailRow.Values)
                         {
-                            foreach (var detailRow in rowInfo.dicDetailRow.Values)
-                            {
-                                detailRow.isOnline = rowInfo.MenuRow.isOnline;
-                            }
+                            detailRow.isOnline = rowInfo.MenuRow.isOnline;
                         }
                     }
-                });
-            }
+                }
+            });
         }
 
         /// <summary>
@@ -704,7 +706,7 @@
         {
             HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceListFormSensor", ReceiveComandDiv.A浼犳劅鍣ㄤ笂鎶�, (device) =>
              {
-                 Application.RunOnMainThread(() =>
+                 HdlThreadLogic.Current.RunMain(() =>
                  {
                      if (this.dicRowInfo.ContainsKey(device.DeviceAddr) == false)
                      {

--
Gitblit v1.8.0