From 2e7e5f9af5b32cfe1fc3c6ba40bf7eb984bbd0a4 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 11 五月 2020 17:52:06 +0800
Subject: [PATCH] ???????

---
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs |  163 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 92 insertions(+), 71 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index c78f7f4..54e00a4 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -8,15 +8,15 @@
 {
     public class SoneLogicList : FrameLayout
     {
-
         public static SoneLogicList soneLogicList;
         public SoneLogicList()
         {
             Tag = "SoneLogic";
             soneLogicList = this;
+
         }
         /// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨�
-        public Action<bool> action;
+        public  Action<bool> action;
         ///绗簩鍧楃涓�绾х埗鎺т欢
         FrameLayout fLayout = new FrameLayout();
         ///甯稿紑妯″紡鍥炬爣
@@ -29,10 +29,17 @@
         FrameLayout listLogicFl = new FrameLayout();
         ///甯稿紑鑷姩鍖栧垪琛ㄤ笂涓嬫粦鍔ㄧ殑鎺т欢
         VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout();
-
+        /// <summary>
+        /// 璁板綍閫昏緫id
+        /// </summary>
+        public int logicId = 0;
+        /// <summary>
+        /// 璁板綍閫変腑鏃堕棿
+        /// </summary>
+        public int timeValue = 0;
         public async void Show()
         {
-
+           
             #region  鐣岄潰鐨勫竷灞�浠g爜
             UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
@@ -41,10 +48,6 @@
             view.clickBtn.MouseDownEventHandler += (sender, e) =>
             {
                 UserView.HomePage.Instance.ScrollEnabled = true;
-                if (updateThread != null && updateThread.IsAlive)
-                {
-                    updateThread.Abort();
-                }
                 //鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖
                 soneLogicList = null;
                 this.RemoveFromParent();
@@ -62,6 +65,23 @@
             };
             this.AddChidren(middle);
             #endregion
+            //鏄父寮�妯″紡鍐嶅幓璇诲彇
+            if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
+            {
+                //杩涙潵鏇存柊涓�娆�
+                //鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
+                var logic = await SkipView.GetLogicIfon();
+                if (logic != null)
+                {
+                    try
+                    {
+                        //杩涙潵鏇存柊涓�娆″��
+                        logicId = logic.LogicId;
+                        timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]);
+                    }
+                    catch { }
+                }
+            }
 
             #region  甯稿紑妯″紡鍥炬爣 鏃舵晥鎬у父寮�璁剧疆
             ///绗簩鍧楃涓�绾х埗鎺т欢
@@ -98,7 +118,6 @@
             modeFl.AddChidren(button2);
             ModeView();
             #endregion
-
             #region 甯稿紑鑷姩鍖�
             ///绗笁鍧楃涓�绾х埗鎺т欢
             listLogicFl = new FrameLayout
@@ -146,7 +165,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,18 +226,30 @@
             };
             Read(true);
             #endregion
+
+            UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = (_bool) =>
+            {
+
+                try
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool;
+                        ModeView();
+                    });
+                }
+                catch { }
+            };
+
         }
         /// <summary>
         /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
         /// </summary>
         public async void ModeView()
         {
-
+            
             if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
             {
-                /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
-                var logic = await SkipView.GetLogicIfon();
-
                 fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害 
                 modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//鏀瑰彉鍥炬爣鐘舵��
                 modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(64);
@@ -242,25 +273,36 @@
 
                 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 (logicId != 0)
+                            {
+                                ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
+                                Send.DelLogic(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)
+                if (logicId != 0)
                 {
                     ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
                     button2.Y = Application.GetRealHeight(127 + 69);
@@ -271,23 +313,12 @@
                     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"]);
-                    int dayInt = (h + timeInt) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
-                    int hour = (h + timeInt) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
+                    int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
+                    int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
                     int days = int.Parse(d) + dayInt;
                     string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
                     string text2 = Language.StringByID(MyInternationalizationString.yearSone);
@@ -296,7 +327,14 @@
                     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 +370,7 @@
                 button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png";
                 button2.TextSize = 15;
                 button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                button2.Text ="";
                 button2.MouseUpEventHandler = (sender, e) =>
                 {
 
@@ -340,6 +379,7 @@
                     {///鍐嶆纭
                         LogicView.TipView.ShowInputTip(true, async (str) =>
                         {///纭鍙戦�佸懡浠�
+                            CommonPage.Loading.Start();
                             try
                             {
                                 ///xm
@@ -354,7 +394,7 @@
                                     ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
                                     SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
                                     var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
-                                    if (!addResult)
+                                    if (addResult == 0)
                                     {
                                         ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
                                         UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
@@ -362,6 +402,8 @@
                                         LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
                                         return;
                                     }
+                                    logicId = addResult;
+                                    timeValue = int.Parse(str);
                                     Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
                                     ModeView();
                                     //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
@@ -371,6 +413,14 @@
                             catch
                             {
 
+                            }
+                            finally
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    CommonPage.Loading.Hide();
+
+                                });
                             }
                         });
 
@@ -528,10 +578,7 @@
                     TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
                 };
                 logicRow.AddRightView(edit);
-                if (logic.LogicType == 2)
-                {
-                    edit.TextID = MyInternationalizationString.look;
-                }
+               
                 ///鍒犻櫎
                 var del = new Button
                 {
@@ -597,32 +644,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