using System; using Newtonsoft.Json.Linq; using Shared.Common; using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock { public class DoorLockCommonLayout : EditorCommonForm { public DoorLockCommonLayout() { } #region ◆ 变量申明__________________________ public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout }; public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout }; #region ◆ 底部有圆角布局__________________________ public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 }; public FrameLayout bottomRadiusFrameLayout1 = new FrameLayout() { Height = Application.GetRealHeight(100), Y = Application.GetRealHeight(930), Radius = 17, BackgroundColor = ZigbeeColor.Current.XMWhite, }; public FrameLayout bottomRadiusFrameLayout2 = new FrameLayout() { Height = Application.GetRealHeight(806 - 50), Y = Application.GetRealHeight(930 + 48), BackgroundColor = ZigbeeColor.Current.XMWhite, }; public FrameLayout bottomRadiusFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(806), Y = Application.GetRealHeight(930), }; 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, }; 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, }; 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.XMGray3, TextSize = 14, }; #endregion /// /// ◆ 中部刷新布局__________________________ /// //public VerticalRefreshLayout midVerticalScrolViewLayout = new VerticalRefreshLayout() //{ //}; /// /// ◆ 标题栏布局__________________________ /// public FrameLayout titleFrameLayout = new FrameLayout { Y = Application.GetRealHeight(92), X = Application.GetRealWidth(58 * 2), Width = Application.GetRealWidth(1080 - 116), Height = Application.GetRealHeight(69), }; /// /// 标题返回布局 /// public FrameLayout btnBackFrameLayout = new FrameLayout { Width = Application.GetRealWidth(58 * 2), }; /// /// 标题返回按键 /// 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", }; /// /// 标题下线 /// public Button btnTitleLine = new Button { Y = Application.GetRealHeight(181), Height = 1, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine, }; /// /// 弹窗取消按键 /// 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 /// /// 门锁顶部布局 /// /// 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, X = Application.GetRealWidth(161 - 116), }; titleFrameLayout.AddChidren(title); btnBackFrameLayout.AddChidren(btnBack); } /// /// 门锁中部布局 /// /// public void MidFrameLayout(FrameLayout frameLayout) { midFrameLayout.Y = topFrameLayout.Bottom; this.AddChidren(midFrameLayout); } /// /// 门锁底部布局 /// /// 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); } /// /// 门锁底部带圆角布局 /// /// public void BottomRadiusFrameLayout(FrameLayout frameLayout) { this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout1); this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout2); this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout); this.bottomRadiusFrameLayout.AddChidren(btnCancel); this.bottomRadiusFrameLayout.AddChidren(btnBottomTitle); this.bottomRadiusFrameLayout.AddChidren(btnFinish); } /// /// 远程控制权限处理 /// /// 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(25), TextSize = 13, PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3, PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputUnlockPasswrd), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.BottomLeft, }; 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("Loading..."); }); if (DateTime.Now < ZigBee.Device.DoorLock.minValue) { CommonPage.Loading.Hide(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); 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(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); 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(); new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); 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.Option.DoorUnLockByRemote) { var dialog2 = new Dialog { }; var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip)); doorDialog2.Show(); doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674); doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115); doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60); doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167); doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting); var midText1 = new Button() { Width = Application.GetRealWidth(674), Height = Application.GetRealHeight(115 / 2), TextSize = 14, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip1, }; doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1); var midText2 = new Button() { Width = Application.GetRealWidth(674), Height = Application.GetRealHeight(115 / 2), Y = Application.GetRealHeight(115 / 2), TextSize = 14, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip2, }; doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2); doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) => { dialog2.Close(); }; doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) => { var form = new UserCenter.UserMain.SecondAuthenticationForm(); form.AddForm(); dialog2.Close(); }; } 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(); new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); return; } } else { CommonPage.Loading.Hide(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); return; } }; doorDialog.flMain.MouseUpEventHandler += (sender11, e11) => { if (btnNext != null) { btnNext.IsSelected = false; } dialog.Close(); }; } /// /// 安全验证 /// /// 门锁设备 /// 二次验证的结果成功后的通知 public static void SecurityRequest(ZigBee.Device.DoorLock doorLock, Action action) { var dialog2 = new Dialog { }; var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip)); doorDialog2.Show(); doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674); doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115); doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60); doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167); doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting); var midText1 = new Button() { Width = Application.GetRealWidth(674), Height = Application.GetRealHeight(115 / 2), TextSize = 14, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.GoPersonalCenter, }; doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1); var midText2 = new Button() { Width = Application.GetRealWidth(674), Height = Application.GetRealHeight(115 / 2), Y = Application.GetRealHeight(115 / 2), TextSize = 14, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.OpenRemoteVerification, }; doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2); doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) => { dialog2.Close(); }; doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) => { var form = new UserCenter.UserMain.SecondAuthenticationForm(); form.AddForm(); dialog2.Close(); }; } /// /// 远程开锁请求 /// /// 门锁设备 /// 二次验证的结果成功后的通知 /// 门锁开或关时进度显示 /// 门锁图片开/关显示 public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null) { if (doorLock.RemoteUnlockPassword == "") { var dialog = new Dialog { }; var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip)); doorDialog.Show(); doorDialog.dialogMidFraFrameLayout.Width = Application.GetRealWidth(415); doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(190); doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock); doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting); doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { dialog.Close(); }; doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) => { if (UserCenterResourse.UserInfo.AuthorityNo == 1) { var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); 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; } } }; dialog.Close(); } else { var functionSettingSub = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSettingSub); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; functionSettingSub.Show(); functionSettingSub.devicNameAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) { if (!string.IsNullOrEmpty(deviceRename)) { if (btnDoorLockTitle != null) { btnDoorLockTitle.Text = deviceRename; } } } }; dialog.Close(); } }; return; } if (!UserCenterResourse.Option.DoorUnLockByRemote) { var dialog2 = new Dialog { }; var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip)); doorDialog2.Show(); doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674); doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115); doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60); doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167); doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.GoSetting); var midText1 = new Button() { Width = Application.GetRealWidth(674), Height = Application.GetRealHeight(115 / 2), TextSize = 14, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.GoPersonalCenter, }; doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1); var midText2 = new Button() { Width = Application.GetRealWidth(674), Height = Application.GetRealHeight(115 / 2), Y = Application.GetRealHeight(115 / 2), TextSize = 14, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.OpenRemoteVerification, }; doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2); doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) => { dialog2.Close(); }; doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) => { var form = new UserCenter.UserMain.SecondAuthenticationForm(); form.AddForm(); dialog2.Close(); }; return; } var dialog3 = new Dialog { }; var doorDialog3 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog3, Language.StringByID(R.MyInternationalizationString.UnlockRequest)); doorDialog3.Show(); doorDialog3.dialogMidFraFrameLayout.Width = Application.GetRealWidth(415); doorDialog3.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); doorDialog3.dialogMidFraFrameLayout.X = Application.GetRealWidth(228); doorDialog3.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); doorDialog3.dialogMidFraFrameLayout.AddChidren(doorDialog3.dialogMidText); doorDialog3.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock); doorDialog3.dialogMidFraFrameLayout.AddChidren(doorDialog3.dialogMidText); doorDialog3.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.Confrim); doorDialog3.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { dialog3.Close(); }; doorDialog3.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) => { action = () => { System.Threading.Tasks.Task.Run(async () => { Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); try { 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); } }); //远程开锁 var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword); //开锁成功,返回默认响应 if (remoteControlResult != null && remoteControlResult.responseData != null) { if (remoteControlResult.responseData.status == 0) { ZigBee.Device.DoorLock.failedCount = 3; 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.DoorLockOpen); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); } }); System.Threading.Thread.Sleep(5000); } else { 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.CLose); } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); }); } } else if (remoteControlResult != null && remoteControlResult.IsPawDispear == true) { ZigBee.Device.DoorLock.failedCount--; if (ZigBee.Device.DoorLock.failedCount != 0) { 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.CLose); } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); }); } else { 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.CLose); } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); CommonPage.Loading.Hide(); doorLock.RemoteUnlockPassword = ""; dialog3.Close(); if (UserCenterResourse.UserInfo.AuthorityNo == 1) { var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); 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 { var functionSettingSub = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSettingSub); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; functionSettingSub.Show(); functionSettingSub.devicNameAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) { if (!string.IsNullOrEmpty(deviceRename)) { if (btnDoorLockTitle != null) { btnDoorLockTitle.Text = deviceRename; } } } }; } }); } } else { 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.CLose); } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); }); } } catch { } finally { Application.RunOnMainThread(() => { if (btnStatus != null) { btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); } CommonPage.Loading.Hide(); }); } }); }; HdlCheckLogic.Current.CheckSecondarySecurity(action); dialog3.Close(); }; } // 获取到到名称更改回调通知 public Action devicNameSecAction; } }