| | |
| | | /// 设备的某一回路 |
| | | /// </summary> |
| | | private CommonDevice deviceObj = null; |
| | | Action action; |
| | | Action actionNone; |
| | | string modifyDeviceName = ""; |
| | | bool IsModifyName = true; |
| | | public Action<string> devicNameAction; |
| | | #endregion |
| | | |
| | | /// <summary>
|
| | |
| | | |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | |
| | | var MidTopFrameLayout = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(449), |
| | |
| | | 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(1054), |
| | | Y = Application.GetRealHeight(418), |
| | | }; |
| | | this.midFrameLayout.AddChidren(bottomFrameLayout2); |
| | | bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | |
| | | var informationEdit = new Button() |
| | | { |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 15, |
| | | }; |
| | | bottomFrameLayout2.AddChidren(informationEdit); |
| | | bottomFrameLayout.AddChidren(informationEdit); |
| | | |
| | | for (int i = 0; i < 6; i++) |
| | | { |
| | |
| | | { |
| | | Height = Application.GetRealHeight(58), |
| | | }; |
| | | bottomFrameLayout2.AddChidren(bottomRowLayout); |
| | | bottomFrameLayout.AddChidren(bottomRowLayout); |
| | | |
| | | var btnName = new Button() |
| | | { |
| | |
| | | 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.TextAlignment = TextAlignment.CenterLeft; |
| | | btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; |
| | | btnNext.Text = doorLock.DeviceName; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58 - 20); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233 + 20); |
| | | var btnDeviceNameEditText = new EditText() |
| | | { |
| | | 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, |
| | | 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; |
| | | |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(303); |
| | | |
| | | } |
| | | else if (i == 1) |
| | | { |
| | |
| | | { |
| | | 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); |
| | | } |
| | |
| | | btnNext.SelectedImagePath = "DoorLock/SwitchOn.png"; |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(853); |
| | | if (doorLock.RemoteUnlockPassword == "") |
| | | if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword)) |
| | | { |
| | | btnNext.IsSelected = false; |
| | | } |
| | |
| | | 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); |
| | | } |
| | | //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) |
| | | if (currentIndex == 3) |
| | | { |
| | | //获取设备所属房间 |
| | | 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)//这个是无楼层模式 |
| | | |
| | | 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) |
| | | 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(); |
| | | } |
| | | else |
| | | }; |
| | | actionNone = async () => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | } |
| | | |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action); |
| | | }; |
| | | HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone); |
| | | } |
| | | else if (currentIndex == 4) |
| | | { |
| | |
| | | btnNext.IsSelected = !btnNext.IsSelected; |
| | | if (btnNext.IsSelected) |
| | | { |
| | | if (doorLock.RemoteUnlockPassword == "") |
| | | if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword)) |
| | | { |
| | | RemotePasswordDialog(doorLock, btnNext); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | 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.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | 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 == "") |
| | | if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword)) |
| | | { |
| | | RemotePasswordDialog(doorLock, btnNext); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | 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; |
| | | 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 += 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(); |
| | | //}; |
| | | 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 ◆ 接口实现__________________________ |