From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs |  271 +++++++++++++++++++++++++++++------------------------
 1 files changed, 149 insertions(+), 122 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
index cef7875..49c6b4d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -37,8 +37,10 @@
         /// </summary>
         private CommonDevice deviceObj = null;
         Action action;
+        Action actionNone;
         string modifyDeviceName = "";
         bool IsModifyName = true;
+        public Action<string> devicNameAction;
         #endregion
 
         /// <summary>
@@ -62,7 +64,6 @@
 
         public void MidFrameLayoutContent()
         {
-
             var MidTopFrameLayout = new FrameLayout()
             {
                 X = Application.GetRealWidth(449),
@@ -72,35 +73,49 @@
                 BackgroundImagePath = "DoorLock/DoorlockPicture.png",
             };
             this.midFrameLayout.AddChidren(MidTopFrameLayout);
+
+            var btnDeviceText = new Button()
+            {
+                Y = Application.GetRealHeight(288),
+                Height = Application.GetRealHeight(60),
+                Gravity = Gravity.CenterHorizontal,
+                TextColor = ZigbeeColor.Current.XMBlack,
+                TextSize = 15,
+                Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock),
+            };
+            this.midFrameLayout.AddChidren(btnDeviceText);
+
             BottomFrameLayout();
         }
 
         public void BottomFrameLayout()
         {
             #region  UI 
+            //var bottomFrameLayout = new FrameLayout()
+            //{
+            //    Height = Application.GetRealHeight(100),
+            //    Y = Application.GetRealHeight(418),
+            //    Radius = 17,
+            //    BackgroundColor = ZigbeeColor.Current.XMWhite,
+            //};
+            //this.midFrameLayout.AddChidren(bottomFrameLayout);
+
+            //var bottomFrameLayout1 = new FrameLayout()
+            //{
+            //    Height = Application.GetRealHeight(1319 - 50),
+            //    Y = Application.GetRealHeight(418 + 48),
+            //    BackgroundColor = ZigbeeColor.Current.XMWhite,
+            //};
+            //this.midFrameLayout.AddChidren(bottomFrameLayout1);
+
             var bottomFrameLayout = new FrameLayout()
             {
-                Height = Application.GetRealHeight(100),
+                Height = Application.GetRealHeight(1319),
                 Y = Application.GetRealHeight(418),
-                Radius = 17,
                 BackgroundColor = ZigbeeColor.Current.XMWhite,
             };
             this.midFrameLayout.AddChidren(bottomFrameLayout);
-
-            var bottomFrameLayout1 = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(1319 - 50),
-                Y = Application.GetRealHeight(418 + 48),
-                BackgroundColor = ZigbeeColor.Current.XMWhite,
-            };
-            this.midFrameLayout.AddChidren(bottomFrameLayout1);
-
-            var bottomFrameLayout2 = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(1000),
-                Y = Application.GetRealHeight(418),
-            };
-            this.midFrameLayout.AddChidren(bottomFrameLayout2);
+            bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
 
             var informationEdit = new Button()
             {
@@ -112,7 +127,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = 15,
             };
-            bottomFrameLayout2.AddChidren(informationEdit);
+            bottomFrameLayout.AddChidren(informationEdit);
 
             for (int i = 0; i < 6; i++)
             {
@@ -120,7 +135,7 @@
                 {
                     Height = Application.GetRealHeight(58),
                 };
-                bottomFrameLayout2.AddChidren(bottomRowLayout);
+                bottomFrameLayout.AddChidren(bottomRowLayout);
 
                 var btnName = new Button()
                 {
@@ -157,56 +172,58 @@
                     BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                     Visible = false,
                 };
-                bottomFrameLayout2.AddChidren(btnLine);
+                bottomFrameLayout.AddChidren(btnLine);
 
                 if (i == 0)
                 {
                     bottomRowLayout.Y = Application.GetRealHeight(220);
-                    btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm);
-                    btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58);
-                    btnNextFrameLayout.X = Application.GetRealWidth(233);
-                    btnNext.Text = doorLock.DeviceName;
-                    var btnDeviceNameEditText = new Button()
+                    btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm) + ":";
+                    btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20);
+                    btnNextFrameLayout.X = Application.GetRealWidth(233 + 20);
+                    var btnDeviceNameEditText = new EditText()
                     {
-                        Width = Application.GetRealWidth(789 - 58),
-                        Height = Application.GetRealHeight(58),
                         X = Application.GetRealWidth(46),
+                        Width = Application.GetRealWidth(731),
+                        Height = Application.GetRealHeight(58),
+                        TextColor = ZigbeeColor.Current.XMGray3,
+                        TextSize = 14,
+                        PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2,
                         TextAlignment = TextAlignment.CenterLeft,
-                        TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-                        Text = doorLock.DeviceName
+                        Text = string.IsNullOrEmpty(doorLock.DeviceName) ? Language.StringByID(R.MyInternationalizationString.UNKnown) : doorLock.DeviceName,
                     };
                     btnNextFrameLayout.AddChidren(btnDeviceNameEditText);
-                    //btnDeviceNameEditText.TextChangeEventHandler += (sender, e) =>
-                    //{
-                    //    modifyDeviceName = btnDeviceNameEditText.Text;
-                    //};
-                    //Action<Shared.View> actionEdit = async (obj) =>
-                    // {
-                    //     try
-                    //     {
-                    //         Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
-                    //         var doorLockDeviceList = new List<CommonDevice> { };
-                    //         doorLockDeviceList.Add(doorLock);
-                    //         var result = await Common.LocalDevice.Current.ReMacName(doorLockDeviceList, btnDeviceNameEditText.Text);
-                    //         if (result)
-                    //         {
-                    //             IsModifyName = false;
-                    //         }
-                    //         else
-                    //         {
-                    //             IsModifyName = true;
-                    //         }
-                    //     }
-                    //     catch { }
-                    //     finally
-                    //     {
-                    //         Application.RunOnMainThread(() =>
-                    //         {
-                    //             CommonPage.Loading.Hide();
-                    //         });
-                    //     }
-                    // };
-                    // btnDeviceNameEditText.EditorEnterAction += actionEdit;
+
+                    btnDeviceNameEditText.TextChangeEventHandler += (sender, e) =>
+                    {
+                        modifyDeviceName = btnDeviceNameEditText.Text;
+                    };
+                    Action<Shared.View> actionEdit = async (obj) =>
+                     {
+                         try
+                         {
+                             Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
+                             var doorLockDeviceList = new List<CommonDevice> { };
+                             doorLockDeviceList.Add(doorLock);
+                             var result = await Common.LocalDevice.Current.ReMacName(doorLockDeviceList, btnDeviceNameEditText.Text);
+                             if (result)
+                             {
+                                 IsModifyName = false;
+                             }
+                             else
+                             {
+                                 IsModifyName = true;
+                             }
+                         }
+                         catch { }
+                         finally
+                         {
+                             Application.RunOnMainThread(() =>
+                             {
+                                 CommonPage.Loading.Hide();
+                             });
+                         }
+                     };
+                    btnDeviceNameEditText.EditorEnterAction += actionEdit;
 
                     btnLine.Visible = true;
                     btnLine.Y = Application.GetRealHeight(303);
@@ -236,14 +253,13 @@
                 {
                     bottomRowLayout.Y = Application.GetRealHeight(481);
                     btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongModel) + ":";
-                    btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58);
-                    btnNextFrameLayout.X = Application.GetRealWidth(233);
-
+                    btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20);
+                    btnNextFrameLayout.X = Application.GetRealWidth(253);
                     btnNext.TextAlignment = TextAlignment.CenterLeft;
                     btnNext.Height = Application.GetRealHeight(58);
                     btnNext.Text = doorLock.DeviceName;
                     btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
-
+                    btnNext.TextSize = 14;
                     btnLine.Visible = true;
                     btnLine.Y = Application.GetRealHeight(575);
                 }
@@ -268,7 +284,7 @@
                     btnNext.SelectedImagePath = "DoorLock/SwitchOn.png";
                     btnLine.Visible = true;
                     btnLine.Y = Application.GetRealHeight(853);
-                    if (doorLock.RemoteUnlockPassword == "")
+                    if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
                     {
                         btnNext.IsSelected = false;
                     }
@@ -283,7 +299,7 @@
                     btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime);
                     btnNextFrameLayout.Y = btnName.Y;
                     btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
-                    btnLine.Visible = false;
+                    btnLine.Visible = true;
                     btnLine.Y = Application.GetRealHeight(992);
                 }
                 int currentIndex = i;
@@ -291,21 +307,18 @@
                  {
                      if (currentIndex == 3)
                      {
-                         if (!UserCenterResourse.Option.DoorUnLockByRemote)
+                         action = async () =>
                          {
-                             SecurityRequest(doorLock, action);
-                         }
-                         else
+                             var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock);
+                             Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword);
+                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                             temporaryPassword.Show();
+                         };
+                         actionNone = async () =>
                          {
-                             action = async () =>
-                             {
-                                 var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock);
-                                 Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword);
-                                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                                 temporaryPassword.Show();
-                             };
-                             HdlCheckLogic.Current.CheckSecondarySecurity(action);
-                         }
+                             Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action);
+                         };
+                         HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
                      }
                      else if (currentIndex == 4)
                      {
@@ -320,7 +333,7 @@
                                      btnNext.IsSelected = !btnNext.IsSelected;
                                      if (btnNext.IsSelected)
                                      {
-                                         if (doorLock.RemoteUnlockPassword == "")
+                                         if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
                                          {
                                              RemotePasswordDialog(doorLock, btnNext);
                                          }
@@ -345,7 +358,7 @@
                              btnNext.IsSelected = !btnNext.IsSelected;
                              if (btnNext.IsSelected)
                              {
-                                 if (doorLock.RemoteUnlockPassword == "")
+                                 if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
                                  {
                                      RemotePasswordDialog(doorLock, btnNext);
                                  }
@@ -372,51 +385,65 @@
                          }
                      }
                  };
-                bottomRowLayout.MouseDownEventHandler += eHandler;
                 btnNext.MouseDownEventHandler += eHandler;
-                btnName.MouseDownEventHandler += eHandler;
-                btnNextFrameLayout.MouseDownEventHandler += eHandler;
+                if (i != 4)
+                {
+                    bottomRowLayout.MouseDownEventHandler += eHandler;
+                    btnName.MouseDownEventHandler += eHandler;
+                    btnNextFrameLayout.MouseDownEventHandler += eHandler;
+                }
                 #endregion
             }
 
             //淇濆瓨
-            //var btnFinifh = new Button()
-            //{
-            //    Width = Application.GetRealWidth(907),
-            //    Height = Application.GetRealHeight(127),
-            //    Y = Application.GetRealHeight(1472),
-            //    Gravity = Gravity.CenterHorizontal,
-            //    Radius = (uint)Application.GetRealHeight(127) / 2,
-            //    TextID = R.MyInternationalizationString.Save,
-            //    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-            //    TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
-            //    TextSize = 16,
-            //};
-            //this.midFrameLayout.AddChidren(btnFinifh);
-            //btnFinish.MouseUpEventHandler += (sender, e) =>
-            //{
-            //    System.Threading.Tasks.Task.Run(async () =>
-            //    {
-            //        Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
-            //        try
-            //        {
-            //            if (IsModifyName)
-            //            {
-            //                var doorLockDeviceList = new List<CommonDevice> { };
-            //                doorLockDeviceList.Add(doorLock);
-            //                await Common.LocalDevice.Current.ReMacName(doorLockDeviceList, modifyDeviceName);
-            //            }
-            //        }
-            //        catch { }
-            //        finally
-            //        {
-            //            Application.RunOnMainThread(() =>
-            //            {
-            //                CommonPage.Loading.Hide();
-            //            });
-            //        }
-            //    });
-            //};
+            var btnFinifh = new Button()
+            {
+                Width = Application.GetRealWidth(907),
+                Height = Application.GetRealHeight(127),
+                Y = Application.GetRealHeight(1472),
+                Gravity = Gravity.CenterHorizontal,
+                Radius = (uint)Application.GetRealHeight(127) / 2,
+                TextID = R.MyInternationalizationString.Save,
+                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+                TextSize = 16,
+                IsBold = true,
+            };
+            this.midFrameLayout.AddChidren(btnFinifh);
+            btnFinifh.MouseUpEventHandler += (sender, e) =>
+            {
+                System.Threading.Tasks.Task.Run(async () =>
+                {
+                    Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
+                    try
+                    {
+                        if (IsModifyName)
+                        {
+                            var doorLockDeviceList = new List<CommonDevice> { };
+                            doorLockDeviceList.Add(doorLock);
+                            var result = await Common.LocalDevice.Current.ReMacName(doorLockDeviceList, modifyDeviceName);
+                            if (result)
+                            {
+                                if (devicNameAction != null)
+                                {
+                                    devicNameAction(modifyDeviceName);
+                                }
+                            }
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        var mess = ex.Message;
+                    }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            CommonPage.Loading.Hide();
+                        });
+                    }
+                });
+            };
         }
 
         #region 鈼� 鎺ュ彛瀹炵幇__________________________

--
Gitblit v1.8.0