From 26cee91cc3332e09db5cadb9faf76612b1b0c081 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 11 五月 2020 11:22:34 +0800
Subject: [PATCH] 2020-05-11-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs |  121 ++++++++++++++++++++-------------------
 1 files changed, 62 insertions(+), 59 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index 0927e3a..54c93b3 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -3,12 +3,12 @@
 using Shared.Common;
 using Shared.R;
 using Shared;
+using Shared.Phone.UserCenter.DoorLock;
 
 namespace Shared.Phone.Device.Logic
 {
     public class SoneLogicList : FrameLayout
     {
-
         public static SoneLogicList soneLogicList;
         public SoneLogicList()
         {
@@ -16,7 +16,7 @@
             soneLogicList = this;
         }
         /// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨�
-        public Action<bool> action;
+        public  Action<bool> action;
         ///绗簩鍧楃涓�绾х埗鎺т欢
         FrameLayout fLayout = new FrameLayout();
         ///甯稿紑妯″紡鍥炬爣
@@ -29,10 +29,8 @@
         FrameLayout listLogicFl = new FrameLayout();
         ///甯稿紑鑷姩鍖栧垪琛ㄤ笂涓嬫粦鍔ㄧ殑鎺т欢
         VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout();
-
         public async void Show()
         {
-
             #region  鐣岄潰鐨勫竷灞�浠g爜
             UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
@@ -41,10 +39,6 @@
             view.clickBtn.MouseDownEventHandler += (sender, e) =>
             {
                 UserView.HomePage.Instance.ScrollEnabled = true;
-                if (updateThread != null && updateThread.IsAlive)
-                {
-                    updateThread.Abort();
-                }
                 //鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖
                 soneLogicList = null;
                 this.RemoveFromParent();
@@ -146,7 +140,7 @@
 
             var addIconclickBtn = new Button
             {
-                Width = Application.GetRealWidth(90+69+63),
+                Width = Application.GetRealWidth(90 + 69 + 63),
                 Height = Application.GetRealHeight(69),
                 X = Application.GetRealWidth(800),
                 Y = Application.GetRealHeight(60),
@@ -207,13 +201,28 @@
             };
             Read(true);
             #endregion
+
+            DoorLockCommonInfo.LogicAction = (_bool) =>
+            {
+
+                try
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool;
+                        ModeView();
+                    });
+                }
+                catch { }
+            };
+
         }
         /// <summary>
         /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
         /// </summary>
         public async void ModeView()
         {
-
+            
             if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
             {
                 /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
@@ -242,23 +251,35 @@
 
                 button1.MouseUpEventHandler = async (sender, e) =>
                 {
-                    var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
-                    if (result)
+                    CommonPage.Loading.Start();
+                    try
                     {
-                        if (logic != null)
+                        var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+                        if (result)
                         {
-                            ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
-                            ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
-                            Send.DelLogic(logic.LogicId);
+                            if (logic != null)
+                            {
+                                ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
+                                ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
+                                Send.DelLogic(logic.LogicId);
+                            }
+                            Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
+                            ModeView();
                         }
-                        Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
-                        ModeView();
+                        else
+                        {
+                            LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
+                        }
                     }
-                    else
+                    catch { }
+                    finally
                     {
-                        LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
-                    }
+                        Application.RunOnMainThread(() =>
+                        {
+                            CommonPage.Loading.Hide();
 
+                        });
+                    }
                 };
                 if (logic != null)
                 {
@@ -271,21 +292,11 @@
                     button2.TextSize = 15;
                     button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
                     ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
-                }
-                else
-                {
-                    button2.Width = Application.GetRealWidth(0);
-                    button2.Height = Application.GetRealHeight(0);
-                }
-                ///鏃舵晥鎬у父寮�鍙湁涓�涓潯浠�;
-                try
-                {
-
                     var y = DateTime.Now.Year.ToString();//閭d竴骞�
                     var m = DateTime.Now.Month.ToString();//閭d竴鏈�
                     var d = DateTime.Now.ToString("dd");//閭d竴澶�
                     var h = int.Parse(DateTime.Now.ToString("HH"));//褰撳墠绯荤粺鏃堕棿
-                    var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]);
+                    var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]); 
                     int dayInt = (h + timeInt) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
                     int hour = (h + timeInt) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
                     int days = int.Parse(d) + dayInt;
@@ -296,7 +307,13 @@
                     string text5 = Language.StringByID(MyInternationalizationString.executeSone);
                     button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
                 }
-                catch { }
+                else {
+                    button2.Y = Application.GetRealHeight(0);
+                    button2.X = Application.GetRealWidth(0);
+                    button2.Width = Application.GetRealWidth(0);
+                    button2.Height = Application.GetRealHeight(0);
+                }
+           
 
             }
             else
@@ -332,6 +349,7 @@
                 button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png";
                 button2.TextSize = 15;
                 button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                button2.Text ="";
                 button2.MouseUpEventHandler = (sender, e) =>
                 {
 
@@ -340,9 +358,11 @@
                     {///鍐嶆纭
                         LogicView.TipView.ShowInputTip(true, async (str) =>
                         {///纭鍙戦�佸懡浠�
+                            CommonPage.Loading.Start();
                             try
                             {
                                 ///xm
+
                                 var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
                                 if (!result)
                                 {
@@ -365,11 +385,20 @@
                                     Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
                                     ModeView();
 
+
                                 }
                             }
                             catch
                             {
 
+                            }
+                            finally
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    CommonPage.Loading.Hide();
+
+                                });
                             }
                         });
 
@@ -596,32 +625,6 @@
                 };
             }
         }
-
-        /// <summary>
-        /// 瀹氭椂鏇存柊甯稿紑妯″紡(闃叉閫氳繃闂ㄩ攣鍏抽棴娌″強鏃跺埛鏂扮姸鎬�)
-        /// </summary>
-        System.Threading.Thread updateThread;
-        public void UpdateModeIcon()
-        {
-            updateThread = new System.Threading.Thread(() =>
-            {
-                while (this.Parent != null)
-                {
-                    System.Threading.Thread.Sleep(1000);
-                    Application.RunOnMainThread(() =>
-                    {
-                        try
-                        {
-                            ModeView();
-                        }
-                        catch { }
-
-                    });
-                }
-            });
-            updateThread.Start();
-        }
-
 
     }
 }

--
Gitblit v1.8.0