From d87400af518ebc9274f4447f06476959c3aa5102 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 14 七月 2020 16:29:42 +0800
Subject: [PATCH] Merge branch 'dev-tzy' into dev-2020xm

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs |   74 ++++++++++++++++++++++++++++--------
 1 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index 9e51971..87fda05 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -13,7 +13,7 @@
     /// </summary>
     public class DeviceMacInfoEditorForm : EditorCommonForm
     {
-        #region 鈻� 鍙橀噺澹版槑___________________________ 
+        #region 鈻� 鍙橀噺澹版槑___________________________
         /// <summary>
         /// 璁惧瀵硅薄
         /// </summary>
@@ -296,7 +296,7 @@
             }
             else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
             {
-                //娣诲姞銆愮粦瀹氱洰鏍囥�戣(绠�绾︾幆澧冮潰鏉跨敤) 
+                //娣诲姞銆愮粦瀹氱洰鏍囥�戣(绠�绾︾幆澧冮潰鏉跨敤)
                 this.AddSimplePanelSettionRow();
             }
             else
@@ -712,7 +712,8 @@
         private void AddPirSensorWorkModeRow()
         {
             if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
-                || deviceEnumInfo.IsHdlDevice == false)
+                || deviceEnumInfo.IsHdlDevice == false
+                || this.listNewDevice.Count != 2)
             {
                 return;
             }
@@ -741,7 +742,8 @@
         /// </summary>
         private void AddPirSensorBindRow()
         {
-            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
+            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
+                || this.listNewDevice.Count != 2)
             {
                 return;
             }
@@ -1406,7 +1408,7 @@
         /// <param name="oTADevice">ota璁惧</param>
         private void SetDeviceVersionInfo(PicViewControl btnNewVersion, OTADevice oTADevice)
         {
-            HdlThreadLogic.Current.RunThread(async () =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 bool receiveImageInfo = false;
                 //璁剧疆璁惧鍏ㄩ儴鐨勯暅鍍忎俊鎭�
@@ -1418,7 +1420,7 @@
                 while (receiveImageInfo == false && count > 0)
                 {
                     //绛夊緟璁惧闀滃儚鐨勫弽棣�
-                    await Task.Delay(300);
+                    System.Threading.Thread.Sleep(300);
                     count--;
                 }
                 //绉婚櫎浜嬩欢
@@ -1426,7 +1428,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,
@@ -1505,16 +1507,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)
@@ -1561,6 +1563,23 @@
                     //鍚屾鎸囧畾璁惧
                     this.SynchronizationDevice();
                 });
+            }
+
+            //鍚屾
+            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();
+                });
             }
 
         }
@@ -1616,6 +1635,27 @@
                 });
             });
         }
+
+        /// <summary>
+        /// 鍚屾鎸囧畾璁惧
+        /// </summary>
+        private void SynchronizationDevice()
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //鎵撳紑杩涘害鏉�
+                this.ShowProgressBar();
+
+                //鍚屾璁惧
+                bool result = await Common.LocalDevice.Current.SynchronizationDevice(listNewDevice);
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
+                if (result == false)
+                {
+                    return;
+                }
+            });
+        }
         #endregion
 
         #region 鈻� 鍏抽棴鐣岄潰___________________________

--
Gitblit v1.8.0