From 2ebaff33420cabdf1c9c2937343185ae4b5ff985 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 08 五月 2020 17:37:27 +0800
Subject: [PATCH] 2020-05-08-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/LogicView/TipView.cs       |    1 
 ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs                |   25 --
 ZigbeeApp/GateWay.Droid/Assets/Language.ini                    |    2 
 ZigbeeApp/Home.Ios/Resources/Language.ini                      |    3 
 ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml                         |   29 +-
 ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs           |    2 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs |    1 
 ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide                   |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/Method.cs                  |   12 
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs           |  488 ++++++++++++++++++++++++++---------------------
 10 files changed, 297 insertions(+), 266 deletions(-)

diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
index ee6fd98..8b3b296 100644
--- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
+++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,19 +1,18 @@
 锘�<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
   <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.5c86e4357d63" />
   <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/R.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/SkipView.cs">
     <Files>
-      <File FileName="Shared/Phone/Category/SelectFloorForm.cs" Line="168" Column="1" IsPinned="True" />
-      <File FileName="Shared/Phone/Device/Logic/SkipView.cs" Line="21" Column="24" />
-      <File FileName="Shared/Phone/Device/Logic/LogicView/TipView.cs" Line="271" Column="15" />
-      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="148" Column="118" />
-      <File FileName="Shared/Phone/Device/Logic/AddLogicPage.cs" Line="22" Column="12" />
-      <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" Line="1055" Column="70" />
-      <File FileName="Shared/Phone/ZigBee/Device/DoorLock.cs" Line="1" Column="1" />
-      <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="41" Column="36" />
-      <File FileName="Shared/Phone/UserCenter/CommonBase/Controls/MessageControls/ShowMsgControl.cs" Line="100" Column="22" />
-      <File FileName="GateWay.Droid/Assets/Language.ini" Line="549" Column="1" />
-      <File FileName="Shared/R.cs" Line="127" Column="64" />
+      <File FileName="Shared/Phone/Category/SelectFloorForm.cs" Line="149" Column="1" IsPinned="True" />
+      <File FileName="Shared/Phone/Device/Logic/SkipView.cs" Line="24" Column="23" />
+      <File FileName="Shared/Phone/Device/Logic/LogicView/TipView.cs" Line="99" Column="61" />
+      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="24" Column="21" />
+      <File FileName="Shared/Phone/Device/Logic/AddLogicPage.cs" />
+      <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" Line="1066" Column="15" />
+      <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="1265" Column="28" />
+      <File FileName="Shared/Phone/Device/Logic/OneLogic.cs" Line="190" Column="43" />
+      <File FileName="Shared/Phone/Device/Logic/Method.cs" Line="658" Column="10" />
+      <File FileName="Shared/Phone/Category/CategoryMainForm.cs" Line="58" Column="13" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -32,12 +31,16 @@
                 <Node name="Device" expanded="True">
                   <Node name="Logic" expanded="True">
                     <Node name="LogicView" expanded="True" />
+                    <Node name="SkipView.cs" selected="True" />
                   </Node>
                 </Node>
                 <Node name="UserCenter" expanded="True">
                   <Node name="CommonBase" expanded="True">
                     <Node name="Common" expanded="True" />
                     <Node name="Controls" expanded="True">
+                      <Node name="BaseCommonControl" expanded="True">
+                        <Node name="Base" expanded="True" />
+                      </Node>
                       <Node name="MessageControls" expanded="True" />
                     </Node>
                   </Node>
@@ -45,10 +48,10 @@
                   <Node name="Residence" expanded="True" />
                 </Node>
                 <Node name="ZigBee" expanded="True">
+                  <Node name="Common" expanded="True" />
                   <Node name="Device" expanded="True" />
                 </Node>
               </Node>
-              <Node name="R.cs" selected="True" />
             </Node>
           </Node>
         </State>
diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
index 7a10306..19a1b7e 100644
--- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
+++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Language.ini b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
index ba78659..bce1a44 100755
--- a/ZigbeeApp/GateWay.Droid/Assets/Language.ini
+++ b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -550,7 +550,7 @@
 5400=寮�鍚け璐�
 5401=娣诲姞澶辫触
 5402=鏃舵晥鎬у父寮�璁剧疆
-5403=鏃舵墽琛�
+5403=鏃跺叧闂�
 
 10000=HDL Home
 10001=甯哥敤
diff --git a/ZigbeeApp/Home.Ios/Resources/Language.ini b/ZigbeeApp/Home.Ios/Resources/Language.ini
index d44edd2..cf4cddf 100755
--- a/ZigbeeApp/Home.Ios/Resources/Language.ini
+++ b/ZigbeeApp/Home.Ios/Resources/Language.ini
@@ -549,7 +549,8 @@
 5400=寮�鍚け璐�
 5401=娣诲姞澶辫触
 5402=鏃舵晥鎬у父寮�璁剧疆
-5403=鏃舵墽琛�
+5403=鏃跺叧闂�
+
 
 
 
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicView/TipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicView/TipView.cs
index 7e4fd7d..e45f7e8 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicView/TipView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicView/TipView.cs
@@ -412,7 +412,6 @@
                 dialog.Close();
             };
         }
-
         /// <summary>
         ///  闂敊鎻愮ず妗�
         /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
index cb77e0c..e4fff88 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
@@ -882,11 +882,13 @@
             else if (LogicView.IfString._SoneLogic == if_logic)
             {
                 //璺冲埌Sone闂ㄩ攣鑱斿姩浜嬩欢鍒楄〃鐣岄潰
-                UserView.HomePage.Instance.RemoveViewByTag("SoneLogic");//绉婚櫎鎵�鏈夋爣璁癓ockListView鐣岄潰
-                var soneLogicList = new SoneLogicList();
-                UserView.HomePage.Instance.AddChidren(soneLogicList);
-                UserView.HomePage.Instance.PageIndex += 1;
-                soneLogicList.Show();
+                //UserView.HomePage.Instance.RemoveViewByTag("SoneLogic");//绉婚櫎鎵�鏈夋爣璁癓ockListView鐣岄潰
+                //var soneLogicList = new SoneLogicList();
+                //UserView.HomePage.Instance.AddChidren(soneLogicList);
+                //UserView.HomePage.Instance.PageIndex += 1;
+                //soneLogicList.Show();
+
+                SoneLogicList.soneLogicList?.RefreshView();
             }
 
         }
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
index 6d11569..ef19807 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -20,31 +20,6 @@
             {
                 case 0:
                     {
-                        //  if (doorLock == null)
-                        //  {
-                        //      ///闃叉鎶涘紓甯�
-                        //      Send.CurrentDoorLock = new DoorLock();
-                        //  }
-                        //  ///澶囨敞锛歐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();
-                        //  };
-
-
                         //new涓�涓柊閫昏緫瀵硅薄锛�
                         //鏂板姝e父鑷姩鍖栧叆鍙�
                         Common.Logic.CurrentLogic = new Common.Logic();
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index 300871c..0927e3a 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -8,28 +8,46 @@
 {
     public class SoneLogicList : FrameLayout
     {
-        /// <summary>
-        /// 缁橲one闂ㄩ攣寰愭鏇存柊鐣岄潰鐢ㄧ殑
-        /// </summary>
-        ///
+
+        public static SoneLogicList soneLogicList;
         public SoneLogicList()
         {
             Tag = "SoneLogic";
+            soneLogicList = this;
         }
         /// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨�
         public Action<bool> action;
+        ///绗簩鍧楃涓�绾х埗鎺т欢
+        FrameLayout fLayout = new FrameLayout();
+        ///甯稿紑妯″紡鍥炬爣
+        Button modeIconBtn = new Button();
+        ///绗簩鍧楃浜岀骇鐖舵帶浠�
+        FrameLayout modeFl = new FrameLayout();
+        Button button1 = new Button();
+        Button button2= new Button();
+        ///绗笁鍧楃涓�绾х埗鎺т欢
+        FrameLayout listLogicFl = new FrameLayout();
+        ///甯稿紑鑷姩鍖栧垪琛ㄤ笂涓嬫粦鍔ㄧ殑鎺т欢
+        VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout();
+
         public async void Show()
         {
-         
+
             #region  鐣岄潰鐨勫竷灞�浠g爜
             UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
             this.AddChidren(view.TopRowView());
-            view.toptitleNameBtn.TextID = MyInternationalizationString.selection;
+            view.toptitleNameBtn.TextID = MyInternationalizationString.openmode;
             view.clickBtn.MouseDownEventHandler += (sender, e) =>
             {
                 UserView.HomePage.Instance.ScrollEnabled = true;
-                RemoveFromParent();
+                if (updateThread != null && updateThread.IsAlive)
+                {
+                    updateThread.Abort();
+                }
+                //鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖
+                soneLogicList = null;
+                this.RemoveFromParent();
                 if (action != null)
                 {
                     action(Send.CurrentDoorLock.IsDoorLockNormallyMode);
@@ -47,7 +65,7 @@
 
             #region  甯稿紑妯″紡鍥炬爣 鏃舵晥鎬у父寮�璁剧疆
             ///绗簩鍧楃涓�绾х埗鎺т欢
-            var fLayout = new FrameLayout
+            fLayout = new FrameLayout
             {
                 Width = Application.GetRealWidth(1080),
                 Height = Application.GetRealHeight(829 - 184),
@@ -55,7 +73,7 @@
             };
             middle.AddChidren(fLayout);
             ///甯稿紑妯″紡鍥炬爣
-            var modeIconBtn = new Button
+            modeIconBtn = new Button
             {
                 X = Application.GetRealWidth(395),
                 Y = Application.GetRealHeight(92),
@@ -63,204 +81,27 @@
                 Height = Application.GetMinRealAverage(294),
             };
             fLayout.AddChidren(modeIconBtn);
-
-            if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
+            ///绗簩鍧楃浜岀骇鐖舵帶浠�
+            modeFl = new FrameLayout
             {
-                /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
-                var logic = await SkipView.GetLogicIfon();
+            };
+            fLayout.AddChidren(modeFl);
 
-                fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害
-                modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//鏀瑰彉鍥炬爣鐘舵��
-                ///绗簩绾х埗鎺т欢
-                var openModeFl = new FrameLayout
-                {
-                    Y = Application.GetRealHeight(455),
-                    Height = Application.GetRealHeight(127 + 199),
-                    Width = Application.GetRealWidth(1080),
-                };
-                fLayout.AddChidren(openModeFl);
-                ///鍏抽棴鏃舵晥鎬ц嚜鍔ㄥ寲
-                Button closeBtn = new Button
-                {
-                    X = Application.GetRealWidth(86),
-                    Height = Application.GetRealHeight(127),
-                    Width = Application.GetRealWidth(907),
-                    Radius = (uint)Application.GetRealHeight(58),
-                    BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
-                    TextID = MyInternationalizationString.closeUp,
-                    TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
-                    TextSize = 16,
-                };
-                openModeFl.AddChidren(closeBtn);
-                closeBtn.MouseUpEventHandler += async (sender, e) =>
-                {
-                    var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
-                    if (result)
-                    {
-                        if (logic != null)
-                        {
-                            ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
-                            ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
-                            Send.DelLogic(logic.LogicId);
-                        }
-                        Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
-                        this.RemoveFromParent();
-                        var soneLogicList = new SoneLogicList();
-                        UserView.HomePage.Instance.AddChidren(soneLogicList);
-                        UserView.HomePage.Instance.PageIndex += 1;
-                        soneLogicList.Show();
-                        soneLogicList.action = action;
-                    }
-                    else
-                    {
-                        LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
-                    }
-
-                };
-
-                ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
-                var timeTextBtn = new Button
-                {
-                    Y = Application.GetRealHeight(127 + 69),
-                    X = Application.GetRealWidth(125),
-                    Width = Application.GetRealWidth(634+200),
-                    Height = Application.GetRealHeight(60),
-                    TextSize = 15,
-                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
-                };
-                if (logic != null)
-                {
-                    ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
-                    openModeFl.AddChidren(timeTextBtn);
-                }
-                ///鏃舵晥鎬у父寮�鍙湁涓�涓潯浠�;
-                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 days = int.Parse(d) + dayInt;
-                    string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
-                    string text2= Language.StringByID(MyInternationalizationString.yearSone);
-                    string text3 = Language.StringByID(MyInternationalizationString.monthSone);
-                    string text4= Language.StringByID(MyInternationalizationString.numberSone);
-                    string text5= Language.StringByID(MyInternationalizationString.executeSone);
-                    timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
-                }
-                catch { }
-
-            }
-            else
+            button1 = new Button
             {
-                fLayout.Height = Application.GetRealHeight(645);//鏀瑰彉楂樺害
-                modeIconBtn.UnSelectedImagePath = "ZigeeLogic/noMode.png";//鏀瑰彉鍥炬爣鐘舵��
-                ///绗簩绾х埗鎺т欢
-                var modeFl = new FrameLayout
-                {
-                    Y = Application.GetRealHeight(478),
-                    X = Application.GetRealWidth(58),
-                    Height = Application.GetRealHeight(138),
-                    Width = Application.GetRealWidth(1022),
-                    BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
-                };
-                fLayout.AddChidren(modeFl);
-                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopLeft);
-                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
-                ///鏃舵晥鎬у父寮�璁剧疆鏄剧ず鏂囨湰鎺т欢
-                var modeTextBtn = new Button
-                {
+            };
+            modeFl.AddChidren(button1);
 
-                    Y = Application.GetRealHeight(40),
-                    X = Application.GetRealWidth(58),
-                    Width = Application.GetRealWidth(600),
-                    Height = Application.GetRealHeight(60),
-                    TextSize = 15,
-                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
-                    TextAlignment = TextAlignment.CenterLeft,
-                    // Text = "鏃舵晥鎬у父寮�璁剧疆",
-                    TextID = MyInternationalizationString.timeSetSone,
-                };
-                modeFl.AddChidren(modeTextBtn);
-                ///涓嬩竴绾ц彍鍗曞浘鏍囨帶浠�
-                var nextIconBtn = new Button
-                {
-                    Width = Application.GetMinRealAverage(104),
-                    Height = Application.GetMinRealAverage(104),
-                    X = Application.GetRealWidth(861),
-                    Y = Application.GetRealHeight(17),
-                    UnSelectedImagePath = "ZigeeLogic/nextIconSone.png",
-                };
-                modeFl.AddChidren(nextIconBtn);
-
-
-
-                nextIconBtn.MouseUpEventHandler += (sender, e) =>
-                 {
-
-                     LogicView.TipView.ShowConfrimTip(() =>
-
-                     {///鍐嶆纭
-                       LogicView.TipView.ShowInputTip(true, async (str) =>
-                         {///纭鍙戦�佸懡浠�
-                           try
-                             {
-                               ///xm
-                               var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
-                                 if (!result)
-                                 {
-                                     LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed));
-                                     return;
-                                 }
-                                 else
-                                 {
-                                   ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
-                                   SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
-                                   var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
-                                   if (!addResult)
-                                     {
-                                         ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
-                                         UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
-                                         ///鎻愮ず澶辫触
-                                         LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
-                                         return;
-                                     }
-                                     Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
-                                     this.RemoveFromParent();
-                                     var soneLogicList = new SoneLogicList();
-                                     UserView.HomePage.Instance.AddChidren(soneLogicList);
-                                     UserView.HomePage.Instance.PageIndex += 1;
-                                     soneLogicList.Show();
-                                      soneLogicList.action= action;
-                                     //soneLogicList.action += (c) => {
-                                     //    if (action != null)
-                                     //    {
-                                     //        action(Send.CurrentDoorLock.IsDoorLockNormallyMode);
-                                     //    }
-                                     //};
-
-                                 }
-                             }
-                             catch
-                             {
-
-                             }
-                         });
-
-                     });
-
-                 };
-            }
-
+            button2 = new Button
+            {
+            };
+            modeFl.AddChidren(button2);
+            ModeView();
             #endregion
 
             #region 甯稿紑鑷姩鍖�
             ///绗笁鍧楃涓�绾х埗鎺т欢
-            var listLogicFl = new FrameLayout
+            listLogicFl = new FrameLayout
             {
                 Y = fLayout.Bottom,
                 X = Application.GetRealWidth(58),
@@ -302,7 +143,16 @@
                 UnSelectedImagePath = "ZigeeLogic/add.png",
             };
             addLogicfL.AddChidren(addIconBtn);
-            addIconBtn.MouseUpEventHandler += (sender, e) =>
+
+            var addIconclickBtn = new Button
+            {
+                Width = Application.GetRealWidth(90+69+63),
+                Height = Application.GetRealHeight(69),
+                X = Application.GetRealWidth(800),
+                Y = Application.GetRealHeight(60),
+            };
+            addLogicfL.AddChidren(addIconclickBtn);
+            addIconclickBtn.MouseUpEventHandler += (sender, e) =>
             {
 
                 //璇诲彇绯荤粺褰撳墠鏃堕棿锛氭椂-鍒�
@@ -340,7 +190,7 @@
             };
 
             ///甯稿紑鑷姩鍖栧垪琛ㄤ笂涓嬫粦鍔ㄧ殑鎺т欢
-            var verticalRefresh = new VerticalRefreshLayout
+            verticalRefresh = new VerticalRefreshLayout
             {
 
                 Y = addLogicfL.Bottom,
@@ -352,17 +202,193 @@
             verticalRefresh.BeginHeaderRefreshingAction += () =>
             {
                 Common.Logic.SoneLogicList.Clear();
-                Read(verticalRefresh, false);
+                Read(false);
                 verticalRefresh.EndHeaderRefreshing();
             };
-            Read(verticalRefresh, true);
+            Read(true);
             #endregion
+        }
+        /// <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);
+                modeFl.X = Application.GetRealWidth(0);
+                modeFl.Height = Application.GetRealHeight(127 + 199);
+                modeFl.Width = Application.GetRealHeight(1080);
+                modeFl.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
+                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(0), HDLUtils.RectCornerBottomLeft);
+
+                ///鍏抽棴鏃舵晥鎬ц嚜鍔ㄥ寲
+                button1.Y = Application.GetRealHeight(0);
+                button1.X = Application.GetRealWidth(86);
+                button1.Width = Application.GetRealWidth(907);
+                button1.Height = Application.GetRealHeight(127);
+                button1.Radius = (uint)Application.GetRealHeight(58);
+                button1.BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor;
+                button1.TextAlignment = TextAlignment.Center;
+                button1.TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor;
+                button1.TextID = MyInternationalizationString.closeUp;
+                button1.TextSize = 16;
+
+                button1.MouseUpEventHandler = async (sender, e) =>
+                {
+                    var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+                    if (result)
+                    {
+                        if (logic != null)
+                        {
+                            ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
+                            ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
+                            Send.DelLogic(logic.LogicId);
+                        }
+                        Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
+                        ModeView();
+                    }
+                    else
+                    {
+                        LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
+                    }
+
+                };
+                if (logic != null)
+                {
+                    ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
+                    button2.Y = Application.GetRealHeight(127 + 69);
+                    button2.X = Application.GetRealWidth(125);
+                    button2.Width = Application.GetRealWidth(634 + 200);
+                    button2.Height = Application.GetRealHeight(60);
+                    button2.UnSelectedImagePath = "ZigeeLogic/1234.png";
+                    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 days = int.Parse(d) + dayInt;
+                    string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
+                    string text2 = Language.StringByID(MyInternationalizationString.yearSone);
+                    string text3 = Language.StringByID(MyInternationalizationString.monthSone);
+                    string text4 = Language.StringByID(MyInternationalizationString.numberSone);
+                    string text5 = Language.StringByID(MyInternationalizationString.executeSone);
+                    button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
+                }
+                catch { }
+
+            }
+            else
+            {
+                fLayout.Height = Application.GetRealHeight(645);//鏀瑰彉楂樺害
+                modeIconBtn.UnSelectedImagePath = "ZigeeLogic/noMode.png";//鏀瑰彉鍥炬爣鐘舵��
+                modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(92);
+                modeFl.X = Application.GetRealWidth(58);
+                modeFl.Height = Application.GetRealHeight(138);
+                modeFl.Width = Application.GetRealHeight(1022);
+                modeFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
+                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
+
+                ///鏃舵晥鎬у父寮�璁剧疆鏄剧ず鏂囨湰鎺т欢
+                button1.Y = Application.GetRealHeight(40);
+                button1.X = Application.GetRealWidth(58);
+                button1.Width = Application.GetRealWidth(600);
+                button1.Height = Application.GetRealHeight(60);
+                button1.Radius = (uint)Application.GetRealHeight(0);
+                button1.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
+                button1.TextAlignment = TextAlignment.CenterLeft;
+                button1.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                // Text = "鏃舵晥鎬у父寮�璁剧疆",
+                button1.TextID = MyInternationalizationString.timeSetSone;
+                button1.TextSize = 15;
+
+
+                ///涓嬩竴绾ц彍鍗曞浘鏍囨帶浠�
+                button2.Width = Application.GetMinRealAverage(104);
+                button2.Height = Application.GetMinRealAverage(104);
+                button2.X = Application.GetRealWidth(861);
+                button2.Y = Application.GetRealHeight(17);
+                button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png";
+                button2.TextSize = 15;
+                button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                button2.MouseUpEventHandler = (sender, e) =>
+                {
+
+                    LogicView.TipView.ShowConfrimTip(() =>
+
+                    {///鍐嶆纭
+                        LogicView.TipView.ShowInputTip(true, async (str) =>
+                        {///纭鍙戦�佸懡浠�
+                            try
+                            {
+                                ///xm
+                                var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
+                                if (!result)
+                                {
+                                    LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed));
+                                    return;
+                                }
+                                else
+                                {
+                                    ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
+                                    SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
+                                    var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
+                                    if (!addResult)
+                                    {
+                                        ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
+                                        UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+                                        ///鎻愮ず澶辫触
+                                        LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
+                                        return;
+                                    }
+                                    Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
+                                    ModeView();
+
+                                }
+                            }
+                            catch
+                            {
+
+                            }
+                        });
+
+                    });
+
+                };
+            }
+
+            listLogicFl.Y = fLayout.Bottom;
+            listLogicFl.X = Application.GetRealWidth(58);
+            listLogicFl.Height = Application.GetRealHeight(Method.H - 184) - fLayout.Height;
+            listLogicFl.Width = Application.GetRealWidth(1022);
+            listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
         }
         /// <summary>
         /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱
         /// </summary>
-        /// <param name="verticalRefresh"></param>
-        private async void Read(VerticalRefreshLayout verticalRefresh, bool yes)
+        /// <param name="yes"></param>
+        private async void Read( bool yes)
         {
             if (yes)
             {
@@ -393,32 +419,31 @@
                 var dd = e.Message;
             }
             //鑷姩鍖�
-            RefreshView(verticalRefresh);
+            RefreshView();
             if (yes)
             {
                 CommonPage.Loading.Hide();
 
             }
         }
+      
+        RowLayout selectedRow = new RowLayout() { Tag = "0" };//璁板綍宸︽粦鐘舵��
+        int a = 1;
         /// <summary>
         /// 鍔犺浇鑷姩鍖栧垪琛�
         /// </summary>
-        /// <param name="verticalRefresh"></param>
-        RowLayout selectedRow = new RowLayout() { Tag = "0" };//璁板綍宸︽粦鐘舵��
-        int a = 1;
-        private void RefreshView(VerticalRefreshLayout verticalRefresh)
+        public void RefreshView()
         {
             verticalRefresh.RemoveAll();
             foreach (var logic in Common.Logic.SoneLogicList)
             {
                 #region  鑷姩鍖栧竷灞�View
-
                 ///鑷姩鍖栫埗鎺т欢
-                var fLayout = new FrameLayout
+                var fLayoutLogic = new FrameLayout
                 {
                     Height = Application.GetRealHeight(184),
                 };
-                verticalRefresh.AddChidren(fLayout);
+                verticalRefresh.AddChidren(fLayoutLogic);
                 ///宸﹀彸鍙粦鍔ㄦ帶浠�
                 var logicRow = new RowLayout
                 {
@@ -427,7 +452,7 @@
                     SubViewWidth = Application.GetRealWidth(184),//鏀瑰彉缂栬緫鎺т欢瀹藉害澶氬皯锛�
                     Tag = a.ToString(),
                 };
-                fLayout.AddChidren(logicRow);
+                fLayoutLogic.AddChidren(logicRow);
                 //宸︽粦鑿滃崟浜嬩欢
                 logicRow.OpenMenuAction += () =>
                 {
@@ -517,12 +542,12 @@
                 ///绾跨殑鎺т欢
                 var line = new Button
                 {
-                    Y = fLayout.Height - 1,
+                    Y = fLayoutLogic.Height - 1,
                     Height = 1,
                     Width = Application.GetRealWidth(976),
                     BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                 };
-                fLayout.AddChidren(line);
+                fLayoutLogic.AddChidren(line);
                 #endregion
                 ///寮�鍏崇偣鍑讳簨浠�
                 switchBtn.MouseUpEventHandler += (sender1, e1) =>
@@ -564,14 +589,39 @@
                     {
                         Common.Logic.SoneLogicList.Remove(logic);
                         //logicRow.Parent.RemoveFromParent();
-                        fLayout.RemoveFromParent();
+                        fLayoutLogic.RemoveFromParent();
                         Send.DelLogic(logic.LogicId);
                     };
 
                 };
             }
-
-
         }
+
+        /// <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();
+        }
+
+
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 6830a1d..be90ed2 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -1056,6 +1056,7 @@
                 UserView.HomePage.Instance.AddChidren(addLogicPage);
                 UserView.HomePage.Instance.PageIndex += 1;
                 addLogicPage.Show();
+                addLogicPage.UpdateModeIcon();
                 addLogicPage.action += (w) =>
                 {
                     doorLock.IsDoorLockNormallyMode = w;
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
old mode 100755
new mode 100644
index f2e05ad..6bf0337
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
@@ -323,7 +323,7 @@
         /// <summary>
         /// MAC鍦板潃
         /// </summary>
-        public string DeviceAddr;
+        public string DeviceAddr="123456";
 
         /// <summary>
         /// 璁惧绔彛鍙�

--
Gitblit v1.8.0