From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 31 十二月 2020 17:01:18 +0800
Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs | 1452 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 881 insertions(+), 571 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
old mode 100755
new mode 100644
index 1c10f51..24466ea
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
@@ -5,633 +5,943 @@
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class DoorLockCommonLayout : EditorCommonForm
+  public class DoorLockCommonLayout : EditorCommonForm
+  {
+    /// <summary>
+    /// 鏋勯�犲嚱鏁�
+    /// </summary>
+    public DoorLockCommonLayout()
     {
-        /// <summary>
-        /// 鏋勯�犲嚱鏁�
-        /// </summary>
-        public DoorLockCommonLayout()
+    }
+    #region 鍙橀噺鐢虫槑
+    public new FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
+    public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1925 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
+    /// <summary>
+    /// 閫変腑鐨勫紑閿佹柟寮忓洖璋�
+    /// </summary>
+    public Action<string> ChooseUnlockMethodAction = null;
+    /// <summary>
+    /// 閫変腑鐨勫紑閿佹柟寮忓洖璋�
+    /// </summary>
+    public Action<int> UndateUnlockMethodAction = null;
+    #region 搴曢儴鏈夊渾瑙掑竷灞�
+    /// 鑳屾櫙闃村奖鐣岄潰
+    /// </summary>
+    public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 };
+    /// <summary>
+    /// 璁剧疆鍦嗚鐨勭晫闈�
+    /// </summary>
+    public FrameLayout bottomRadiusFrameLayout = new FrameLayout()
+    {
+      Height = Application.GetRealHeight(806),
+      Y = Application.GetRealHeight(930),
+      BackgroundColor = ZigbeeColor.Current.XMWhite,
+    };
+    /// <summary>
+    /// 搴曢儴鍦嗚涓殑鍙栨秷鎸夐挳
+    /// </summary>
+    public Button btnCancel = new Button
+    {
+      X = Application.GetRealWidth(81),
+      Y = Application.GetRealHeight(40),
+      Height = Application.GetRealHeight(58),
+      Width = Application.GetRealWidth(101),
+      Text = Language.StringByID(R.MyInternationalizationString.Cancel),
+      TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+      TextSize = 14,
+    };
+    /// <summary>
+    /// 搴曢儴鍦嗚涓殑鏍囬鏍�
+    /// </summary>
+    public Button btnBottomTitle = new Button
+    {
+      X = Application.GetRealWidth(446 - 50),
+      Y = Application.GetRealHeight(35),
+      Height = Application.GetRealHeight(63),
+      Width = Application.GetRealWidth(284),
+      Text = Language.StringByID(R.MyInternationalizationString.MatchPerson),
+      TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+      TextSize = 16,
+    };
+    /// <summary>
+    /// 搴曢儴鍦嗚涓殑纭鎸夐挳
+    /// </summary>
+    public Button btnFinish = new Button
+    {
+      X = Application.GetRealWidth(919),
+      Y = Application.GetRealHeight(40),
+      Height = Application.GetRealHeight(58),
+      Width = Application.GetRealWidth(101),
+      Text = Language.StringByID(R.MyInternationalizationString.Complete),
+      TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
+      TextSize = 14,
+    };
+    /// <summary>
+    /// 搴曢儴鍦嗚涓殑鏍囬鏍忎笅鐨勭嚎鏉�
+    /// </summary>
+    public Button line = new Button()
+    {
+      Y = Application.GetRealHeight(138),
+      Height = 1,
+      BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+    };
+
+    #endregion
+
+    /// <summary>
+    /// 鏍囬鏍忓竷灞�
+    /// </summary>
+    public FrameLayout titleFrameLayout = new FrameLayout
+    {
+      Y = Application.GetRealHeight(92),
+      X = Application.GetRealWidth(58 * 2),
+      Width = Application.GetRealWidth(1080 - 116),
+      Height = Application.GetRealHeight(69),
+    };
+
+    /// <summary>
+    /// 鏍囬杩斿洖甯冨眬
+    /// </summary>
+    public FrameLayout btnBackFrameLayout = new FrameLayout
+    {
+      Width = Application.GetRealWidth(58 * 2),
+    };
+
+    /// <summary>
+    /// 鏍囬杩斿洖鎸夐敭
+    /// </summary>
+    public Button btnBack = new Button
+    {
+      Height = Application.GetRealHeight(51),
+      Width = Application.GetRealWidth(30),
+      X = Application.GetRealWidth(58),
+      Y = Application.GetRealHeight(98),
+      UnSelectedImagePath = "DoorLock/Left.png",
+    };
+
+    /// <summary>
+    /// 鏍囬涓嬬嚎
+    /// </summary>
+    public Button btnTitleLine = new Button
+    {
+      Y = Application.GetRealHeight(181),
+      Height = 1,
+      BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine,
+    };
+
+    /// <summary>
+    /// 寮圭獥鍙栨秷鎸夐敭
+    /// </summary>
+    public Button dialogBtnCancel = new Button
+    {
+      Width = Application.GetRealWidth(397),
+      Height = Application.GetRealHeight(127),
+      Y = Application.GetRealHeight(380),
+      TextID = R.MyInternationalizationString.Cancel,
+      TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+      BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout,
+    };
+    #endregion
+
+    /// <summary>
+    /// 闂ㄩ攣椤堕儴甯冨眬
+    /// </summary>
+    /// <param name="frameLayout"></param>
+    public void TopFrameLayout(FrameLayout frameLayout, string titleText)
+    {
+      this.AddChidren(topFrameLayout);
+      topFrameLayout.AddChidren(btnBackFrameLayout);
+      topFrameLayout.AddChidren(titleFrameLayout);
+      topFrameLayout.AddChidren(btnTitleLine);
+
+      var title = new Button()
+      {
+        TextAlignment = TextAlignment.CenterLeft,
+        Text = titleText,
+        TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
+        Width = Application.GetRealWidth(1080 - 161),
+        Height = Application.GetRealWidth(69),
+        TextSize = 17,
+        IsBold = true,
+        X = Application.GetRealWidth(161 - 116),
+      };
+      titleFrameLayout.AddChidren(title);
+      btnBackFrameLayout.AddChidren(btnBack);
+    }
+    /// <summary>
+    /// 闂ㄩ攣涓儴甯冨眬
+    /// </summary>
+    /// <param name="frameLayout"></param>
+    public void MidFrameLayout(FrameLayout frameLayout)
+    {
+      midFrameLayout.Y = topFrameLayout.Bottom;
+      this.AddChidren(midFrameLayout);
+    }
+
+    /// <summary>
+    /// 闂ㄩ攣搴曢儴甯冨眬
+    /// </summary>
+    /// <param name="frameLayout"></param>
+    public void BottomFrameLayout(FrameLayout frameLayout)
+    {
+      var bottomFrameLayout1 = new FrameLayout()
+      {
+        Height = Application.GetRealHeight(806 - 50),
+        Y = Application.GetRealHeight(930 + 48),
+        BackgroundColor = ZigbeeColor.Current.XMWhite,
+      };
+      this.midFrameLayout.AddChidren(bottomFrameLayout1);
+    }
+
+    /// <summary>
+    /// 闂ㄩ攣搴曢儴甯﹀渾瑙掑竷灞�
+    /// </summary>
+    /// <param name="frameLayout"></param>
+    public void BottomRadiusFrameLayout(FrameLayout frameLayout)
+    {
+      this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout);
+      this.bottomRadiusFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+      this.bottomRadiusFrameLayout.AddChidren(btnCancel);
+      this.bottomRadiusFrameLayout.AddChidren(btnBottomTitle);
+      this.bottomRadiusFrameLayout.AddChidren(btnFinish);
+      this.bottomRadiusFrameLayout.AddChidren(line);
+    }
+
+    /// <summary>
+    /// 杩滅▼鎺у埗鏉冮檺澶勭悊
+    /// </summary>
+    /// <param name="btnNext"></param>
+    public void RemotePasswordDialog(ZigBee.Device.DoorLock doorLock, Button btnNext = null)
+    {
+      var dialog = new Dialog { };
+      var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.BindDoorLock));
+      doorDialog.Show();
+
+      doorDialog.dialogMidFraFrameLayout.Width = Application.GetRealWidth(677);
+      doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(69);
+      doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(58);
+      doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(213);
+      doorDialog.dialogMidFraFrameLayout.BackgroundColor = BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBorder;
+
+      var editInputPasswordFrameLayout = new FrameLayout()
+      {
+        Width = Application.GetRealWidth(677) - 2,
+        Height = Application.GetRealHeight(69) - 2,
+        X = 1,
+        Y = 1,
+        BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+      };
+      doorDialog.dialogMidFraFrameLayout.AddChidren(editInputPasswordFrameLayout);
+
+      var editInputPassword = new EditText()
+      {
+        X = Application.GetRealHeight(15),
+        TextSize = 13,
+        PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray4,
+        PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputUnlockPasswrd),
+        TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+        TextAlignment = TextAlignment.CenterLeft,
+        IsNumberKeyboardType = true,
+      };
+      editInputPasswordFrameLayout.AddChidren(editInputPassword);
+
+      doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
+      {
+        if (btnNext != null)
         {
+          btnNext.IsSelected = false;
         }
-        #region 鍙橀噺鐢虫槑
-        public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
-        public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1925 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
-        #region 搴曢儴鏈夊渾瑙掑竷灞�
-        /// 鑳屾櫙闃村奖鐣岄潰
-        /// </summary>
-        public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 };
-        /// <summary>
-        /// 璁剧疆鍦嗚鐨勭晫闈�
-        /// </summary>
-        public FrameLayout bottomRadiusFrameLayout = new FrameLayout()
+        dialog.Close();
+      };
+      DateTime oldTime = DateTime.MaxValue;
+      doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) =>
+      {
+        Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
+        if (DateTime.Now < ZigBee.Device.DoorLock.minValue)
         {
-            Height = Application.GetRealHeight(806),
-            Y = Application.GetRealHeight(930),
-            BackgroundColor = ZigbeeColor.Current.XMWhite,
-        };
-        /// <summary>
-        /// 搴曢儴鍦嗚涓殑鍙栨秷鎸夐挳
-        /// </summary>
-        public Button btnCancel = new Button
-        {
-            X = Application.GetRealWidth(81),
-            Y = Application.GetRealHeight(40),
-            Height = Application.GetRealHeight(58),
-            Width = Application.GetRealWidth(101),
-            Text = Language.StringByID(R.MyInternationalizationString.Cancel),
-            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-            TextSize = 14,
-        };
-        /// <summary>
-        /// 搴曢儴鍦嗚涓殑鏍囬鏍�
-        /// </summary>
-        public Button btnBottomTitle = new Button
-        {
-            X = Application.GetRealWidth(446 - 50),
-            Y = Application.GetRealHeight(35),
-            Height = Application.GetRealHeight(63),
-            Width = Application.GetRealWidth(284),
-            Text = Language.StringByID(R.MyInternationalizationString.MatchPerson),
-            TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-            TextSize = 16,
-        };
-        /// <summary>
-        /// 搴曢儴鍦嗚涓殑纭鎸夐挳
-        /// </summary>
-        public Button btnFinish = new Button
-        {
-            X = Application.GetRealWidth(919),
-            Y = Application.GetRealHeight(40),
-            Height = Application.GetRealHeight(58),
-            Width = Application.GetRealWidth(101),
-            Text = Language.StringByID(R.MyInternationalizationString.Complete),
-            TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
-            TextSize = 14,
-        };
-        /// <summary>
-        /// 搴曢儴鍦嗚涓殑鏍囬鏍忎笅鐨勭嚎鏉�
-        /// </summary>
-        public Button line = new Button()
-        {
-            Y = Application.GetRealHeight(138),
-            Height = 1,
-            BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
-        };
-
-        #endregion
-
-        /// <summary>
-        /// 鏍囬鏍忓竷灞�
-        /// </summary>
-        public FrameLayout titleFrameLayout = new FrameLayout
-        {
-            Y = Application.GetRealHeight(92),
-            X = Application.GetRealWidth(58 * 2),
-            Width = Application.GetRealWidth(1080 - 116),
-            Height = Application.GetRealHeight(69),
-        };
-
-        /// <summary>
-        /// 鏍囬杩斿洖甯冨眬
-        /// </summary>
-        public FrameLayout btnBackFrameLayout = new FrameLayout
-        {
-            Width = Application.GetRealWidth(58 * 2),
-        };
-
-        /// <summary>
-        /// 鏍囬杩斿洖鎸夐敭
-        /// </summary>
-        public Button btnBack = new Button
-        {
-            Height = Application.GetRealHeight(51),
-            Width = Application.GetRealWidth(30),
-            X = Application.GetRealWidth(58),
-            Y = Application.GetRealHeight(98),
-            UnSelectedImagePath = "DoorLock/Left.png",
-        };
-
-        /// <summary>
-        /// 鏍囬涓嬬嚎
-        /// </summary>
-        public Button btnTitleLine = new Button
-        {
-            Y = Application.GetRealHeight(181),
-            Height = 1,
-            BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine,
-        };
-
-        /// <summary>
-        /// 寮圭獥鍙栨秷鎸夐敭
-        /// </summary>
-        public Button dialogBtnCancel = new Button
-        {
-            Width = Application.GetRealWidth(397),
-            Height = Application.GetRealHeight(127),
-            Y = Application.GetRealHeight(380),
-            TextID = R.MyInternationalizationString.Cancel,
-            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-            BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout,
-        };
-        #endregion
-
-        /// <summary>
-        /// 闂ㄩ攣椤堕儴甯冨眬
-        /// </summary>
-        /// <param name="frameLayout"></param>
-        public void TopFrameLayout(FrameLayout frameLayout, string titleText)
-        {
-            this.AddChidren(topFrameLayout);
-            topFrameLayout.AddChidren(btnBackFrameLayout);
-            topFrameLayout.AddChidren(titleFrameLayout);
-            topFrameLayout.AddChidren(btnTitleLine);
-
-            var title = new Button()
-            {
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = titleText,
-                TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
-                Width = Application.GetRealWidth(1080 - 161),
-                Height = Application.GetRealWidth(69),
-                TextSize = 17,
-                IsBold = true,
-                X = Application.GetRealWidth(161 - 116),
-            };
-            titleFrameLayout.AddChidren(title);
-            btnBackFrameLayout.AddChidren(btnBack);
-        }
-        /// <summary>
-        /// 闂ㄩ攣涓儴甯冨眬
-        /// </summary>
-        /// <param name="frameLayout"></param>
-        public void MidFrameLayout(FrameLayout frameLayout)
-        {
-            midFrameLayout.Y = topFrameLayout.Bottom;
-            this.AddChidren(midFrameLayout);
+          CommonPage.Loading.Hide();
+          this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoFiftySeconds));
+          return;
         }
 
-        /// <summary>
-        /// 闂ㄩ攣搴曢儴甯冨眬
-        /// </summary>
-        /// <param name="frameLayout"></param>
-        public void BottomFrameLayout(FrameLayout frameLayout)
+        if (DateTime.Now >= oldTime && ZigBee.Device.DoorLock.RemoteUnlockCount == 0)
         {
-            var bottomFrameLayout1 = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(806 - 50),
-                Y = Application.GetRealHeight(930 + 48),
-                BackgroundColor = ZigbeeColor.Current.XMWhite,
-            };
-            this.midFrameLayout.AddChidren(bottomFrameLayout1);
+          ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
+          oldTime = DateTime.MaxValue;
         }
 
-        /// <summary>
-        /// 闂ㄩ攣搴曢儴甯﹀渾瑙掑竷灞�
-        /// </summary>
-        /// <param name="frameLayout"></param>
-        public void BottomRadiusFrameLayout(FrameLayout frameLayout)
+        if (ZigBee.Device.DoorLock.RemoteUnlockCount <= 0)
         {
-            this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout);
-            this.bottomRadiusFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
-            this.bottomRadiusFrameLayout.AddChidren(btnCancel);
-            this.bottomRadiusFrameLayout.AddChidren(btnBottomTitle);
-            this.bottomRadiusFrameLayout.AddChidren(btnFinish);
-            this.bottomRadiusFrameLayout.AddChidren(line);
+          ZigBee.Device.DoorLock.minValue = DateTime.Now.AddSeconds(+15);
+          oldTime = ZigBee.Device.DoorLock.minValue;
+          CommonPage.Loading.Hide();
+          this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds));
+          return;
         }
 
-        /// <summary>
-        /// 杩滅▼鎺у埗鏉冮檺澶勭悊
-        /// </summary>
-        /// <param name="btnNext"></param>
-        public void RemotePasswordDialog(ZigBee.Device.DoorLock doorLock, Button btnNext = null)
+        if (editInputPassword.Text.Length != 6)
         {
-            var dialog = new Dialog { };
-            var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.BindDoorLock));
-            doorDialog.Show();
-            doorDialog.dialogMidFraFrameLayout.Width = Application.GetRealWidth(677);
-            doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(69);
-            doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(58);
-            doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(213);
-            doorDialog.dialogMidFraFrameLayout.BackgroundColor = BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBorder;
-
-            var editInputPasswordFrameLayout = new FrameLayout()
-            {
-                Width = Application.GetRealWidth(677) - 2,
-                Height = Application.GetRealHeight(69) - 2,
-                X = 1,
-                Y = 1,
-                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
-            };
-            doorDialog.dialogMidFraFrameLayout.AddChidren(editInputPasswordFrameLayout);
-
-            var editInputPassword = new EditText()
-            {
-                X = Application.GetRealHeight(25),
-                TextSize = 13,
-                PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-                PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputUnlockPasswrd),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                TextAlignment = TextAlignment.BottomLeft,
-                IsNumberKeyboardType = true,
-            };
-            editInputPasswordFrameLayout.AddChidren(editInputPassword);
-
-            doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
-            {
-                if (btnNext != null)
-                {
-                    btnNext.IsSelected = false;
-                }
-                dialog.Close();
-            };
-            DateTime oldTime = DateTime.MaxValue;
-            doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) =>
-            {
-                Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
-                if (DateTime.Now < ZigBee.Device.DoorLock.minValue)
-                {
-                    CommonPage.Loading.Hide();
-                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoFiftySeconds));
-                    return;
-                }
-
-                if (DateTime.Now >= oldTime && ZigBee.Device.DoorLock.RemoteUnlockCount == 0)
-                {
-                    ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
-                    oldTime = DateTime.MaxValue;
-                }
-
-                if (ZigBee.Device.DoorLock.RemoteUnlockCount <= 0)
-                {
-                    ZigBee.Device.DoorLock.minValue = DateTime.Now.AddSeconds(+15);
-                    oldTime = ZigBee.Device.DoorLock.minValue;
-                    CommonPage.Loading.Hide();
-                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds));
-                    return;
-                }
-
-                if (editInputPassword.Text.Length != 6)
-                {
-                    ZigBee.Device.DoorLock.RemoteUnlockCount--;
-                    string tipText = Language.StringByID(R.MyInternationalizationString.PasswordError) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity);
-                    CommonPage.Loading.Hide();
-                    this.ShowMassage(ShowMsgType.Tip, tipText);
-                    return;
-                }
-
-                var verifyResult = await doorLock.VerifyPasswordAsync(editInputPassword.Text);
-                if (verifyResult != null)
-                {
-                    if (verifyResult.result == 0)
-                    {
-                        System.Threading.Thread.Sleep(500);
-                        doorLock.RemoteUnlockPassword = editInputPassword.Text;
-                        ZigBee.Device.DoorLock.minValue = DateTime.MinValue;
-                        ZigBee.Device.DoorLock.failedCount = 3;
-                        ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
-                        oldTime = DateTime.MaxValue;
-                        CommonPage.Loading.Hide();
-                        dialog.Close();
-                        if (btnNext != null)
-                        {
-                            btnNext.IsSelected = true;
-                        }
-                        if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
-                        {
-                            string msg = Language.StringByID(R.MyInternationalizationString.RemoteUnlockBindSucessTip).Replace("{0}", "\r\n");
-                            var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
-                            alert.Show();
-                            //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
-                            alert.ConfirmClickEvent += () =>
-                            {
-                                var form = new UserCenter.UserMain.SecondAuthenticationForm();
-                                form.AddForm();
-                            };
-                        }
-                        doorLock.ReSave();
-                    }
-                    else
-                    {
-                        ZigBee.Device.DoorLock.RemoteUnlockCount--;
-                        string tipText = Language.StringByID(R.MyInternationalizationString.OperrateFailed) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity);
-                        CommonPage.Loading.Hide();
-                        this.ShowMassage(ShowMsgType.Tip, tipText);
-                        return;
-                    }
-                }
-                else
-                {
-                    CommonPage.Loading.Hide();
-                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime));
-                    return;
-                }
-            };
-            doorDialog.flMain.MouseUpEventHandler += (sender11, e11) =>
-            {
-                if (btnNext != null)
-                {
-                    btnNext.IsSelected = false;
-                }
-                dialog.Close();
-            };
+          ZigBee.Device.DoorLock.RemoteUnlockCount--;
+          string tipText = Language.StringByID(R.MyInternationalizationString.PasswordError) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity);
+          CommonPage.Loading.Hide();
+          this.ShowMassage(ShowMsgType.Tip, tipText);
+          return;
         }
 
-        /// <summary>
-        /// 瀹夊叏楠岃瘉
-        /// </summary>
-        /// <param name="doorLock">闂ㄩ攣璁惧</param>
-        /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param> 
-        public static void SecurityRequest(ZigBee.Device.DoorLock doorLock)
+        var verifyResult = await doorLock.VerifyPasswordAsync(editInputPassword.Text);
+        if (verifyResult != null)
         {
-            string msg = Language.StringByID(R.MyInternationalizationString.SetSecondarySecurityVerificationMode).Replace("{0}", "\r\n");
-            var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
-            alert.Show();
-            //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
-            alert.ConfirmClickEvent += () =>
+          if (verifyResult.result == 0)
+          {
+            System.Threading.Thread.Sleep(500);
+            doorLock.RemoteUnlockPassword = editInputPassword.Text;
+            ZigBee.Device.DoorLock.minValue = DateTime.MinValue;
+            ZigBee.Device.DoorLock.failedCount = 3;
+            ZigBee.Device.DoorLock.RemoteUnlockCount = 5;
+            oldTime = DateTime.MaxValue;
+            CommonPage.Loading.Hide();
+            dialog.Close();
+            if (btnNext != null)
             {
-                var form = new UserCenter.UserMain.SecondAuthenticationForm();
-                form.AddForm();
-            };
-        }
-
-        /// <summary>
-        /// 缁戝畾杩滅▼寮�閿佹潈闄愮獥鍙�
-        /// </summary>
-        /// <param name="doorLock"></param>
-        /// <param name="btnDoorLockTitle"></param>
-        public void BindRemoteUnlockDoorlock(Room room, CommonDevice devDoorLock, Button btnDoorLockTitle = null)
-        {
-            ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock;
-            string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock);
-            var alertRemoteUnlockRequest = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting));
-            alertRemoteUnlockRequest.Show();
-            //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
-            alertRemoteUnlockRequest.ConfirmClickEvent += () =>
-            {
-                var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock);
-                Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
-                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                functionSetting.Show();
-                functionSetting.devicNameAction += (deviceRename) =>
-                {
-                    if (!string.IsNullOrEmpty(deviceRename))
-                    {
-                        if (btnDoorLockTitle != null)
-                        {
-                            btnDoorLockTitle.Text = deviceRename;
-                        }
-                    }
-                };
-            };
-        }
-
-        /// <summary>
-        /// 鍘讳釜浜轰腑蹇冿紝寮�鍚郴缁熷瘑鐮佹敮鎸佸紑閿佹潈闄�
-        /// </summary>
-        public void SystemSecondAuthentication()
-        {
-            string msgDoorUnLockByRemote = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n");
-            var alertDoorUnLockByRemote = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting));
-            alertDoorUnLockByRemote.Show();
-            //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
-            alertDoorUnLockByRemote.ConfirmClickEvent += () =>
-            {
-                var form = new UserCenter.UserMain.SecondAuthenticationForm();
-                form.AddForm();
-            };
-        }
-
-        /// <summary>
-        /// 杩滅▼寮�閿佽姹�
-        /// </summary>
-        /// <param name="doorLock">闂ㄩ攣璁惧</param>
-        /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param>
-        /// <param name="progressButton">闂ㄩ攣寮�鎴栧叧鏃惰繘搴︽樉绀�</param>
-        /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param>
-        public void RemoteUnlockRequest(Room room, CommonDevice devDoorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null)
-        {
-            ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock;
-            if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
-            {
-                BindRemoteUnlockDoorlock(room, devDoorLock, btnDoorLockTitle);
-                return;
+              btnNext.IsSelected = true;
             }
-
             if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
             {
-                SystemSecondAuthentication();
-                return;
+              string msg = Language.StringByID(R.MyInternationalizationString.RemoteUnlockBindSucessTip).Replace("{0}", "\r\n");
+              var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
+              alert.Show();
+              //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+              alert.ConfirmClickEvent += () =>
+              {
+                var form = new UserCenter.UserMain.SecondAuthenticationForm();
+                form.AddForm();
+              };
             }
+            doorLock.ReSave();
+          }
+          else
+          {
+            ZigBee.Device.DoorLock.RemoteUnlockCount--;
+            string tipText = Language.StringByID(R.MyInternationalizationString.OperrateFailed) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity);
+            CommonPage.Loading.Hide();
+            this.ShowMassage(ShowMsgType.Tip, tipText);
+            return;
+          }
+        }
+        else
+        {
+          CommonPage.Loading.Hide();
+          this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime));
+          return;
+        }
+      };
+      doorDialog.flMain.MouseUpEventHandler += (sender11, e11) =>
+      {
+        if (btnNext != null)
+        {
+          btnNext.IsSelected = false;
+        }
+        dialog.Close();
+      };
+    }
 
-            string msg = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock);
-            var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
-            alert.Show();
-            //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
-            alert.ConfirmClickEvent += () =>
-            {
-                action = () =>
+    /// <summary>
+    /// 瀹夊叏楠岃瘉
+    /// </summary>
+    /// <param name="doorLock">闂ㄩ攣璁惧</param>
+    /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param> 
+    public static void SecurityRequest(ZigBee.Device.DoorLock doorLock)
+    {
+      string msg = Language.StringByID(R.MyInternationalizationString.SetSecondarySecurityVerificationMode).Replace("{0}", "\r\n");
+      var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
+      alert.Show();
+      //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+      alert.ConfirmClickEvent += () =>
+      {
+        var form = new UserCenter.UserMain.SecondAuthenticationForm();
+        form.AddForm();
+      };
+    }
+
+    /// <summary>
+    /// 缁戝畾杩滅▼寮�閿佹潈闄愮獥鍙�
+    /// </summary>
+    /// <param name="doorLock"></param>
+    /// <param name="btnDoorLockTitle"></param>
+    public void BindRemoteUnlockDoorlock(Room room, CommonDevice devDoorLock, Button btnDoorLockTitle = null)
+    {
+      ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock;
+      string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock);
+      var alertRemoteUnlockRequest = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting));
+      alertRemoteUnlockRequest.Show();
+      //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+      alertRemoteUnlockRequest.ConfirmClickEvent += () =>
+      {
+        var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock);
+        Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
+        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+        functionSetting.Show();
+        functionSetting.devicNameAction += (deviceRename) =>
+              {
+                if (!string.IsNullOrEmpty(deviceRename))
                 {
-                    System.Threading.Tasks.Task.Run(async () =>
-                    {
+                  if (btnDoorLockTitle != null)
+                  {
+                    btnDoorLockTitle.Text = deviceRename;
+                  }
+                }
+              };
+      };
+    }
+
+    /// <summary>
+    /// 鍘讳釜浜轰腑蹇冿紝寮�鍚郴缁熷瘑鐮佹敮鎸佸紑閿佹潈闄�
+    /// </summary>
+    public void SystemSecondAuthentication()
+    {
+      string msgDoorUnLockByRemote = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n");
+      var alertDoorUnLockByRemote = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting));
+      alertDoorUnLockByRemote.Show();
+      //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+      alertDoorUnLockByRemote.ConfirmClickEvent += () =>
+      {
+        var form = new UserCenter.UserMain.SecondAuthenticationForm();
+        form.AddForm();
+      };
+    }
+
+    /// <summary>
+    /// 杩滅▼寮�閿佽姹�
+    /// </summary>
+    /// <param name="doorLock">闂ㄩ攣璁惧</param>
+    /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param>
+    /// <param name="progressButton">闂ㄩ攣寮�鎴栧叧鏃惰繘搴︽樉绀�</param>
+    /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param>
+    public void RemoteUnlockRequest(Room room, CommonDevice devDoorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null)
+    {
+      ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock;
+      if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
+      {
+        BindRemoteUnlockDoorlock(room, devDoorLock, btnDoorLockTitle);
+        return;
+      }
+
+      if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+      {
+        SystemSecondAuthentication();
+        return;
+      }
+
+      string msg = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock);
+      var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+      alert.Show();
+      //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+      alert.ConfirmClickEvent += () =>
+      {
+        action = () =>
+              {
+                System.Threading.Tasks.Task.Run(async () =>
+                      {
                         Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                         try
                         {
-                            Application.RunOnMainThread(() =>
+                          Application.RunOnMainThread(() =>
                             {
-                                if (progressButton != null)
-                                {
-                                    progressButton.Y = Application.GetRealHeight(10);
-                                }
-                                if (btnDoorLockPic != null)
-                                {
-                                    btnDoorLockPic.IsSelected = true;
-                                }
-                                if (btnStatus != null)
-                                {
-                                    btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
+                              if (progressButton != null)
+                              {
+                                progressButton.Y = Application.GetRealHeight(10);
+                              }
+                              if (btnDoorLockPic != null)
+                              {
+                                btnDoorLockPic.IsSelected = true;
+                              }
+                              if (btnStatus != null)
+                              {
+                                btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening);
 
-                                }
+                              }
                             });
-                            //杩滅▼寮�閿� 
-                            var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword);
+                          //杩滅▼寮�閿� 
+                          var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword);
 
-                            //杩滅▼寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲
-                            if (remoteControlResult != null && remoteControlResult.responseData != null)
+                          //杩滅▼寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲
+                          if (remoteControlResult != null && remoteControlResult.responseData != null)
+                          {
+                            if (remoteControlResult.responseData.status == 0)
                             {
-                                if (remoteControlResult.responseData.status == 0)
+                              ZigBee.Device.DoorLock.failedCount = 3;
+                              Application.RunOnMainThread(() =>
                                 {
-                                    ZigBee.Device.DoorLock.failedCount = 3;
-                                    Application.RunOnMainThread(() =>
-                                    {
-                                        if (progressButton != null)
-                                        {
-                                            progressButton.Y = Application.GetRealHeight(10);
-                                        }
-                                        if (btnDoorLockPic != null)
-                                        {
-                                            btnDoorLockPic.IsSelected = true;
-                                        }
-                                        if (btnStatus != null)
-                                        {
-                                            btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
-                                            this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockSuccess));
-                                        }
-                                    });
-                                    //寮�閿佹垚鍔燂紝榛樿5绉掑悗闂ㄩ攣鑷姩鍏抽攣锛屾牴鎹笉鍚岀殑闂ㄩ攣鍙兘鏃堕棿涓嶅悓锛岃繖閲屼互鈥淗06C鈥濋棬閿佺粰鐨勬椂闂�
-                                    System.Threading.Thread.Sleep(5000);
-                                }
-                                else
-                                {
-                                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed));
-                                }
+                                  if (progressButton != null)
+                                  {
+                                    progressButton.Y = Application.GetRealHeight(10);
+                                  }
+                                  if (btnDoorLockPic != null)
+                                  {
+                                    btnDoorLockPic.IsSelected = true;
+                                  }
+                                  if (btnStatus != null)
+                                  {
+                                    btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
+                                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockSuccess));
+                                  }
+                                });
+                              //寮�閿佹垚鍔燂紝榛樿5绉掑悗闂ㄩ攣鑷姩鍏抽攣锛屾牴鎹笉鍚岀殑闂ㄩ攣鍙兘鏃堕棿涓嶅悓锛岃繖閲屼互鈥淗06C鈥濋棬閿佺粰鐨勬椂闂�
+                              System.Threading.Thread.Sleep(5000);
                             }
-                            //鐢ㄤ簬杩滅▼寮�閿佺殑闂ㄩ攣涓殑瀵嗙爜琚垹闄ゆ儏鍐�
-                            else if (remoteControlResult != null && remoteControlResult.IsPawDispear == true)
-                            {
-                                //杩滅▼寮�閿佹湁3娆¤繛缁搷浣滃け璐ョ殑鏈轰細
-                                ZigBee.Device.DoorLock.failedCount--;
-                                if (ZigBee.Device.DoorLock.failedCount != 0)
-                                {
-                                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed));
-                                }
-                                else
-                                {
-                                    //3娆℃搷浣滃け璐ヨ繙绋嬪紑閿佸け璐ュ悗锛岄噸鍐欒缃繙绋嬪紑閿佸瘑鐮�
-                                    Application.RunOnMainThread(() =>
-                                    {
-                                        this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear));
-                                        doorLock.RemoteUnlockPassword = "";
-                                        var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock);
-                                        Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
-                                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                                        functionSetting.Show();
-                                        functionSetting.devicNameAction += (deviceRename) =>
-                                        {
-                                            if (!string.IsNullOrEmpty(deviceRename))
-                                            {
-                                                if (btnDoorLockTitle != null)
-                                                {
-                                                    btnDoorLockTitle.Text = deviceRename;
-                                                }
-                                            }
-                                        };
-                                    });
-                                }
-                            }
-                            //杩滅▼寮�閿佸け璐ョ殑鎯呭喌
                             else
                             {
-                                this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime));
+                              this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed));
                             }
+                          }
+                          //鐢ㄤ簬杩滅▼寮�閿佺殑闂ㄩ攣涓殑瀵嗙爜琚垹闄ゆ儏鍐�
+                          else if (remoteControlResult != null && remoteControlResult.IsPawDispear == true)
+                          {
+                            //杩滅▼寮�閿佹湁3娆¤繛缁搷浣滃け璐ョ殑鏈轰細
+                            ZigBee.Device.DoorLock.failedCount--;
+                            if (ZigBee.Device.DoorLock.failedCount != 0)
+                            {
+                              this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed));
+                            }
+                            else
+                            {
+                              //3娆℃搷浣滃け璐ヨ繙绋嬪紑閿佸け璐ュ悗锛岄噸鍐欒缃繙绋嬪紑閿佸瘑鐮�
+                              Application.RunOnMainThread(() =>
+                              {
+                                this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear));
+                                doorLock.RemoteUnlockPassword = "";
+                                var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock);
+                                Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
+                                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                                functionSetting.Show();
+                                functionSetting.devicNameAction += (deviceRename) =>
+                              {
+                                if (!string.IsNullOrEmpty(deviceRename))
+                                {
+                                  if (btnDoorLockTitle != null)
+                                  {
+                                    btnDoorLockTitle.Text = deviceRename;
+                                  }
+                                }
+                              };
+                              });
+                            }
+                          }
+                          //杩滅▼寮�閿佸け璐ョ殑鎯呭喌
+                          else
+                          {
+                            this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime));
+                          }
                         }
                         catch { }
                         finally
                         {
-                            Application.RunOnMainThread(() =>
+                          Application.RunOnMainThread(() =>
                             {
-                                if (progressButton != null)
-                                {
-                                    progressButton.Y = Application.GetRealHeight(347);
-                                }
-                                if (btnDoorLockPic != null)
-                                {
-                                    btnDoorLockPic.IsSelected = false;
-                                }
-                                if (btnStatus != null)
-                                {
-                                    btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose);
-                                }
-                                CommonPage.Loading.Hide();
+                              if (progressButton != null)
+                              {
+                                progressButton.Y = Application.GetRealHeight(347);
+                              }
+                              if (btnDoorLockPic != null)
+                              {
+                                btnDoorLockPic.IsSelected = false;
+                              }
+                              if (btnStatus != null)
+                              {
+                                btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose);
+                              }
+                              CommonPage.Loading.Hide();
                             });
                         }
-                    });
-                };
+                      });
+              };
 
-                HdlCheckLogic.Current.CheckSecondarySecurity(action);
-            };
-        }
-        // 鑾峰彇鍒板埌鍚嶇О鏇存敼鍥炶皟閫氱煡
-        public Action<string> devicNameSecAction;
+        HdlCheckLogic.Current.CheckSecondarySecurity(action);
+      };
+    }
+    // 鑾峰彇鍒板埌鍚嶇О鏇存敼鍥炶皟閫氱煡
+    public Action<string> devicNameSecAction;
 
 
-        /// <summary>
-        /// 褰撳墠閫変腑鐨勫紑閿佹柟寮�
-        /// </summary>
-        /// <param name="btnAllMethod"></param>
-        /// <param name="btnMethodText"></param>
-        /// <param name="oldbutton"></param>
-        /// <param name="oldbuttonText"></param>
-        public void CurrentSelectUnlockMethod(Button btnAllMethod, Button btnMethodText, Button oldbutton, Button oldbuttonText)
+    /// <summary>
+    /// 褰撳墠閫変腑鐨勫紑閿佹柟寮�
+    /// </summary>
+    /// <param name="btnAllMethod"></param>
+    /// <param name="btnMethodText"></param>
+    /// <param name="oldbutton"></param>
+    /// <param name="oldbuttonText"></param>
+    public void CurrentSelectUnlockMethod(Button btnAllMethod, Button btnMethodText, Button oldbutton, Button oldbuttonText)
+    {
+      btnAllMethod.IsSelected = true;
+      btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+      btnMethodText.IsBold = true;
+      oldbutton = btnAllMethod;
+      oldbuttonText = btnMethodText;
+    }
+
+    /// <summary>
+    /// 鏄剧ず鎵�鏈夊紑閿佹柟寮忕殑鏁版嵁
+    /// </summary>
+    /// <param name="curIndex"></param>
+    /// <param name="btnAllMethod"></param>
+    /// <param name="btnMethodText"></param>
+    public void DisplayAllUnlockMethod(ZigBee.Device.DoorLock doorLock, int curIndex, Button btnAllMethod, Button btnMethodText)
+    {
+      var listDevice = Common.LocalDevice.Current.GetDevicesByMac(doorLock.DeviceAddr);
+      var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+      if (curIndex == 0)
+      {
+        btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
+        btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
+        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
+      }
+      else if (curIndex == 1)
+      {
+        btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
+        btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
+        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
+      }
+      else if (curIndex == 2)
+      {
+        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1F)
         {
-            btnAllMethod.IsSelected = true;
-            btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-            btnMethodText.IsBold = true;
+          btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock);
+        }
+        else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_HAT1B)
+        {
+          btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock);
+        }
+        else
+        {
+          btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
+        }
+      }
+      else if (curIndex == 3)
+      {
+        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1F)
+        {
+          btnAllMethod.UnSelectedImagePath = "DoorLock/faceId.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/faceIdOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock);
+        }
+        else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1TF)
+        {
+          btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
+        }
+        else
+        {
+          btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
+        }
+      }
+      if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1TF)
+      {
+        if (curIndex == 4)
+        {
+          btnAllMethod.UnSelectedImagePath = "DoorLock/faceId.png";
+          btnAllMethod.SelectedImagePath = "DoorLock/faceIdOn.png";
+          btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock);
+        }
+      }
+
+
+
+      //switch (curIndex)
+      //{
+      //    case 0:
+      //        btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
+      //        btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
+      //        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
+      //        break;
+      //    case 1:
+      //        btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
+      //        btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
+      //        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
+      //        break;
+      //    case 2:
+      //        btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+      //        btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+      //        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
+      //        break;
+      //    case 3:
+      //        btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
+      //        btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
+      //        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
+      //        break;
+      //    case 4:
+      //        btnAllMethod.UnSelectedImagePath = "DoorLock/faceId.png";
+      //        btnAllMethod.SelectedImagePath = "DoorLock/faceIdOn.png";
+      //        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock);
+      //        break;
+      //    case 5:
+      //        btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+      //        btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+      //        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock);
+      //        break;
+      //}
+    }
+
+    /// <summary>
+    /// 渚ц竟瀵艰埅鏍�
+    /// </summary>
+    public void SideslipFramelayout(ZigBee.Device.DoorLock doorLock)
+    {
+      #region sidelipFrameLayout UI
+      var dialog = new Dialog
+      {
+      };
+      dialog.Show();
+
+      var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
+      dialog.AddChidren(flMain);
+      flMain.MouseUpEventHandler += (sender11, e11) =>
+      {
+        dialog.Close();
+      };
+
+      var sidelipFrameLayout = new FrameLayout()
+      {
+        Width = Application.GetRealWidth(449),
+        Y = Application.GetRealHeight(115 + 160),
+        X = Application.GetRealWidth(596),
+        BackgroundImagePath = "DoorLock/SideslipPic.png",
+      };
+      flMain.AddChidren(sidelipFrameLayout);
+
+      var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout()
+      {
+        Y = Application.GetRealHeight(28),
+      };
+      sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
+      #endregion
+
+      Button oldbutton = null;
+      Button oldbuttonText = null;
+      int count = 1 + GetSupportType(doorLock);
+      sidelipFrameLayout.Height = Application.GetRealHeight(150) * count + Application.GetRealHeight(6);
+      sidelipVerticalScrolViewLayout.Height = Application.GetRealHeight(150) * count + Application.GetRealHeight(6);
+      for (var i = 0; i < count; i++)
+      {
+        #region rowFrameLayout UI
+        var rowFrameLayout = new FrameLayout()
+        {
+          Height = Application.GetRealHeight(150),
+          X = Application.GetRealWidth(81),
+        };
+        sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout);
+
+        var btnAllMethod = new Button()
+        {
+          Width = Application.GetRealWidth(81),
+          Height = Application.GetRealHeight(81),
+          Y = Application.GetRealHeight(35),
+        };
+        rowFrameLayout.AddChidren(btnAllMethod);
+
+        var btnMethodText = new Button()
+        {
+          Width = Application.GetRealWidth(311),
+          Height = Application.GetRealHeight(58),
+          X = Application.GetRealWidth(92),
+          Y = Application.GetRealHeight(49),
+          TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+          TextSize = 14,
+          TextAlignment = TextAlignment.CenterLeft,
+        };
+        rowFrameLayout.AddChidren(btnMethodText);
+
+        var line2 = new Button()
+        {
+          Y = rowFrameLayout.Height - 1,
+          X = Application.GetRealWidth(81),
+          Width = Application.GetRealWidth(965),
+          Height = 1,
+          BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+        };
+        rowFrameLayout.AddChidren(line2);
+        if (i == count)
+        {
+          line2.Visible = false;
+        }
+        #endregion
+
+        #region 鏁版嵁澶勭悊
+        EventHandler<MouseEventArgs> hander = (sender, e) =>
+        {
+          if (!btnAllMethod.IsSelected)
+          {
+            if (oldbutton != null)
+            {
+              oldbutton.IsSelected = false;
+            }
+            if (oldbuttonText != null)
+            {
+              oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
+            }
             oldbutton = btnAllMethod;
             oldbuttonText = btnMethodText;
-        }
 
-        /// <summary>
-        /// 鏄剧ず鎵�鏈夊紑閿佹柟寮忕殑鏁版嵁
-        /// </summary>
-        /// <param name="curIndex"></param>
-        /// <param name="btnAllMethod"></param>
-        /// <param name="btnMethodText"></param>
-        public void DisplayAllUnlockMethod(int curIndex, Button btnAllMethod, Button btnMethodText)
+            doorLock.ReSave();
+            btnAllMethod.IsSelected = true;
+            oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+            oldbuttonText.IsBold = true;
+            doorLock.currentUserDisplayMethod = btnMethodText.Text;
+            TypeRefresh(doorLock);
+          }
+          dialog.Close();
+        };
+        rowFrameLayout.MouseUpEventHandler += hander;
+        btnAllMethod.MouseUpEventHandler += hander;
+        btnMethodText.MouseUpEventHandler += hander;
+
+        DisplayAllUnlockMethod(doorLock, i, btnAllMethod, btnMethodText);
+
+        if (string.IsNullOrEmpty(doorLock.currentUserDisplayMethod) && i == 0)
         {
-            switch (curIndex)
-            {
-                case 0:
-                    btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
-                    btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
-                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
-                    break;
-                case 1:
-                    btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
-                    btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
-                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
-                    break;
-                case 2:
-                    btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
-                    btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
-                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
-                    break;
-                case 3:
-                    btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
-                    btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
-                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
-                    break;
-            }
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
         }
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        /// <summary>
-        /// 鏄剧ず閿欒淇℃伅绐楀彛
-        /// </summary>
-        /// <param name="msg"></param>
-        public void ShowErrorMsg(string msg)
+        if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0)
         {
-            Application.RunOnMainThread(() =>
-            {
-                var contr = new ShowMsgControl(ShowMsgType.Error, msg);
-                contr.Show();
-            });
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
         }
-
-        /// <summary>
-        /// 鏄剧ずTip淇℃伅绐楀彛
-        /// </summary>
-        /// <param name="msg"></param>
-        public void ShowTipMsg(string msg)
+        if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock) && i == 1)
         {
-            Application.RunOnMainThread(() =>
-            {
-                var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
-                contr.Show();
-                CommonPage.Loading.Hide();
-            });
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
         }
-
+        if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock) && i == 2)
+        {
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
+        }
+        if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock) && i == 3)
+        {
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
+        }
+        if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FaceIDUnlock) && i == 4)
+        {
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
+        }
+        if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock) && i == 5)
+        {
+          CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
+        }
         #endregion
+      }
     }
+
+    /// <summary>
+    /// 褰撳墠闂ㄩ攣鏀寔鐨勫紑閿佺被鍨嬩釜鏁�
+    /// </summary>
+    /// <param name="doorLock"></param>
+    /// <returns></returns>
+    public int GetSupportType(ZigBee.Device.DoorLock doorLock)
+    {
+      int count = 0;
+      var listDevice = Common.LocalDevice.Current.GetDevicesByMac(doorLock.DeviceAddr);
+      var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+      if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1F)
+      {
+        //AT1F鏈夊瘑鐮侊紝鎰熷簲鍗★紝faceID
+        count = 3;
+      }
+      else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1T)
+      {
+        //AT1T鏈夊瘑鐮侊紝鎸囩汗锛屾劅搴斿崱 
+        count = 3;
+      }
+      else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1TF)
+      {
+        //AT1TF鏈夊瘑鐮侊紝鎸囩汗锛屾劅搴斿崱,faceID
+        count = 4;
+      }
+      else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_HAT1B)
+      {
+        //HAT1B瀵嗙爜銆侀潤鑴夌汗銆佸埛鍗�
+        count = 3;
+      }
+      else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_HAT1T)
+      {
+        //HAT1T瀵嗙爜銆佹寚绾广�佸埛鍗�
+        count = 3;
+      }
+      else
+      {
+        //鍙湁瀵嗙爜锛屾寚绾癸紝鎰熷簲鍗�
+        count = 3;
+      }
+      return count;
+    }
+
+    /// <summary>
+    /// 绫诲瀷鍖哄垎 
+    /// </summary>
+    public void TypeRefresh(ZigBee.Device.DoorLock doorLock)
+    {
+      if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock))
+      {
+        UndateUnlockMethodAction?.Invoke(0);
+      }
+      else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock))
+      {
+        UndateUnlockMethodAction?.Invoke(3);
+      }
+      else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock))
+      {
+        UndateUnlockMethodAction?.Invoke(13);
+      }
+      else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FaceIDUnlock))
+      {
+        UndateUnlockMethodAction?.Invoke(14);
+      }
+      else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock))
+      {
+        UndateUnlockMethodAction?.Invoke(15);
+      }
+      else
+      {
+        UndateUnlockMethodAction?.Invoke(-1);
+      }
+      //姣忔璋冨畬娓呯┖
+      UndateUnlockMethodAction = null;
+    }
+
+    #region 鈻� 涓�鑸柟娉昣__________________________
+
+    /// <summary>
+    /// 鏄剧ず閿欒淇℃伅绐楀彛
+    /// </summary>
+    /// <param name="msg"></param>
+    public void ShowErrorMsg(string msg)
+    {
+      Application.RunOnMainThread(() =>
+      {
+        var contr = new ShowMsgControl(ShowMsgType.Error, msg);
+        contr.Show();
+      });
+    }
+
+    /// <summary>
+    /// 鏄剧ずTip淇℃伅绐楀彛
+    /// </summary>
+    /// <param name="msg"></param>
+    public void ShowTipMsg(string msg)
+    {
+      Application.RunOnMainThread(() =>
+      {
+        var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
+        contr.Show();
+        CommonPage.Loading.Hide();
+      });
+    }
+
+    #endregion
+  }
 }

--
Gitblit v1.8.0