From 9d3c2727f1cd12f0a29c75f4ddff851d5243ac81 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 16 四月 2020 18:29:38 +0800
Subject: [PATCH] 新版本

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs |  248 +++++++++++++++++++++++++++++++------------------
 1 files changed, 158 insertions(+), 90 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index f76ff99..fdac3f9 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -90,6 +90,7 @@
         /// 璁剧疆FrameLayout
         /// </summary>
         FrameLayout btnFuncSetFrameLayout;
+        FrameLayout progressFrameLayoutMatch;
         /// <summary>
         /// 鐐瑰嚮寮�甯冨眬
         /// </summary>
@@ -366,25 +367,32 @@
             };
             btnFrameLayout.AddChidren(closeFrameLayout);
 
+            progressFrameLayoutMatch = new FrameLayout()
+            {
+                Width = Application.GetRealHeight(84),//639-35
+                Height = Application.GetRealHeight(446),
+                X = Application.GetMinReal(51),
+                BackgroundColor = ZigbeeColor.Current.XMWhite,
+            };
+            btnFrameLayout.AddChidren(progressFrameLayoutMatch);
+
             var progressFrameLayout = new FrameLayout()
             {
-                Width = Application.GetRealWidth(9),//639-35
-                Height = Application.GetRealHeight(446),
-                X = Application.GetRealWidth(95),
-                Y = Application.GetRealHeight(0),
+                Width = Application.GetRealHeight(17),//639-35
+                Gravity = Gravity.CenterHorizontal,
                 BackgroundColor = ZigbeeColor.Current.XMVerticalSeekBar,
             };
-            btnFrameLayout.AddChidren(progressFrameLayout);
+            progressFrameLayoutMatch.AddChidren(progressFrameLayout);
 
             progressButton = new Button()
             {
                 Width = Application.GetMinReal(84),//639-35
                 Height = Application.GetMinReal(93),
-                X = Application.GetRealWidth(58),
+                Gravity = Gravity.CenterHorizontal,
                 Y = Application.GetRealHeight(347),
                 UnSelectedImagePath = "DoorLock/UnLockButton.png",
             };
-            btnFrameLayout.AddChidren(progressButton);
+            progressFrameLayoutMatch.AddChidren(progressButton);
 
             btnDoorOpenPic = new Button()
             {
@@ -679,18 +687,18 @@
                             }
 
                             NormallyOpenModeValue(tempRes);
-                            var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist();
-                            if (resTemp == 1)
+
+                            Application.RunOnMainThread(async () =>
                             {
-                                HaveLogicNormallyOpenMode = true;
-                            }
-                            else if (resTemp == 0)
-                            {
-                                HaveLogicNormallyOpenMode = false;
-                            }
-                            Application.RunOnMainThread(() =>
-                            {
-                                UpdateNomallyOpenStatus();
+                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist();
+                                if (resTemp == 1)
+                                {
+                                    HaveLogicNormallyOpenMode = true;
+                                }
+                                else if (resTemp == 0)
+                                {
+                                    HaveLogicNormallyOpenMode = false;
+                                }
                             });
                         }
                     }
@@ -753,6 +761,7 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
+                        UpdateNomallyOpenStatus();
                         CommonPage.Loading.Hide();
                     });
                 }
@@ -868,6 +877,10 @@
             };
             openFrameLayout.MouseUpEventHandler += hander1;
             btnDoorOpenPic.MouseUpEventHandler += hander1;
+            if (progressButton.Y == Application.GetRealHeight(10))
+            {
+                progressFrameLayoutMatch.MouseUpEventHandler += hander1;
+            }
 
             //鍏抽攣浜嬩欢
             EventHandler<MouseEventArgs> hander2 = (sender, e) =>
@@ -1090,38 +1103,14 @@
                             //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂
                             DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
                             NormallyOpenModeValue(true);
-                            UpdateNomallyOpenStatus();
-                            CommonPage.Loading.Hide();
+                            Application.RunOnMainThread(() =>
+                            {
+                                UpdateNomallyOpenStatus();
+                                CommonPage.Loading.Hide();
+                            });
 
                             //甯稿紑妯″紡寮�鍚彁绀�
-                            string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn);
-                            var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting);
-                            var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting);
-                            alertNomallyModeIsTurnOn.Show();
-                            alertNomallyModeIsTurnOn.MsgControlClickEvent += async () =>
-                            {
-                                //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 
-                                var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
-                                if (!res)
-                                {
-                                    string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
-                                    this.ShowTipMsg(msg0);
-                                    return;
-                                }
-                            };
-
-                            //鐐瑰嚮鑷姩鍖�
-                            alertNomallyModeIsTurnOn.LogicClickEvent += () =>
-                            {
-                                //閫昏緫璋冪敤鍓嶈寰楃Щ闄�
-                                ZbGateway.StatusList.Remove(this);
-                                //璋冪敤閫昏緫鐣岄潰
-                                Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock);
-                            };
-                            alertNomallyModeIsTurnOn.InvalidClickEvent += async () =>
-                            {
-                                NomallyOpenModeInvalidTimeDialog();
-                            };
+                            AlreadyOpenNormallyMode();
                         }
                     };
                 };
@@ -1159,35 +1148,48 @@
                 {
                     //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷
                     NormallyOpenModeValue(false);
-                    UpdateNomallyOpenStatus();
-                    //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 
-                    var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
-                    if (resTemp == 3)
+                    Application.RunOnMainThread(() =>
                     {
-                        string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
-                        this.ShowTipMsg(msg0);
+                        UpdateNomallyOpenStatus();
+                    });
+                    //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
+                    if (HaveLogicNormallyOpenMode)
+                    {
+                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+                        //if (resTemp == 3)
+                        //{
+                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
+                        //    this.ShowTipMsg(msg0);
+                        //}
                     }
                 }
                 else
                 {
                     //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚�
                     NormallyOpenModeValue(true);
-                    UpdateNomallyOpenStatus();
+                    Application.RunOnMainThread(() =>
+                    {
+                        UpdateNomallyOpenStatus();
+                    });
                 }
             };
+
             alert.CancelClickEvent += async () =>
             {
                 if (IsFromReport)
                 {
                     //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑�
                     Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
-                    //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 
-                    var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
-                    if (resTemp == 3)
+                    //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
+                    if (HaveLogicNormallyOpenMode)
                     {
-                        string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
-                        this.ShowTipMsg(msg0);
-                        return;
+                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+                        //if (resTemp == 3)
+                        //{
+                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2);
+                        //    this.ShowTipMsg(msg0);
+                        //    return;
+                        //}
                     }
                     //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
                     var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
@@ -1196,7 +1198,10 @@
                         string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
                         this.ShowTipMsg(msg0);
                         NormallyOpenModeValue(false);
-                        UpdateNomallyOpenStatus();
+                        Application.RunOnMainThread(() =>
+                        {
+                            UpdateNomallyOpenStatus();
+                        });
                         return;
                     }
                     if (result.defaultControlResponseData.status != 0)
@@ -1204,22 +1209,28 @@
                         string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
                         this.ShowTipMsg(msg1);
                         NormallyOpenModeValue(false);
-                        UpdateNomallyOpenStatus();
+                        Application.RunOnMainThread(() =>
+                        {
+                            UpdateNomallyOpenStatus();
+                        });
                         return;
                     }
                     else
                     {
                         //淇濇寔鈥滃父寮�鎴愬姛鈥�
                         NormallyOpenModeValue(true);
-                        UpdateNomallyOpenStatus();
+                        Application.RunOnMainThread(() =>
+                        {
+                            UpdateNomallyOpenStatus();
+                        });
+
                         //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 
                         var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
-                        if (!resu)
-                        {
-                            string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
-                            this.ShowTipMsg(msg0);
-                            return;
-                        }
+                        //if (!resu)
+                        //{
+                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
+                        //    this.ShowTipMsg(msg0);
+                        //}
 
                         CommonPage.Loading.Hide();
                     }
@@ -1228,23 +1239,33 @@
                 {
                     //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥�
                     NormallyOpenModeValue(true);
-                    UpdateNomallyOpenStatus();
+                    Application.RunOnMainThread(() =>
+                    {
+                        UpdateNomallyOpenStatus();
+                    });
                 }
             };
+
             alert.ConfirmClickEvent += async () =>
             {
                 if (IsFromReport)
                 {
                     //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑�
                     NormallyOpenModeValue(false);
-                    UpdateNomallyOpenStatus();
-
-                    //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 
-                    var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
-                    if (resTemp == 3)
+                    Application.RunOnMainThread(() =>
                     {
-                        string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
-                        this.ShowTipMsg(msg0);
+                        UpdateNomallyOpenStatus();
+                    });
+
+                    //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
+                    if (HaveLogicNormallyOpenMode)
+                    {
+                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+                        //if (resTemp == 3)
+                        //{
+                        //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
+                        //    this.ShowTipMsg(msg0);
+                        //}
                     }
                 }
                 else
@@ -1271,22 +1292,65 @@
 
                         //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔�
                         NormallyOpenModeValue(false);
-                        UpdateNomallyOpenStatus();
-
-                        //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 
-                        var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
-                        if (resTemp == 3)
+                        Application.RunOnMainThread(() =>
                         {
-                            string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
-                            this.ShowTipMsg(msg0);
-                        }
-                        else if (resTemp == 2)
+                            UpdateNomallyOpenStatus();
+                        });
+                        //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫
+                        if (HaveLogicNormallyOpenMode)
                         {
-                            string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
-                            this.ShowTipMsg(msg2);
+                            var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+                            //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈�
+                            //if (resTemp == 3)
+                            //{
+                            //    string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
+                            //    this.ShowTipMsg(msg0);
+                            //}
+                            //else if (resTemp == 2)
+                            //{
+                            //    string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
+                            //    this.ShowTipMsg(msg2);
+                            //}
                         }
+                        string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
+                        this.ShowTipMsg(msg2);
                     }
                 }
+            };
+        }
+
+        /// <summary>
+        /// 宸茬粡寮�鍚父寮�妯″紡鎻愮ず
+        /// </summary>
+        public void AlreadyOpenNormallyMode()
+        {
+            //甯稿紑妯″紡寮�鍚彁绀�
+            string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn);
+            var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting);
+            var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting);
+            alertNomallyModeIsTurnOn.Show();
+            alertNomallyModeIsTurnOn.MsgControlClickEvent += async () =>
+            {
+                //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 
+                var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
+                //if (!res)
+                //{
+                //string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
+                // this.ShowTipMsg(msg0);
+                //return;
+                //}
+            };
+            //鐐瑰嚮鑷姩鍖�
+            alertNomallyModeIsTurnOn.LogicClickEvent += () =>
+            {
+                //閫昏緫璋冪敤鍓嶈寰楃Щ闄�
+                ZbGateway.StatusList.Remove(this);
+                //璋冪敤閫昏緫鐣岄潰
+                Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock);
+            };
+            alertNomallyModeIsTurnOn.InvalidClickEvent += async () =>
+            {
+                NomallyOpenModeInvalidTimeDialog();
             };
         }
 
@@ -1323,12 +1387,16 @@
                  var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                  if (!res)
                  {
+                     //榛樿鍒涘缓甯稿紑妯″紡澶辫触
                      string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
                      this.ShowTipMsg(msg0);
-                     return;
+
+                     //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀�
+                     NomallyOpenModeInvalidTimeDialog();
                  }
              };
         }
+
         /// <summary>
         /// 甯稿紑妯″紡鐘舵�佹洿鏂�
         /// </summary>

--
Gitblit v1.8.0