using System; using System.Collections.Generic; using System.ComponentModel; using Shared.Common; using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock { public class UnLockMethod : DoorLockCommonLayout, ZigBee.Common.IStatus { /// /// 处理变化事件 /// /// /// public void DeviceInfoChange(CommonDevice tempDevice, string typeTag) { if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null) { if (tempDevice != null) { if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint && tempDevice.DeviceAddr == doorLock.DeviceAddr) { var doorLock = tempDevice as ZigBee.Device.DoorLock; if (doorLock.doorLockProgrammingEventNotificationCommand != null) { } } } } } /// 构造函数 /// /// public UnLockMethod(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj) { this.doorLock = doorLock; this.curAccountObj = accountObj; BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; } #region 变量申明 /// /// 当前门锁 /// ZigBee.Device.DoorLock doorLock; /// /// 刷新View /// VerticalListRefreshControl bodyView; /// /// 当前选择的方式 /// Button currentMethod; /// /// 当前账户 /// Shared.Phone.UserCenter.MemberInfoRes curAccountObj; /// /// 数据为空,UI显示的空图片 /// Button entryStatusPic; /// /// 数据为空,UI显示的文本提示 /// Button btnPicTip; /// /// 数据为空,UI显示的文本提示 /// Button btnPicTip1; /// /// //是否二次删除 /// bool isSecondDel; /// /// 空数据显示布局 /// FrameLayout blankFrameLayout; #endregion /// /// 读取门锁存储的最新数据 /// void ReadDoorLockUserInfo() { System.Threading.Tasks.Task.Run(async () => { try { var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) { //数据如果在门锁上面是空的时候,数据也是没有的 Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); }); } } catch { } finally { Application.RunOnMainThread(() => { // 类型区分 TypeRefresh(); CommonPage.Loading.Hide(); bodyView.EndHeaderRefreshing(); }); } }); } /// /// UI显示 /// public void Show() { UserView.HomePage.Instance.ScrollEnabled = false; doorLock.currentUserDisplayMethod = ""; this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod)); this.btnTitleLine.Visible = false; EventHandler eHandlerBack = (sender, e) => { this.RemoveFromParent(); }; this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; this.MidFrameLayout(this); var btnAddFrameLayout = new FrameLayout { X = Application.GetRealWidth(953 - 116), Height = Application.GetRealHeight(72), Width = Application.GetRealWidth(72), }; this.titleFrameLayout.AddChidren(btnAddFrameLayout); var btnAdd = new Button { Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(69), UnSelectedImagePath = "DoorLock/AddIcon.png", }; btnAddFrameLayout.AddChidren(btnAdd); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { btnAdd.Width = 0; } btnAdd.MouseDownEventHandler += (sender, e) => { if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); } else { var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addUnLockMethod.Show(); } }; if (UserCenterResourse.UserInfo.AuthorityNo == 3) { btnAddFrameLayout.Width = 0; } else { btnAddFrameLayout.Width = Application.GetRealWidth(72); } MidFrameLayoutContent(); if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) { CommonPage.Loading.Start("Loading..."); ReadDoorLockUserInfo(); } else { RefreshList(); } } /// /// 中部布局 /// void MidFrameLayoutContent() { #region 开锁方式UI var midTopFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(115), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTopFrameLayout, }; this.midFrameLayout.AddChidren(midTopFrameLayout); var btnAllMethod = new Button() { Height = Application.GetRealHeight(49), Width = Application.GetRealWidth(141 + 100), Y = Application.GetRealHeight(35), X = Application.GetRealWidth(812 - 100), TextAlignment = TextAlignment.CenterRight, TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 12, IsBold = true, }; midTopFrameLayout.AddChidren(btnAllMethod); // 类型区分 if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod)) { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock); } else { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); } var btnNext = new Button() { X = Application.GetRealWidth(953), Y = Application.GetRealHeight(20), Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(69), UnSelectedImagePath = "DoorLock/UnLockSideslipIcon.png", SelectedImagePath = "DoorLock/UnLockSideslipIcon.png", }; midTopFrameLayout.AddChidren(btnNext); EventHandler handerSideLip = (sender, e) => { SideslipFramelayout(); }; btnNext.MouseUpEventHandler += handerSideLip; btnAllMethod.MouseUpEventHandler += handerSideLip; var btnLine = new Button { Y = midTopFrameLayout.Bottom, Height = 1, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine, }; this.midFrameLayout.AddChidren(btnLine); #endregion bodyView = new VerticalListRefreshControl(29) { Y = btnLine.Bottom, Height = Application.GetRealHeight(1921 - 184 - 116), }; this.midFrameLayout.AddChidren(bodyView); bodyView.BeginHeaderRefreshingAction += () => { bodyView.BeginHeaderRefreshing(); ReadDoorLockUserInfo(); }; BlankPicUI(); } /// /// 空数据UI显示 /// void BlankPicUI() { blankFrameLayout = new FrameLayout { }; bodyView.AddChidren(blankFrameLayout); entryStatusPic = new Button { X = Application.GetRealWidth(164), Y = Application.GetRealHeight(377), Height = Application.GetRealHeight(435), Width = Application.GetRealHeight(757), Visible = false, UnSelectedImagePath = "DoorLock/UnLockBlankPic.png", Gravity = Gravity.CenterHorizontal, }; blankFrameLayout.AddChidren(entryStatusPic); btnPicTip = new Button { X = Application.GetRealWidth(397), Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, Visible = false, Y = Application.GetRealHeight(844), TextSize = 12, }; blankFrameLayout.AddChidren(btnPicTip); btnPicTip1 = new Button { X = Application.GetRealWidth(397), Y = Application.GetRealHeight(844 + 49), Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation1), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, Visible = true, TextSize = 12, }; blankFrameLayout.AddChidren(btnPicTip1); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { btnPicTip1.Width = 0; } } /// /// 刷新列表 /// /// /// public void RefreshList(int unlockMethod = -1) { bodyView.RemoveAll(); this.midFrameLayout.RemoveAll(); MidFrameLayoutContent(); var curAccountDoorLockUserList = new Dictionary(); foreach (var curUserId in doorLock.localDoorLockUserList.Keys) { var curDoorLockUser = doorLock.localDoorLockUserList[curUserId]; if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) { continue; } else { curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); } } if (curAccountDoorLockUserList.Count == 0) { entryStatusPic.Visible = true; btnPicTip.Visible = true; btnPicTip1.Visible = true; blankFrameLayout.Visible = true; entryStatusPic.Height = Application.GetRealHeight(435); entryStatusPic.Width = Application.GetRealHeight(757); btnPicTip.Height = Application.GetRealHeight(98 / 2); btnPicTip1.Height = Application.GetRealHeight(98 / 2); blankFrameLayout.Height = bodyView.Height; } else { entryStatusPic.Visible = false; btnPicTip.Visible = false; btnPicTip1.Visible = false; blankFrameLayout.Visible = false; entryStatusPic.Height = Application.GetRealHeight(0); entryStatusPic.Width = Application.GetRealHeight(0); btnPicTip.Height = Application.GetRealHeight(0); btnPicTip1.Height = Application.GetRealHeight(0); blankFrameLayout.Height = Application.GetRealHeight(0); int i = 0; foreach (var curUserId in curAccountDoorLockUserList.Keys) { var curDoorLockUser = curAccountDoorLockUserList[curUserId]; switch (unlockMethod) { case 0: if (curDoorLockUser.UnlockType != unlockMethod) { continue; } break; case 3: if (curDoorLockUser.UnlockType != unlockMethod) { continue; } break; case 15: if (curDoorLockUser.UnlockType != unlockMethod) { continue; } break; default: break; } #region UI var rowFrameLayout = new RowLayoutControl(bodyView.rowSpace / 2); rowFrameLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; bodyView.AddChidren(rowFrameLayout); rowFrameLayout.frameTable.UseClickStatu = false; var btnicon = rowFrameLayout.frameTable.AddLeftIcon(); btnicon.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; //上面门锁用户名称一行 var memberText = ""; if (string.IsNullOrEmpty(curAccountObj.UserName)) { memberText = curAccountObj.Account; } else { memberText = curAccountObj.UserName; } //成员一行 var btnaa = rowFrameLayout.frameTable.AddBottomView(memberText, 800); var btnDoorlockUser = new EditText() { Width = Application.GetRealWidth(800), Height = Application.GetRealHeight(60), X = btnaa.X, Y = rowFrameLayout.chidrenYaxis + Application.GetRealHeight(12), TextSize = 14, PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, }; rowFrameLayout.frameTable.AddChidren(btnDoorlockUser, ChidrenBindMode.NotBind); rowFrameLayout.frameTable.AddBottomLine(); var btndelete = rowFrameLayout.AddDeleteControl(); btndelete.ButtonClickEvent += (sender, e) => { string msg = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod); var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); alert.Show(); //使用确认型弹框时,的回调函数 alert.ConfirmClickEvent += async () => { try { CommonPage.Loading.Start(""); var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); var resultData = await doorLock.DefaultControlAsync(passData); if (resultData != null && resultData.defaultControlResponseData != null) { if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) { var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); deleteDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) { deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; deleteDoorLockData.DelDoorLockDelType = 2; var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); if (result != null) { if (result.StateCode == "Success") { isSecondDel = false; if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) { doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; localDoorLockObj.UserID = curDoorLockUser.UserID; doorLock.localDoorLockUserList.Remove(curUserId); doorLock.ReSave(); TypeRefresh(); } } else { //开关图标 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } else { isSecondDel = true; new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } else { if (isSecondDel) { var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); deleteDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) { deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; deleteDoorLockData.DelDoorLockDelType = 2; var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); if (result != null) { if (result.StateCode == "Success") { isSecondDel = false; if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) { doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; localDoorLockObj.UserID = curDoorLockUser.UserID; doorLock.localDoorLockUserList.Remove(curUserId); TypeRefresh(); } } else { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } else { isSecondDel = true; new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } else { if (curDoorLockUser.UserID < 10) { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } else { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } } } else { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); } } catch { } finally { CommonPage.Loading.Hide(); } }; }; #endregion #region 数据处理 int currentIndex = i; if (currentIndex == curAccountDoorLockUserList.Keys.Count - 1) { rowFrameLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; } switch (curDoorLockUser.UnlockType) { case 0: if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) { btnDoorlockUser.Text = curDoorLockUser.UserName; } else { btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; } break; case 3: if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) { btnDoorlockUser.Text = curDoorLockUser.UserName; } else { btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; } break; case 15: if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) { btnDoorlockUser.Text = curDoorLockUser.UserName; } else { btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; } break; } Action action = async (obj) => { var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); refreshDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) { refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } refreshDoorLockData.OpenLockMode = curDoorLockUser.UnlockType; refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text; var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); if (result != null) { if (result.StateCode == "Success") { if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) { doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; localDoorLockObj.UserID = curDoorLockUser.UserID; localDoorLockObj.UnlockType = curDoorLockUser.UnlockType; localDoorLockObj.PrimaryId = curDoorLockUser.PrimaryId; localDoorLockObj.EntryTime = curDoorLockUser.EntryTime; localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks; localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj); TypeRefresh(); } } else { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } else { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } }; btnDoorlockUser.EditorEnterAction += action; #endregion i++; } } } /// /// 侧边导航栏 /// void SideslipFramelayout() { #region sidelipFrameLayout UI var dialog = new Dialog { }; dialog.Show(); var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; dialog.AddChidren(flMain); flMain.MouseUpEventHandler += (sender11, e11) => { dialog.Close(); }; var sidelipFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(625), Width = Application.GetRealWidth(449), Y = Application.GetRealHeight(115 + 160), X = Application.GetRealWidth(596), BackgroundImagePath = "DoorLock/SideslipPic.png", }; flMain.AddChidren(sidelipFrameLayout); var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(600), Y = Application.GetRealHeight(28), }; sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout); #endregion Button oldbutton = null; Button oldbuttonText = null; for (var i = 0; i < 4; i++) { #region rowFrameLayout UI var rowFrameLayout = new RowLayout() { Height = Application.GetRealHeight(150), LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, X = Application.GetRealWidth(81), }; sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout); var btnAllMethod = new Button() { Width = Application.GetRealWidth(81), Height = Application.GetRealHeight(81), Y = Application.GetRealHeight(35), }; rowFrameLayout.AddChidren(btnAllMethod); var btnMethodText = new Button() { Width = Application.GetRealWidth(311), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(92), Y = Application.GetRealHeight(49), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, }; rowFrameLayout.AddChidren(btnMethodText); #endregion #region 数据处理 EventHandler hander = (sender, e) => { if (!btnAllMethod.IsSelected) { if (oldbutton != null) { oldbutton.IsSelected = false; } if (oldbuttonText != null) { oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; } oldbutton = btnAllMethod; oldbuttonText = btnMethodText; doorLock.currentUserDisplayMethod = btnMethodText.Text; doorLock.ReSave(); btnAllMethod.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; oldbuttonText.IsBold = true; TypeRefresh(); } dialog.Close(); }; rowFrameLayout.MouseUpEventHandler += hander; btnAllMethod.MouseUpEventHandler += hander; btnMethodText.MouseUpEventHandler += hander; DisplayAllUnlockMethod(i, btnAllMethod, btnMethodText); if (string.IsNullOrEmpty(doorLock.currentUserDisplayMethod) && i == 0) { CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0) { CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock) && i == 1) { CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock) && i == 2) { CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock) && i == 3) { CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); } #endregion } } /// /// 类型区分 /// void TypeRefresh() { if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) { RefreshList(0); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) { RefreshList(15); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) { RefreshList(3); } else { RefreshList(); } } /// /// 重写移除方法 /// public override void RemoveFromParent() { UserView.HomePage.Instance.ScrollEnabled = true; ZbGateway.StatusList.Remove(this); base.RemoveFromParent(); } } }