From c1547bfd3de3528fbadfd7b9154086a1f1c7ece2 Mon Sep 17 00:00:00 2001
From: lss <lsc@hdlchina.com.cn>
Date: 星期三, 15 六月 2022 13:03:59 +0800
Subject: [PATCH] 测试推送正常
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs | 415 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 360 insertions(+), 55 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
old mode 100755
new mode 100644
index 08dbd3b..2beae28
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
@@ -14,8 +14,16 @@
{
}
#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 };
+ public new FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
+ public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1925 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
+ /// <summary>
+ /// 閫変腑鐨勫紑閿佹柟寮忓洖璋�
+ /// </summary>
+ public Action<string> ChooseUnlockMethodAction = null;
+ /// <summary>
+ /// 閫変腑鐨勫紑閿佹柟寮忓洖璋�
+ /// </summary>
+ public Action<int> UndateUnlockMethodAction = null;
#region 搴曢儴鏈夊渾瑙掑竷灞�
/// 鑳屾櫙闃村奖鐣岄潰
/// </summary>
@@ -120,7 +128,6 @@
Height = 1,
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine,
};
-
/// <summary>
/// 寮圭獥鍙栨秷鎸夐敭
@@ -227,12 +234,13 @@
var editInputPassword = new EditText()
{
- X = Application.GetRealHeight(25),
+ X = Application.GetRealHeight(15),
TextSize = 13,
- PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray4,
PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputUnlockPasswrd),
- TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
- TextAlignment = TextAlignment.BottomLeft,
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+ TextAlignment = TextAlignment.CenterLeft,
+ IsNumberKeyboardType = true,
};
editInputPasswordFrameLayout.AddChidren(editInputPassword);
@@ -251,7 +259,7 @@
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);
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoFiftySeconds));
return;
}
@@ -266,7 +274,7 @@
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);
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds));
return;
}
@@ -275,7 +283,7 @@
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);
+ this.ShowMassage(ShowMsgType.Tip, tipText);
return;
}
@@ -284,6 +292,8 @@
{
if (verifyResult.result == 0)
{
+ ///淇濆瓨杩滅▼闂ㄩ攣瀵嗙爜
+ new Device.DeviceMacInfoEditorForm { }.SaveLocalPassword(editInputPassword.Text);
System.Threading.Thread.Sleep(500);
doorLock.RemoteUnlockPassword = editInputPassword.Text;
ZigBee.Device.DoorLock.minValue = DateTime.MinValue;
@@ -299,7 +309,7 @@
if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
{
string msg = Language.StringByID(R.MyInternationalizationString.RemoteUnlockBindSucessTip).Replace("{0}", "\r\n");
- var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
+ var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
alert.Show();
//浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
alert.ConfirmClickEvent += () =>
@@ -315,14 +325,14 @@
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.Down, CloseTime = 2 }.Show(editInputPassword);
+ this.ShowMassage(ShowMsgType.Tip, tipText);
return;
}
}
else
{
CommonPage.Loading.Hide();
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword);
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime));
return;
}
};
@@ -341,10 +351,10 @@
/// </summary>
/// <param name="doorLock">闂ㄩ攣璁惧</param>
/// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param>
- public static void SecurityRequest(ZigBee.Device.DoorLock doorLock, Action action)
+ public static void SecurityRequest(ZigBee.Device.DoorLock doorLock)
{
- string msg = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n");
- var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
+ string msg = Language.StringByID(R.MyInternationalizationString.SetSecondarySecurityVerificationMode).Replace("{0}", "\r\n");
+ var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting));
alert.Show();
//浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
alert.ConfirmClickEvent += () =>
@@ -359,15 +369,16 @@
/// </summary>
/// <param name="doorLock"></param>
/// <param name="btnDoorLockTitle"></param>
- public void BindRemoteUnlockDoorlock(ZigBee.Device.DoorLock doorLock, Button btnDoorLockTitle = null)
+ public void BindRemoteUnlockDoorlock(Room room, CommonDevice devDoorLock, Button btnDoorLockTitle = null)
{
+ ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock;
string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock);
- var alertRemoteUnlockRequest = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting));
+ var alertRemoteUnlockRequest = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting));
alertRemoteUnlockRequest.Show();
//浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
alertRemoteUnlockRequest.ConfirmClickEvent += () =>
{
- var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
+ var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock);
Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
functionSetting.Show();
@@ -385,12 +396,12 @@
}
/// <summary>
- /// 绯荤粺浜屾纭绐楀彛
+ /// 鍘讳釜浜轰腑蹇冿紝寮�鍚郴缁熷瘑鐮佹敮鎸佸紑閿佹潈闄�
/// </summary>
public void SystemSecondAuthentication()
{
string msgDoorUnLockByRemote = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n");
- var alertDoorUnLockByRemote = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting));
+ var alertDoorUnLockByRemote = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting));
alertDoorUnLockByRemote.Show();
//浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
alertDoorUnLockByRemote.ConfirmClickEvent += () =>
@@ -407,11 +418,12 @@
/// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param>
/// <param name="progressButton">闂ㄩ攣寮�鎴栧叧鏃惰繘搴︽樉绀�</param>
/// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param>
- public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null)
+ public void RemoteUnlockRequest(Room room, CommonDevice devDoorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null)
{
+ ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock;
if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
{
- BindRemoteUnlockDoorlock(doorLock, btnDoorLockTitle);
+ BindRemoteUnlockDoorlock(room, devDoorLock, btnDoorLockTitle);
return;
}
@@ -422,7 +434,7 @@
}
string msg = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock);
- var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+ var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
alert.Show();
//浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
alert.ConfirmClickEvent += () =>
@@ -472,7 +484,7 @@
if (btnStatus != null)
{
btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockSuccess));
}
});
//寮�閿佹垚鍔燂紝榛樿5绉掑悗闂ㄩ攣鑷姩鍏抽攣锛屾牴鎹笉鍚岀殑闂ㄩ攣鍙兘鏃堕棿涓嶅悓锛岃繖閲屼互鈥淗06C鈥濋棬閿佺粰鐨勬椂闂�
@@ -480,10 +492,7 @@
}
else
{
- Application.RunOnMainThread(() =>
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
- });
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed));
}
}
//鐢ㄤ簬杩滅▼寮�閿佺殑闂ㄩ攣涓殑瀵嗙爜琚垹闄ゆ儏鍐�
@@ -493,19 +502,16 @@
ZigBee.Device.DoorLock.failedCount--;
if (ZigBee.Device.DoorLock.failedCount != 0)
{
- Application.RunOnMainThread(() =>
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
- });
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed));
}
else
{
//3娆℃搷浣滃け璐ヨ繙绋嬪紑閿佸け璐ュ悗锛岄噸鍐欒缃繙绋嬪紑閿佸瘑鐮�
Application.RunOnMainThread(() =>
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear));
doorLock.RemoteUnlockPassword = "";
- var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
+ var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock);
Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
functionSetting.Show();
@@ -525,10 +531,7 @@
//杩滅▼寮�閿佸け璐ョ殑鎯呭喌
else
{
- Application.RunOnMainThread(() =>
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance);
- });
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime));
}
}
catch { }
@@ -553,6 +556,7 @@
}
});
};
+
HdlCheckLogic.Current.CheckSecondarySecurity(action);
};
}
@@ -582,31 +586,332 @@
/// <param name="curIndex"></param>
/// <param name="btnAllMethod"></param>
/// <param name="btnMethodText"></param>
- public void DisplayAllUnlockMethod(int curIndex, Button btnAllMethod, Button btnMethodText)
+ public void DisplayAllUnlockMethod(ZigBee.Device.DoorLock doorLock, int curIndex, Button btnAllMethod, Button btnMethodText)
{
- switch (curIndex)
+ var listDevice = Common.LocalDevice.Current.GetDevicesByMac(doorLock.DeviceAddr);
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+ if (curIndex == 0)
{
- case 0:
- btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
- btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
- btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
- break;
- case 1:
- btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
- btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
- btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
- break;
- case 2:
+ btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
+ }
+ else if (curIndex == 1)
+ {
+ btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
+ }
+ else if (curIndex == 2)
+ {
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1F)
+ {
+ btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock);
+ }
+ else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_HAT1B)
+ {
+ btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock);
+ }
+ else
+ {
btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
- break;
- case 3:
+ }
+ }
+ else if (curIndex == 3)
+ {
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1F)
+ {
+ btnAllMethod.UnSelectedImagePath = "DoorLock/faceId.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/faceIdOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock);
+ }
+ else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1TF)
+ {
btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
- break;
+ }
+ else
+ {
+ btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
+ }
}
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1TF)
+ {
+ if (curIndex == 4)
+ {
+ btnAllMethod.UnSelectedImagePath = "DoorLock/faceId.png";
+ btnAllMethod.SelectedImagePath = "DoorLock/faceIdOn.png";
+ btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock);
+ }
+ }
+
+
+
+ //switch (curIndex)
+ //{
+ // case 0:
+ // btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
+ // btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
+ // btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
+ // break;
+ // case 1:
+ // btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
+ // btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
+ // btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
+ // break;
+ // case 2:
+ // btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+ // btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+ // btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
+ // break;
+ // case 3:
+ // btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
+ // btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
+ // btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
+ // break;
+ // case 4:
+ // btnAllMethod.UnSelectedImagePath = "DoorLock/faceId.png";
+ // btnAllMethod.SelectedImagePath = "DoorLock/faceIdOn.png";
+ // btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock);
+ // break;
+ // case 5:
+ // btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
+ // btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
+ // btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock);
+ // break;
+ //}
+ }
+
+ /// <summary>
+ /// 渚ц竟瀵艰埅鏍�
+ /// </summary>
+ public void SideslipFramelayout(ZigBee.Device.DoorLock doorLock)
+ {
+ #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()
+ {
+ Width = Application.GetRealWidth(449),
+ Y = Application.GetRealHeight(115 + 160),
+ X = Application.GetRealWidth(596),
+ BackgroundImagePath = "DoorLock/SideslipPic.png",
+ };
+ flMain.AddChidren(sidelipFrameLayout);
+
+ var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout()
+ {
+ Y = Application.GetRealHeight(28),
+ };
+ sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
+ #endregion
+
+ Button oldbutton = null;
+ Button oldbuttonText = null;
+ int count = 1 + GetSupportType(doorLock);
+ sidelipFrameLayout.Height = Application.GetRealHeight(150) * count + Application.GetRealHeight(6);
+ sidelipVerticalScrolViewLayout.Height = Application.GetRealHeight(150) * count + Application.GetRealHeight(6);
+ for (var i = 0; i < count; i++)
+ {
+ #region rowFrameLayout UI
+ var rowFrameLayout = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(150),
+ 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);
+
+ var line2 = new Button()
+ {
+ Y = rowFrameLayout.Height - 1,
+ X = Application.GetRealWidth(81),
+ Width = Application.GetRealWidth(965),
+ Height = 1,
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+ };
+ rowFrameLayout.AddChidren(line2);
+ if (i == count)
+ {
+ line2.Visible = false;
+ }
+ #endregion
+
+ #region 鏁版嵁澶勭悊
+ EventHandler<MouseEventArgs> 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.ReSave();
+ btnAllMethod.IsSelected = true;
+ oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ oldbuttonText.IsBold = true;
+ doorLock.currentUserDisplayMethod = btnMethodText.Text;
+ TypeRefresh(doorLock);
+ }
+ dialog.Close();
+ };
+ rowFrameLayout.MouseUpEventHandler += hander;
+ btnAllMethod.MouseUpEventHandler += hander;
+ btnMethodText.MouseUpEventHandler += hander;
+
+ DisplayAllUnlockMethod(doorLock, 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);
+ }
+ if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FaceIDUnlock) && i == 4)
+ {
+ CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
+ }
+ if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock) && i == 5)
+ {
+ CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
+ }
+ #endregion
+ }
+ }
+
+ /// <summary>
+ /// 褰撳墠闂ㄩ攣鏀寔鐨勫紑閿佺被鍨嬩釜鏁�
+ /// </summary>
+ /// <param name="doorLock"></param>
+ /// <returns></returns>
+ public int GetSupportType(ZigBee.Device.DoorLock doorLock)
+ {
+ int count = 0;
+ var listDevice = Common.LocalDevice.Current.GetDevicesByMac(doorLock.DeviceAddr);
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1F)
+ {
+ //AT1F鏈夊瘑鐮侊紝鎰熷簲鍗★紝faceID
+ count = 3;
+ }
+ else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1T)
+ {
+ //AT1T鏈夊瘑鐮侊紝鎸囩汗锛屾劅搴斿崱
+ count = 3;
+ }
+ else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_AT1TF)
+ {
+ //AT1TF鏈夊瘑鐮侊紝鎸囩汗锛屾劅搴斿崱,faceID
+ count = 4;
+ }
+ else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_HAT1B)
+ {
+ //HAT1B瀵嗙爜銆侀潤鑴夌汗銆佸埛鍗�
+ count = 3;
+ }
+ else if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.IntelligentLocks_HAT1T)
+ {
+ //HAT1T瀵嗙爜銆佹寚绾广�佸埛鍗�
+ count = 3;
+ }
+ else
+ {
+ //鍙湁瀵嗙爜锛屾寚绾癸紝鎰熷簲鍗�
+ count = 3;
+ }
+ return count;
+ }
+
+ /// <summary>
+ /// 绫诲瀷鍖哄垎
+ /// </summary>
+ public void TypeRefresh(ZigBee.Device.DoorLock doorLock)
+ {
+ if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock))
+ {
+ UndateUnlockMethodAction?.Invoke(0);
+ }
+ else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock))
+ {
+ UndateUnlockMethodAction?.Invoke(3);
+ }
+ else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock))
+ {
+ UndateUnlockMethodAction?.Invoke(13);
+ }
+ else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FaceIDUnlock))
+ {
+ UndateUnlockMethodAction?.Invoke(14);
+ }
+ else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock))
+ {
+ UndateUnlockMethodAction?.Invoke(15);
+ }
+ else
+ {
+ UndateUnlockMethodAction?.Invoke(-1);
+ }
+ //姣忔璋冨畬娓呯┖
+ UndateUnlockMethodAction = null;
}
#region 鈻� 涓�鑸柟娉昣__________________________
--
Gitblit v1.8.0