From fe3b2466c68b5db70d38e78039703add3b8b1dfe Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 31 十二月 2020 19:29:43 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs |  187 +++++++++++++++++++++-------------------------
 1 files changed, 84 insertions(+), 103 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 0562afe..eca6471 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -25,14 +25,9 @@
             ZbGateway.StatusList.Add(this);
             Application.RunOnMainThread(() =>
             {
-                ControlCommonResourse.UpdateDoorLockStatusAction = (obj) =>
-                {
-                    UpdateNomallyOpenStatus();
-                };
-
                 UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, status) =>
                 {
-                    var key = doorLock.DeviceAddr + doorLock.DeviceEpoint;
+                    var key = doorLock.DeviceAddr;
                     if (DoorlockKey == key)
                     {
                         DoorLockCommonInfo.NormallyOpenModeValue(this.doorLock, status);
@@ -56,9 +51,9 @@
         /// </summary>
         DateTime waitGetDoorLockPower = DateTime.MaxValue;
         /// <summary>
-        /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
+        /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
         /// </summary>
-        private bool haveLogicNormallyOpenMode = false;
+        private bool haveLogicNormallyOpenMode = false;
 
         /// <summary>
         /// 褰撳墠鐢甸噺
@@ -199,11 +194,11 @@
         bool IsClick = true;
         #endregion
 
-        /// <summary>
-        /// UI鏄剧ず 
+        /// <summary>
+        /// UI鏄剧ず 
         /// </summary>
         public void Show()
-        {
+        {
             this.TopFrameLayout(this, "");
             this.MidFrameLayout(this);
 
@@ -260,7 +255,7 @@
                 Height = Application.GetRealHeight(1238),
                 Width = Application.GetRealWidth(965),
                 BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
-                Radius = 6,
+                Radius = (uint)Application.GetRealHeight(17),
             };
             this.midFrameLayout.AddChidren(midTopFrameLayout);
 
@@ -271,6 +266,10 @@
             btnDoorLockTitle.IsBold = true;
             btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
             btnDoorLockTitle.Width = btnDoorLockTitle.GetRealWidthByText();
+            if (btnDoorLockTitle.Width > 664)
+            {
+                btnDoorLockTitle.Width = 664;
+            }
             btnDoorLockTitle.TextAlignment = TextAlignment.Center;
             btnDoorLockTitle.Gravity = Gravity.CenterHorizontal;
             midTopFrameLayout.AddChidren(btnDoorLockTitle);
@@ -310,9 +309,9 @@
                 UnSelectedImagePath = "Item/Collection.png",
                 SelectedImagePath = "Item/CollectionSelected.png"
             };
-            btnCollectFrameLayout.AddChidren(btnCollect);
-
-            //褰撳墠鐘舵��
+            btnCollectFrameLayout.AddChidren(btnCollect);
+
+            //褰撳墠鐘舵��
             btnStatus = new Button()
             {
                 Width = Application.GetRealWidth(132 + 351),
@@ -337,9 +336,9 @@
                 TextSize = 10,
                 TextAlignment = TextAlignment.CenterLeft,
             };
-            midTopFrameLayout.AddChidren(btnCurrentPowerText);
-#if Android
-            btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20);
+            midTopFrameLayout.AddChidren(btnCurrentPowerText);
+#if Android
+            btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20);
 #endif
 
             //闂ㄩ攣寮�/鍏冲浘鐗�
@@ -385,7 +384,7 @@
             progressFrameLayoutMatch = new FrameLayout()
             {
                 Width = Application.GetRealHeight(84),//639-35
-                Height = Application.GetRealHeight(446),
+                Height = Application.GetRealHeight(446 + 30),
                 X = Application.GetMinReal(51),
                 BackgroundColor = ZigbeeColor.Current.XMWhite,
             };
@@ -393,7 +392,9 @@
 
             var progressFrameLayout = new FrameLayout()
             {
-                Width = Application.GetRealHeight(17),//639-35
+                Width = Application.GetRealHeight(15),//639-35
+                Height = Application.GetRealHeight(440),
+                Radius = (uint)Application.GetRealHeight(17),
                 Gravity = Gravity.CenterHorizontal,
                 BackgroundColor = ZigbeeColor.Current.XMVerticalSeekBar,
             };
@@ -497,7 +498,7 @@
                 Height = Application.GetRealHeight(138),
                 Y = Application.GetRealHeight(1100),
                 BackgroundColor = ZigbeeColor.Current.XMBlack,
-                Radius = 6,
+                Radius = (uint)Application.GetRealHeight(17),
             };
             midTopFrameLayout.AddChidren(btnCurrentFrameLayout);
             #endregion
@@ -616,12 +617,12 @@
                     if (tempDoor.doorLockOperatingEventNotificationCommand != null)
                     {
                         //闈炰富浜轰笉寮硅繖涓獥鍙�
-                        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                        {
-                            return;
+                        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                        {
+                            return;
                         }
-                        if (doorLock.IsDoorLockNormallyMode)
-                        {
+                        if (doorLock.IsDoorLockNormallyMode)
+                        {
                             if (canOpenNormallyMode)
                             {
                                 Application.RunOnMainThread(() =>
@@ -637,35 +638,6 @@
                     }
                 }
             }
-
-            //缃戝叧鎵ц閫昏緫锛屽父寮�妯″紡澶辨晥涓婃姤
-            //if (typeTag == "DoorLockAlarmsSendAlarmInform" && tempDevice != null)
-            //{
-            //    var doorL = (ZigBee.Device.DoorLock)tempDevice;
-
-            //    if (doorL.DeviceAddr + doorL.DeviceEpoint == doorLock.DeviceAddr + doorLock.DeviceEpoint)
-            //    {
-            //        //闈炰富浜轰笉寮硅繖涓獥鍙�
-            //        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-            //        {
-            //            return;
-            //        }
-            //        if (doorLock.IsDoorLockNormallyMode)
-            //        {
-            //            if (canOpenNormallyMode)
-            //            {
-            //                Application.RunOnMainThread(() =>
-            //                {
-            //                    Action<bool> action = (obj) =>
-            //                    {
-            //                        UpdateNomallyOpenStatus();
-            //                    };
-            //                    DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action);
-            //                });
-            //            }
-            //        }
-            //    }
-            //}
 
             if (typeTag == "DeviceStatusReport" && tempDevice != null)
             {
@@ -734,18 +706,18 @@
                             }
                             DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
 
-                            //Application.RunOnMainThread(async () =>
-                            //{
-                            //var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock);
-                            //if (resTemp == 1)
-                            //{
-                            //    haveLogicNormallyOpenMode = true;
-                            //}
-                            //else if (resTemp == 0)
-                            //{
-                            //    haveLogicNormallyOpenMode = false;
-                            //}
-                            //});
+                            Application.RunOnMainThread(async () =>
+                            {
+                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2, doorLock);
+                                if (resTemp == 0)
+                                {
+                                    haveLogicNormallyOpenMode = false;
+                                }
+                                else
+                                {
+                                    haveLogicNormallyOpenMode = true;
+                                }
+                            });
                         }
                     }
                     else
@@ -767,7 +739,7 @@
                             var listDevice = new List<CommonDevice> { };
                             listDevice.Add(doorLock);
                             var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
-                            if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
+                            if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C)
                             {
                                 Application.RunOnMainThread(() =>
                                 {
@@ -897,8 +869,8 @@
             {
                 if (doorLock.IsDoorLockNormallyMode)
                 {
-                    if (canOpenNormallyMode)
-                    {
+                    if (canOpenNormallyMode)
+                    {
                         Application.RunOnMainThread(() =>
                         {
                             Action<bool> action = (obj) =>
@@ -912,7 +884,7 @@
                     {
                         OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
                     }
-                }
+                }
                 else
                 {
                     OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
@@ -1102,37 +1074,49 @@
 
             action = () =>
             {
-                //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
-                if (doorLock == null)
-                {
+                //WJC鐨勪唬鐮侊細绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
+                if (doorLock == null)
+                {
                     ///闃叉鎶涘紓甯�
-                    return;
-                }
-                ///澶囨敞锛歐JC鐨�
-                Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
-                ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱
-                Common.Logic.LogicDviceList.Clear();
-                if (Common.Logic.LogicDviceList.Count == 0)
-                {
-                    Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
-                }
-                var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
-                UserView.HomePage.Instance.AddChidren(addLogicPage);
-                UserView.HomePage.Instance.PageIndex += 1;
-                addLogicPage.Show();
-                addLogicPage.action += (w) =>
-                {
-                    doorLock.IsDoorLockNormallyMode = w;
-                    UpdateNomallyOpenStatus();
-                    //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction
-                    UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null;
-                };
+                    return;
+                }
+                ///澶囨敞锛歐JC鐨�
+                Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
+                ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱
+                Common.Logic.LogicDviceList.Clear();
+                if (Common.Logic.LogicDviceList.Count == 0)
+                {
+                    Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
+                }
+                var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
+                UserView.HomePage.Instance.AddChidren(addLogicPage);
+                UserView.HomePage.Instance.PageIndex += 1;
+                addLogicPage.Show();
+                addLogicPage.action += async (w) =>
+                 {
+                     DoorLockCommonInfo.NormallyOpenModeValue(doorLock, w);
+                     UpdateNomallyOpenStatus();
+                     //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction
+                     UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null;
+                     //鏄惁瀛樺湪甯稿紑妯″紡
+                     var resTemp = Shared.Common.Logic.SoneLogicList;
+                     if (resTemp.Count == 0)
+                     {
+                         haveLogicNormallyOpenMode = false;
+                     }
+                     else
+                     {
+                         haveLogicNormallyOpenMode = true;
+                     }
+
+                     UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction -= addLogicPage.updateCurrentDoorlockActionTemp;
+                 };
             };
             HdlCheckLogic.Current.CheckSecondarySecurity(action);
 
-        }
-
-        /// <summary>
+        }
+
+        /// <summary>
         /// 甯稿紑妯″紡鐘舵�佹洿鏂�
         /// </summary>
         private void UpdateNomallyOpenStatus()
@@ -1214,8 +1198,8 @@
                 {
                     if (!string.IsNullOrEmpty(deviceRename))
                     {
-                        btnDoorLockTitle.Text = deviceRename;
-                        //鏀规埧闂�
+                        btnDoorLockTitle.Text = deviceRename;
+                        //鏀规埧闂�
                         HdlRoomLogic.Current.ChangedRoom(deviceUI, currentRoom.Id);
                         deviceUI.ReSave();
                     }
@@ -1232,9 +1216,6 @@
         /// </summary>
         public override void RemoveFromParent()
         {
-            //寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
-            //ControlCommonResourse.IsDoorLockPageOpen = false;
-            ControlCommonResourse.UpdateDoorLockStatusAction = null;
             UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction = null;
             if (IsDrawerLockMode)
             {

--
Gitblit v1.8.0