From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs |  716 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 386 insertions(+), 330 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
index ecffb1c..8d69a71 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -1,25 +1,38 @@
 锘縰sing System;
 using System.Collections.Generic;
 using Shared.Common;
+using Shared.Phone.UserView;
 using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class FunctionSetting : DoorLockCommonLayout, ZigBee.Common.IStatus
+    public class FunctionSetting : DoorLockCommonLayout
     {
+        #region  鏋勯�犲嚱鏁� 
         /// <summary>
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="doorLock"></param>
-        public FunctionSetting(ZigBee.Device.DoorLock doorLock)
+        public FunctionSetting(Room room, CommonDevice doorLock)
         {
-            this.doorLock = doorLock;
+            this.doorLock = doorLock as ZigBee.Device.DoorLock;
+            currentRoom = room;
+            deviceUI = doorLock;
+            listNewDevice.Add(doorLock);
             BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
-            ZigBee.Device.ZbGateway.StatusList.Add(this);
         }
+        #endregion
 
-        #region 鈼� 鍙橀噺鐢虫槑__________________________
-        ZigBee.Device.DoorLock doorLock;
+        #region  鍙橀噺鐢虫槑 
+        public ZigBee.Device.DoorLock doorLock = null;
+        /// <summary>
+        /// 褰撳墠鎴块棿
+        /// </summary>
+        Room currentRoom;
+        /// <summary>
+        /// 璁惧UI瀵硅薄
+        /// </summary>
+        CommonDevice deviceUI;
         /// <summary>
         /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
         /// </summary>
@@ -36,8 +49,20 @@
         /// 璁惧鐨勬煇涓�鍥炶矾
         /// </summary>
         private CommonDevice deviceObj = null;
+        /// <summary>
+        /// 璁惧瀵硅薄
+        /// </summary>
+        private List<CommonDevice> listNewDevice = new List<CommonDevice> { };
+        Action action;
+        Action actionNone;
+        string modifyDeviceName = "";
+        bool IsModifyName = true;
+        public Action<string> devicNameAction;
+        private VerticalListControl listview = null;//鍔熻兘鍒楄〃
+        FrameLayout bottomFrameLayout;
         #endregion
 
+        #region  UI鏄剧ず  
         /// <summary>
         /// UI鏄剧ず 
         /// </summary>
@@ -56,48 +81,45 @@
             MidFrameLayoutContent();
 
         }
+        #endregion
 
+        #region  涓儴鏄剧ず  
         public void MidFrameLayoutContent()
         {
+            //鍥剧墖
+            var btnPic = new DeviceInfoIconControl();
+            btnPic.Y = Application.GetRealHeight(92);
+            btnPic.Gravity = Gravity.CenterHorizontal;
+            this.midFrameLayout.AddChidren(btnPic);
+            btnPic.InitControl(doorLock);
 
-            var MidTopFrameLayout = new FrameLayout()
+            var btnDeviceText = new Button()
             {
-                X = Application.GetRealWidth(449),
-                Y = Application.GetRealHeight(58),
-                Width = Application.GetRealWidth(184),
-                Height = Application.GetRealHeight(184),
-                BackgroundImagePath = "DoorLock/DoorlockPicture.png",
+                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(MidTopFrameLayout);
+            this.midFrameLayout.AddChidren(btnDeviceText);
+
             BottomFrameLayout();
         }
+        #endregion
 
+        #region  搴曢儴鏄剧ず 
         public void BottomFrameLayout()
         {
             #region  UI 
-            var bottomFrameLayout = new FrameLayout()
+            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(1054),
-                Y = Application.GetRealHeight(418),
-            };
-            this.midFrameLayout.AddChidren(bottomFrameLayout2);
+            bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
 
             var informationEdit = new Button()
             {
@@ -109,331 +131,365 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = 15,
             };
-            bottomFrameLayout2.AddChidren(informationEdit);
+            bottomFrameLayout.AddChidren(informationEdit);
 
-            for (int i = 0; i < 6; i++)
+            listview = new VerticalListControl()
             {
-                var bottomRowLayout = new FrameLayout()
-                {
-                    Height = Application.GetRealHeight(58),
-                };
-                bottomFrameLayout2.AddChidren(bottomRowLayout);
+                Height = Application.GetRealHeight(1319 - 141),
+                Y = Application.GetRealHeight(170),
+            };
+            bottomFrameLayout.AddChidren(listview);
+            #endregion
 
-                var btnName = new Button()
-                {
-                    Width = Application.GetRealWidth(233),
-                    Height = Application.GetRealHeight(58),
-                    X = Application.GetRealWidth(58),
-                    TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextSize = 14,
-                };
-                bottomRowLayout.AddChidren(btnName);
+            FunctionDetail(doorLock);
+        }
+        #endregion
 
-                var btnNextFrameLayout = new FrameLayout()
+        #region  鍔熻兘鏄剧ず  
+        void FunctionDetail(ZigBee.Device.DoorLock doorLock)
+        {
+            listview.RemoveAll();
+            //璁惧澶囨敞
+            string caption = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm);
+            string deviceName = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
+            var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
+            listview.AddChidren(btnNote);
+            btnNote.InitControl();
+            //鍒掔嚎
+            btnNote.AddBottomLine();
+            btnNote.txtInput.FinishInputEvent += () =>
+            {
+                string oldName = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
+                if (btnNote.Text == string.Empty)
                 {
-                    Width = Application.GetRealWidth(104),
-                    Height = Application.GetRealHeight(58),
-                    X = Application.GetRealWidth(861 + 58),
-                };
-                bottomRowLayout.AddChidren(btnNextFrameLayout);
-
-                var btnNext = new Button()
-                {
-                    Width = Application.GetRealWidth(58),
-                    Height = Application.GetRealHeight(58),
-                    X = Application.GetRealWidth(46)
-                };
-                btnNextFrameLayout.AddChidren(btnNext);
-
-                var btnLine = new FrameLayout()
-                {
-                    Width = Application.GetRealWidth(965),
-                    Height = 1,
-                    X = Application.GetRealWidth(58),
-                    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
-                    Visible = false,
-                };
-                bottomFrameLayout2.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.TextAlignment = TextAlignment.CenterLeft;
-                    btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
-                    btnNext.Text = doorLock.DeviceName;
-                    btnLine.Visible = true;
-                    btnLine.Y = Application.GetRealHeight(303);
+                    btnNote.Text = oldName;
                 }
-                else if (i == 1)
+                if (oldName != btnNote.Text)
                 {
-                    bottomRowLayout.Y = Application.GetRealHeight(312);
-                    bottomRowLayout.Height = Application.GetRealHeight(127);
-                    btnName.Width = Application.GetRealWidth(0);
-                    btnNextFrameLayout.Width = Application.GetRealWidth(0);
-                    //鎵�灞炲尯鍩�
-                    var rowBeloneArea = new BelongAreaControl(0);
-                    bottomRowLayout.AddChidren(rowBeloneArea);
+                    //淇敼鍚嶅瓧
+                    this.DeviceReName(btnNote.Text, false);
+                }
+            };
 
-                    rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), doorLock);
-                    //搴曠嚎
-                    rowBeloneArea.AddBottomLine();
-                    rowBeloneArea.SelectRoomEvent += (roomKeys) =>
+            //鎵�灞炲尯鍩�
+            var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
+            listview.AddChidren(rowBeloneArea);
+            rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice);
+            //搴曠嚎
+            rowBeloneArea.AddBottomLine();
+
+            var listCheck = new List<string>();
+            rowBeloneArea.SelectRoomEvent += (roomKeys) =>
+            {
+                //閫夋嫨鏈垎閰嶆椂,娓呯┖
+                if (roomKeys == string.Empty) { listCheck = new List<string>(); }
+                foreach (var device in this.listNewDevice)
+                {
+                    if (roomKeys == string.Empty)
+                    {
+                        //濡傛灉閫夋嫨鐨勬槸鏈垎閰嶏紝鍒欏畠鐨勫叏閮ㄥ洖璺棤鏉′欢鍏ㄩ儴娓呯┖鎴块棿
+                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
+                        continue;
+                    }
+                    var room = HdlRoomLogic.Current.GetRoomByDevice(device);
+                    string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
+                    if (room == null)
                     {
-                        //鍙樻洿鎴块棿
-                        Common.Room.CurrentRoom.ChangedRoom(doorLock, roomKeys);
-                    };
-                    btnLine.Visible = false;
-                }
-                else if (i == 2)
-                {
-                    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);
-
-                    btnNext.TextAlignment = TextAlignment.CenterLeft;
-                    btnNext.Height = Application.GetRealHeight(58);
-                    btnNext.Text = doorLock.DeviceName;
-                    btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
-
-                    btnLine.Visible = true;
-                    btnLine.Y = Application.GetRealHeight(575);
-                }
-                else if (i == 3)
-                {
-                    bottomRowLayout.Y = Application.GetRealHeight(585 + 35);
-                    btnName.Text = Language.StringByID(R.MyInternationalizationString.TemporaryPassword);
-
-                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
-
-                    btnLine.Visible = true;
-                    btnLine.Y = Application.GetRealHeight(714);
-                }
-                else if (i == 4)
-                {
-                    bottomRowLayout.Y = Application.GetRealHeight(723 + 35);
-                    btnNext.X = Application.GetRealWidth(0);
-                    btnName.Text = Language.StringByID(R.MyInternationalizationString.RemotelyUnlock);
-                    btnNext.Width = Application.GetRealWidth(104);
-                    btnNext.Height = Application.GetRealHeight(63);
-                    btnNext.UnSelectedImagePath = "DoorLock/Switch.png";
-                    btnNext.SelectedImagePath = "DoorLock/SwitchOn.png";
-                    btnLine.Visible = true;
-                    btnLine.Y = Application.GetRealHeight(853);
-                    if (doorLock.RemoteUnlockPassword == "")
+                        //杩欓噷鏈夌偣鐗规畩,濡傛灉鍥炶矾娌℃湁璁剧疆鏈夊尯鍩熺殑鏃跺��,鎵嶈缃�
+                        listCheck.Add(mainKeys);
+                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
+                    }
+                    else if (listCheck.Contains(mainKeys) == true)
                     {
-                        btnNext.IsSelected = false;
+                        //濡傛灉杩欎釜鍥炶矾涔嬪墠閮借繕娌℃湁鍖哄煙,鍦ㄦ湰鐣岄潰杩樻病鏈夊叧闂箣鍓�,鍙互鏃犳潯浠堕殢渚垮彉鏇�
+                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
+                    }
+                }
+                //淇濆瓨璁惧鎴块棿绱㈠紩
+                Common.LocalDevice.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys);
+            };
+
+            //璁惧妯″潡
+            caption = Language.StringByID(R.MyInternationalizationString.BelongDevice);
+            deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice);
+            var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2);
+            btnType.UseClickStatu = false;
+            listview.AddChidren(btnType);
+            btnType.InitControl();
+            //鍒掔嚎
+            btnType.AddBottomLine();
+
+            //娣诲姞鍏ㄩ儴鑿滃崟
+            this.AddAllMenuRow();
+            FinishInitControl(bottomFrameLayout, this.listview);
+            //淇濆瓨
+            var btnFinish = new BottomClickButton();
+            btnFinish.Y = Application.GetRealHeight(1054);
+            btnFinish.TextID = R.MyInternationalizationString.uSave;
+            bottomFrameLayout.AddChidren(btnFinish);
+            btnFinish.ButtonClickEvent += (sender, e) =>
+            {
+                string oldName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
+                if (btnNote.Text.Trim() == string.Empty)
+                {
+                    btnNote.Text = oldName;
+                }
+                if (oldName != btnNote.Text.Trim())
+                {
+                    //淇敼鍚嶅瓧
+                    this.DeviceReName(btnNote.Text.Trim(), true);
+                }
+                else
+                {
+                    //鍏抽棴鑷韩
+                    this.CloseForm();
+                }
+            };
+        }
+        #endregion
+
+        #region  娣诲姞鍏ㄩ儴鑿滃崟 
+        /// <summary>
+        /// 娣诲姞鍏ㄩ儴鑿滃崟
+        /// </summary>
+        private void AddAllMenuRow()
+        {
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+            {
+                //娣诲姞銆愪复鏃跺瘑鐮併�戣
+                this.AddTempPasswordRow();
+                //娣诲姞銆愯繙绋嬪紑閿併�戣
+                this.AddRemoteUnLocksRow();
+                //娣诲姞銆愰棬閿佹椂闂淬�戣
+                this.AddDoorLocksTimeRow();
+            }
+            else
+            {
+                //娣诲姞銆愯繙绋嬪紑閿併�戣
+                this.AddRemoteUnLocksRow();
+            }
+        }
+        #endregion
+
+        #region 涓存椂瀵嗙爜 
+        /// <summary>
+        /// 涓存椂瀵嗙爜
+        /// </summary>
+        private void AddTempPasswordRow()
+        {
+            //鐢ㄦ埛绠$悊
+            string caption = Language.StringByID(R.MyInternationalizationString.TemporaryPassword);
+            var btnRow = new FrameRowControl(listview.rowSpace / 2);
+            listview.AddChidren(btnRow);
+            btnRow.AddLeftCaption(caption, 600);
+            //鍚戝彸鍥炬爣
+            btnRow.AddRightArrow();
+            //搴曠嚎
+            btnRow.AddBottomLine();
+            btnRow.ButtonClickEvent += async (sender, e) =>
+            {
+                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();
+                };
+                actionNone = async () =>
+                {
+                    Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock);
+                };
+                HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
+            };
+        }
+
+        #endregion
+
+        #region 杩滅▼寮�閿� 
+        /// <summary>
+        /// 娣诲姞銆愯繙绋嬪紑閿併�戣锛堥棬閿佷笓鐢級
+        /// </summary>
+        private void AddRemoteUnLocksRow()
+        {
+            //杩滅▼寮�閿�
+            string caption = Language.StringByID(R.MyInternationalizationString.uRemoteUnLocks);
+            var btnRow = new FrameRowControl(listview.rowSpace / 2);
+            btnRow.UseClickStatu = false;
+            listview.AddChidren(btnRow);
+            btnRow.AddLeftCaption(caption, 600);
+            //寮�鍏冲浘鏍�
+            var btnswitch = btnRow.AddMostRightSwitchIcon();
+            //搴曠嚎
+            btnRow.AddBottomLine();
+
+            var doorLock = (ZigBee.Device.DoorLock)listNewDevice[0];
+            if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword) == false)
+            {
+                btnswitch.IsSelected = true;
+            }
+
+            btnswitch.ButtonClickEvent += async (sender, e) =>
+            {
+                if (UserCenterResourse.UserInfo.AuthorityNo == 1)
+                {
+                    if (btnswitch.IsSelected == true)
+                    {
+                        btnswitch.IsSelected = false;
+                        doorLock.RemoteUnlockPassword = string.Empty;
+                        return;
+                    }
+                    var frame = new DoorLock.DoorLockCommonLayout();
+                    frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
+                    frame = null;
+                }
+                else
+                {
+                    var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                    if (result == false)
+                    {
+                        var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                        if (result1 == true)
+                        {
+                            if (btnswitch.IsSelected == true)
+                            {
+                                btnswitch.IsSelected = false;
+                                doorLock.RemoteUnlockPassword = string.Empty;
+                                return;
+                            }
+                            var frame = new DoorLock.DoorLockCommonLayout();
+                            frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
+                            frame = null;
+                        }
+                        else
+                        {
+                            this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess));
+                        }
                     }
                     else
                     {
-                        btnNext.IsSelected = true;
+                        this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
                     }
                 }
-                else if (i == 5)
+            };
+        }
+
+        #endregion
+
+        #region 闂ㄩ攣鏃堕棿 
+
+        /// <summary>
+        /// 娣诲姞銆愰棬閿佹椂闂淬�戣锛堥棬閿佷笓鐢級
+        /// </summary>
+        private void AddDoorLocksTimeRow()
+        {
+            //闂ㄩ攣鏃堕棿
+            string caption = Language.StringByID(R.MyInternationalizationString.uDoorLocksTime);
+            var btnRow = new FrameRowControl(listview.rowSpace / 2);
+            listview.AddChidren(btnRow);
+            btnRow.AddLeftCaption(caption, 600);
+            //鍚戝彸鍥炬爣
+            btnRow.AddRightArrow();
+            //搴曠嚎
+            btnRow.AddBottomLine();
+            var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
+            btnRow.ButtonClickEvent += async (sender, e) =>
+            {
+                if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                 {
-                    bottomRowLayout.Y = Application.GetRealHeight(861 + 35);
-                    btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime);
-                    btnNextFrameLayout.Y = btnName.Y;
-                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
-                    btnLine.Visible = false;
-                    btnLine.Y = Application.GetRealHeight(992);
+                    var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+                    Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                    tempPage.Show();
                 }
-                //else if (i == 6)
-                //{
-                //    bottomRowLayout.Y = Application.GetRealHeight(999 + 35);
-                //    btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockShare);
-                //    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
-                //    btnLine.Visible = true;
-                //    btnLine.Y = Application.GetRealHeight(1131);
-                //}
-                int currentIndex = i;
-                EventHandler<MouseEventArgs> eHandler = async (sender, e) =>
-                 {
-                     if (currentIndex == 1)
-                     {
-                         //鑾峰彇璁惧鎵�灞炴埧闂�
-                         var aa = Common.Room.CurrentRoom.GetRoomByDevice(doorLock);
-                         //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
-                         var bb = aa.FloorId;
-                         //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
-                         var cc = aa.FloorId;
-                         //鑾峰彇妤煎眰鐨勫悕瀛�
-                         var dd = Common.Config.Instance.Home.GetFloorNameById(cc);
-                         //if (Common.Config.Instance.Home.FloorDics.Count == 0)//杩欎釜鏄棤妤煎眰妯″紡
+                else
+                {
+                    var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+                    if (result == false)
+                    {
+                        var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+                        Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                        tempPage.Show();
+                    }
+                    else
+                    {
+                        this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
+                    }
+                }
+            };
+        }
 
-                         var listCheck = new List<string>();
-                     }
-                     else if (currentIndex == 3)
-                     {
-                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
-                         if (result == false)
-                         {
-                             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();
-                         }
-                         else
-                         {
-                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                         }
+        #endregion
 
-                     }
-                     else if (currentIndex == 4)
-                     {
-                         if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-                         {
-                             var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
-                             if (result == false)
-                             {
-                                 var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
-                                 if (result1 == true)
-                                 {
-                                     btnNext.IsSelected = !btnNext.IsSelected;
-                                     if (btnNext.IsSelected)
-                                     {
-                                         if (doorLock.RemoteUnlockPassword == "")
-                                         {
-                                             RemotePasswordDialog(doorLock, btnNext);
-                                         }
-                                     }
-                                     else
-                                     {
-                                         doorLock.RemoteUnlockPassword = "";
-                                     }
-                                 }
-                                 else
-                                 {
-                                     new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                                 }
-                             }
-                             else
-                             {
-                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                             }
-                         }
-                         else
-                         {
-                             btnNext.IsSelected = !btnNext.IsSelected;
-                             if (btnNext.IsSelected)
-                             {
-                                 if (doorLock.RemoteUnlockPassword == "")
-                                 {
-                                     RemotePasswordDialog(doorLock, btnNext);
-                                 }
-                             }
-                             else
-                             {
-                                 doorLock.RemoteUnlockPassword = "";
-                             }
-                         }
-                     }
-                     else if (currentIndex == 5)
-                     {
-                         var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
-                         if (result == false)
-                         {
-                             var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
-                             Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
-                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
-                             tempPage.Show();
-                         }
-                         else
-                         {
-                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
-                         }
-                     }
-                 };
-                bottomRowLayout.MouseDownEventHandler += eHandler;
-                btnNext.MouseDownEventHandler += eHandler;
-                btnName.MouseDownEventHandler += eHandler;
-                btnNextFrameLayout.MouseDownEventHandler += eHandler;
-                #endregion
+        #region  璁惧閲嶅懡鍚� 
+        /// <summary>
+        /// 璁惧閲嶅懡鍚�
+        /// </summary>
+        /// <param name="i_deviceName">deviceName.</param>
+        private void DeviceReName(string i_deviceName, bool closeForm)
+        {
+            //寮�鍚繘搴︽潯
+            this.ShowProgressBar();
+
+            //淇敼MAC鍚�
+            string deviceName = i_deviceName.Trim();
+            var result = Common.LocalDevice.Current.ReMacName(listNewDevice, deviceName);
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+
+            if (result == false)
+            {
+                return;
             }
+            else
+            {
+                if (devicNameAction != null)
+                {
+                    devicNameAction(deviceName);
+                }
+            }
+            if (closeForm == true)
+            {
+                //鍏抽棴鐣岄潰
+                this.CloseForm();
+            }
+            else
+            {
+                //璁惧澶囨敞淇敼鎴愬姛!
+                string msg = Language.StringByID(R.MyInternationalizationString.uDeviceReNoteSuccess);
+                this.ShowMassage(ShowMsgType.Tip, msg);
+            }
+        }
+        #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 += async (sender, e) =>
-            //{
-            //    //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧
-            //    dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
-            //    //寮�鍚繘搴︽潯
-            //    this.ShowProgressBar();
-            //    foreach (var epoint in dicDeviceSaveName.Keys)
-            //    {
-            //        var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
-            //        if (device == null || dicDeviceSaveName[epoint] == string.Empty)
-            //        {
-            //            //涓嶈兘鍏佽绌虹櫧鍚嶅瓧
-            //            continue;
-            //        }
-            //        string newName = dicDeviceSaveName[epoint];
-            //        string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device);
-            //        if (oldName != newName)
-            //        {
-            //            //璁惧鍚嶇О淇敼
-            //            var result = await Common.LocalDevice.Current.ReName(device, newName);
-            //            if (result == false)
-            //            {
-            //                //鍏抽棴
-            //                this.CloseProgressBar();
-            //                return;
-            //            }
-            //        }
-            //    }
-            //    this.CloseProgressBar();
-            //    //鍏抽棴鑷韩
-            //    this.CloseForm();
-            //};
-        }
+        #region  琛屾暟瓒呰繃瀹瑰櫒鏃讹紝琛ヤ竴涓┖鐧紽rameLayout 
+        /// <summary>
+        /// 琛屾暟瓒呰繃瀹瑰櫒鏃讹紝琛ヤ竴涓┖鐧紽rameLayout锛屼娇涔嬭兘婊戝姩
+        /// </summary> 
+        void FinishInitControl(FrameLayout bodyFrameLayout, VerticalListControl listview)
+        {
+            if (listview.ChildrenCount > 0)
+            {
+                var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount;
 
-        #region 鈼� 鎺ュ彛瀹炵幇__________________________
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
+                if (bodyFrameLayout.Height - Application.GetRealHeight(1054) + realHeight > listview.Height)
+                {
+                    //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩
+                    var frameTemp = new FrameLayout();
+                    frameTemp.Height = bodyFrameLayout.Height - Application.GetRealHeight(1054) + Application.GetRealHeight(115);
+                    listview.AddChidren(frameTemp);
+                }
+            }
+        }
+        #endregion
 
-        }
+        #region 绉婚櫎鏂规硶
         /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢
+        /// 閲嶅啓绉婚櫎鏂规硶
         /// </summary>
-        /// <param name="common"></param>
-        /// <param name="typeTag"></param>
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
+        public override void RemoveFromParent()
         {
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
+            base.RemoveFromParent();
         }
         #endregion
     }

--
Gitblit v1.8.0