From b02e8275a21dc06bf54b66273485d44e007a2616 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 20 七月 2020 14:50:17 +0800
Subject: [PATCH] 新代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs |   95 +++++++++++++++++++++++++----------------------
 1 files changed, 50 insertions(+), 45 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index 508cab0..a91f411 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -13,7 +13,8 @@
     /// </summary>
     public class DeviceMacInfoEditorForm : EditorCommonForm
     {
-        #region 鈻� 鍙橀噺澹版槑___________________________ 
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
         /// <summary>
         /// 璁惧瀵硅薄
         /// </summary>
@@ -101,10 +102,13 @@
             {
                 //绠�绾﹂潰鏉块殢渚夸竴涓洖璺潵鑾峰彇璁惧淇℃伅
                 var dev = Common.LocalDevice.Current.GetDevice(deviceMac, 62);
-                var key = new ZigBee.Device.Panel();
-                key.DeviceAddr = deviceMac;
-                key.CurrentGateWayId = dev.CurrentGateWayId;
-                InitBindInfo(key);
+                if (dev != null)
+                {
+                    var key = new ZigBee.Device.Panel();
+                    key.DeviceAddr = deviceMac;
+                    key.CurrentGateWayId = dev.CurrentGateWayId;
+                    InitBindInfo(key);
+                }
             }
         }
 
@@ -709,7 +713,8 @@
         private void AddPirSensorWorkModeRow()
         {
             if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
-                || deviceEnumInfo.IsHdlDevice == false)
+                || deviceEnumInfo.IsHdlDevice == false
+                || this.listNewDevice.Count != 2)
             {
                 return;
             }
@@ -738,7 +743,8 @@
         /// </summary>
         private void AddPirSensorBindRow()
         {
-            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
+            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
+                || this.listNewDevice.Count != 2)
             {
                 return;
             }
@@ -1158,7 +1164,7 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5007_2" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
                         });
                         return;
                     }
@@ -1170,7 +1176,7 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5007_3" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
                         });
                         return;
                     }
@@ -1206,6 +1212,10 @@
                 foreach (var bDev in bindList)
                 {
                     var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
+                    if (device == null)
+                    {
+                        continue;
+                    }
                     if (device.Type == DeviceType.TemperatureSensor)
                     {
                         var bD = device as TemperatureSensor;
@@ -1399,7 +1409,7 @@
         /// <param name="oTADevice">ota璁惧</param>
         private void SetDeviceVersionInfo(PicViewControl btnNewVersion, OTADevice oTADevice)
         {
-            HdlThreadLogic.Current.RunThread(async () =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 bool receiveImageInfo = false;
                 //璁剧疆璁惧鍏ㄩ儴鐨勯暅鍍忎俊鎭�
@@ -1411,7 +1421,7 @@
                 while (receiveImageInfo == false && count > 0)
                 {
                     //绛夊緟璁惧闀滃儚鐨勫弽棣�
-                    await Task.Delay(300);
+                    System.Threading.Thread.Sleep(300);
                     count--;
                 }
                 //绉婚櫎浜嬩欢
@@ -1419,7 +1429,7 @@
 
                 oTADevice = Common.LocalDevice.Current.GetOTADevice(listNewDevice[0].DeviceAddr);
                 //娣诲姞鍗囩骇鍥轰欢淇℃伅(鎴愪笉鎴愬姛閮芥棤鎵�璋�)
-                var result = await HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.ZigbeeDevice, oTADevice.HwVersion.ToString(), oTADevice.ImgTypeId.ToString());
+                var result = HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.ZigbeeDevice, oTADevice.HwVersion.ToString(), oTADevice.ImgTypeId.ToString());
 
                 //鑾峰彇璁惧鏈�鏂扮増鏈�
                 var deviceFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.ZigbeeDevice,
@@ -1498,16 +1508,16 @@
             //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘(鎷跨鐐规渶灏忕殑閭d釜鍥炶矾鍘诲畾浣�)
             bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]);
 
-            TopRightMenuControl frame = null;
-
-            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
-            {
-                frame = new TopRightMenuControl(3, 1);
-            }
-            else
-            {
-                frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1);
-            }
+            TopRightMenuControl frame = null;
+
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+            {
+                frame = new TopRightMenuControl(3, 1);
+            }
+            else
+            {
+                frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1);
+            }
 
             string deviceMenu = string.Empty;
             if (canTest == true)
@@ -1537,23 +1547,23 @@
                     //鍒犻櫎鎸囧畾璁惧
                     this.DoDeleteDevice();
                 });
-            });
-
-            //鍚屾
+            });
+
+            //鍚屾
             deviceMenu = Language.StringByID(R.MyInternationalizationString.Synchronization);
-            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]))
-            {
-                frame.AddRowMenu(deviceMenu, "", "Item/SynchronizationSelected.png", () =>
-                {
-                    //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹�,姝ゅ姛鑳芥棤鏁�
-                    if (Common.Config.Instance.Home.IsVirtually == true)
-                    {
-                        return;
-                    }
-
-                    //鍚屾鎸囧畾璁惧
-                    this.SynchronizationDevice();
-                });
+            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]))
+            {
+                frame.AddRowMenu(deviceMenu, "", "Item/SynchronizationSelected.png", () =>
+                {
+                    //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹�,姝ゅ姛鑳芥棤鏁�
+                    if (Common.Config.Instance.Home.IsVirtually == true)
+                    {
+                        return;
+                    }
+
+                    //鍚屾鎸囧畾璁惧
+                    this.SynchronizationDevice();
+                });
             }
 
         }
@@ -1582,8 +1592,8 @@
                     this.CloseForm();
                 });
             });
-        }
-
+        }
+
         /// <summary>
         /// 鍚屾鎸囧畾璁惧
         /// </summary>
@@ -1602,11 +1612,6 @@
                 {
                     return;
                 }
-                HdlThreadLogic.Current.RunMain(() =>
-                {
-                    //鍏抽棴鐣岄潰
-                    this.CloseForm();
-                });
             });
         }
         #endregion

--
Gitblit v1.8.0