From 16604a593202f2f87adf71abd57d036fe7da3b52 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 18 十一月 2019 10:39:42 +0800 Subject: [PATCH] 同步了全部的代码 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | 337 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 240 insertions(+), 97 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs index c3cd244..cef7875 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections.Generic; using Shared.Common; using ZigBee.Device; @@ -19,6 +20,25 @@ #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.DoorLock doorLock; + /// <summary> + /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧 + /// </summary> + private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>(); + /// <summary> + /// 褰撳墠閫夋嫨鐨勮澶� + /// </summary> + private CommonDevice nowSelectDevice = null; + /// <summary> + /// 璁惧澶囨敞鐨勬帶浠� + /// </summary> + private FrameCaptionInputControl btnDeviceName = null; + /// <summary> + /// 璁惧鐨勬煇涓�鍥炶矾 + /// </summary> + private CommonDevice deviceObj = null; + Action action; + string modifyDeviceName = ""; + bool IsModifyName = true; #endregion /// <summary> @@ -26,7 +46,7 @@ /// </summary> public void Show() { - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting)); + this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { @@ -77,7 +97,7 @@ var bottomFrameLayout2 = new FrameLayout() { - Height = Application.GetRealHeight(1319), + Height = Application.GetRealHeight(1000), Y = Application.GetRealHeight(418), }; this.midFrameLayout.AddChidren(bottomFrameLayout2); @@ -90,22 +110,28 @@ Text = Language.StringByID(R.MyInternationalizationString.InformationEdit), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 15, }; bottomFrameLayout2.AddChidren(informationEdit); - for (int i = 0; i < 7; i++) + for (int i = 0; i < 6; i++) { + var bottomRowLayout = new FrameLayout() + { + Height = Application.GetRealHeight(58), + }; + bottomFrameLayout2.AddChidren(bottomRowLayout); + var btnName = new Button() { Width = Application.GetRealWidth(233), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(58), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 14, }; - bottomFrameLayout2.AddChidren(btnName); + bottomRowLayout.AddChidren(btnName); var btnNextFrameLayout = new FrameLayout() { @@ -113,19 +139,20 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(861 + 58), }; - bottomFrameLayout2.AddChidren(btnNextFrameLayout); + bottomRowLayout.AddChidren(btnNextFrameLayout); var btnNext = new Button() { - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(60), + Width = Application.GetRealWidth(58), + Height = Application.GetRealHeight(58), + X = Application.GetRealWidth(46) }; btnNextFrameLayout.AddChidren(btnNext); var btnLine = new FrameLayout() { Width = Application.GetRealWidth(965), - Height = Application.GetRealHeight(5), + Height = 1, X = Application.GetRealWidth(58), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, Visible = false, @@ -134,76 +161,114 @@ if (i == 0) { - btnName.Y = Application.GetRealHeight(204); - btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceName) + ":"; + bottomRowLayout.Y = Application.GetRealHeight(220); + btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm); btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); - btnNextFrameLayout.Y = btnName.Y; - btnNextFrameLayout.X = btnName.Right; - btnNext.TextAlignment = TextAlignment.CenterLeft; - btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - btnNext.Text = "鏅鸿兘闂ㄩ攣"; + btnNextFrameLayout.X = Application.GetRealWidth(233); + btnNext.Text = doorLock.DeviceName; + var btnDeviceNameEditText = new Button() + { + Width = Application.GetRealWidth(789 - 58), + Height = Application.GetRealHeight(58), + X = Application.GetRealWidth(46), + TextAlignment = TextAlignment.CenterLeft, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + Text = 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; + btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(308); + btnLine.Y = Application.GetRealHeight(303); + } else if (i == 1) { - btnName.Y = Application.GetRealHeight(343); - btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongZone) + ":"; - var btnArea = new Button() + 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); + + rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), doorLock); + //搴曠嚎 + rowBeloneArea.AddBottomLine(); + rowBeloneArea.SelectRoomEvent += (roomKeys) => { - Width = Application.GetRealWidth(789 - 109 - 58), - Height = Application.GetRealHeight(58), - X = btnName.Right, - Y = btnName.Y, - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - Text = "涓�妤硷紝瀹㈠巺", - TextAlignment = TextAlignment.CenterLeft, + //鍙樻洿鎴块棿 + Common.Room.CurrentRoom.ChangedRoom(doorLock, roomKeys); }; - bottomFrameLayout2.AddChidren(btnArea); - btnNextFrameLayout.Y = btnName.Y; - btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; - btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(446); + btnLine.Visible = false; } else if (i == 2) { - btnName.Y = Application.GetRealHeight(481); + bottomRowLayout.Y = Application.GetRealHeight(481); btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongModel) + ":"; btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); - btnNextFrameLayout.Y = btnName.Y; - btnNextFrameLayout.X = btnName.Right; + btnNextFrameLayout.X = Application.GetRealWidth(233); btnNext.TextAlignment = TextAlignment.CenterLeft; btnNext.Height = Application.GetRealHeight(58); - btnNext.Text = "HDL-Doorlock"; - btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnNext.Text = doorLock.DeviceName; + btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(1025 - 449); + btnLine.Y = Application.GetRealHeight(575); } else if (i == 3) { - btnName.Y = Application.GetRealHeight(585 + 35); + bottomRowLayout.Y = Application.GetRealHeight(585 + 35); btnName.Text = Language.StringByID(R.MyInternationalizationString.TemporaryPassword); - btnNextFrameLayout.Y = btnName.Y; btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(619 + 58 + 35); + btnLine.Y = Application.GetRealHeight(714); } else if (i == 4) { - btnName.Y = Application.GetRealHeight(723 + 35); + bottomRowLayout.Y = Application.GetRealHeight(723 + 35); + btnNext.X = Application.GetRealWidth(0); btnName.Text = Language.StringByID(R.MyInternationalizationString.RemotelyUnlock); - btnNextFrameLayout.Y = btnName.Y; 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(723 + 127); - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") + btnLine.Y = Application.GetRealHeight(853); + if (doorLock.RemoteUnlockPassword == "") { btnNext.IsSelected = false; } @@ -214,66 +279,144 @@ } else if (i == 5) { - btnName.Y = Application.GetRealHeight(861 + 35); + bottomRowLayout.Y = Application.GetRealHeight(861 + 35); btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime); btnNextFrameLayout.Y = btnName.Y; btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; - btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(861 + 127); - } - else if (i == 6) - { - btnName.Y = Application.GetRealHeight(999 + 35); - btnName.Text = Language.StringByID(R.MyInternationalizationString.Shared); - btnNextFrameLayout.Y = btnName.Y; - btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; - btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(999 + 127); + btnLine.Visible = false; + btnLine.Y = Application.GetRealHeight(992); } int currentIndex = i; - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - if (currentIndex == 1) - { - } - else if (currentIndex == 3) - { - 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 if (currentIndex == 4) - { - btnNext.IsSelected = !btnNext.IsSelected; - if (btnNext.IsSelected) - { - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") - { - RemotePasswordDialog(doorLock, btnNext); - } - } - else - { - ZigBee.Device.DoorLock.RemoteUnlockPassword = ""; - } - } - else if (currentIndex == 5) - { - 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 (currentIndex == 6) - { - } - }; + EventHandler<MouseEventArgs> eHandler = async (sender, e) => + { + if (currentIndex == 3) + { + if (!UserCenterResourse.Option.DoorUnLockByRemote) + { + SecurityRequest(doorLock, action); + } + else + { + 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); + } + } + 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.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + } + 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.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + } + }; + bottomRowLayout.MouseDownEventHandler += eHandler; btnNext.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(); + // }); + // } + // }); + //}; } #region 鈼� 鎺ュ彛瀹炵幇__________________________ -- Gitblit v1.8.0