From b562a582ac3a288193e6e4f57c5eff8a344305a4 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 13:52:17 +0800
Subject: [PATCH] Update AndroidManifest.xml
---
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs | 237 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 159 insertions(+), 78 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
index 36eea30..5c17463 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
@@ -18,13 +18,14 @@
VerticalScrolViewLayout contentView;
FrameLayout userPermissionsView;
- Button btnUserName;
+ //Button btnUserName;
Function device;
VideoDoorlockUser doorlockUser;
public Action delCallBackAction;
-
+ public Action<string> updataUserNameAction;
Loading waitPage;
+
public VideoDoorlockUserManagerPage(Function function,VideoDoorlockUser user)
{
@@ -33,12 +34,23 @@
doorlockUser = user;
BackgroundColor = CSS_Color.BackgroundColor;
waitPage = new Loading();
- bodyView.AddChidren(waitPage);
- waitPage.Hide();
+
+ }
+
+ public override void RemoveFromParent()
+ {
+ base.RemoveFromParent();
+ bodyView = null;
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
}
public void LoadPage()
{
+ bodyView.AddChidren(waitPage);
new TopViewDiv(bodyView, Language.StringByID(StringId.UserManagement)).LoadTopView();
contentView = new VerticalScrolViewLayout()
@@ -47,6 +59,8 @@
Height = Application.GetRealHeight(667 - 70),
};
bodyView.AddChidren(contentView);
+
+
#region 鐢ㄦ埛鍚嶇О
var userNameView = new FrameLayout()
@@ -75,7 +89,7 @@
};
userNameView.AddChidren(btnEditUserNameIcon);
- btnUserName = new Button()
+ var btnUserName = new Button()
{
X = Application.GetRealWidth(100),
Width = Application.GetRealWidth(230),
@@ -94,22 +108,125 @@
contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
initOptionView(false);
+
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+ {
+ Action<string> callBack = (str) =>
+ {
+ if (string.IsNullOrEmpty(str))
+ {
+ new Tip()
+ {
+ CloseTime = 1,
+ Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
+ return;
+ }
+ if (str == UserInfo.Current.userName)
+ {
+ return;
+ }
+ if (System.Text.Encoding.Unicode.GetBytes(str).Length > 20)
+ {
+ new Tip()
+ {
+ CloseTime = 1,
+ Text = Language.StringByID(StringId.LengthOutOfRange),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
+ return;
+ }
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ Application.RunOnMainThread(() => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
+ var pack = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId, str);
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnUserName.Text = str;
+ updataUserNameAction?.Invoke(str);
+ });
+ }
+ else
+ {
+ //澶辫触鎻愮ず
+ Application.RunOnMainThread(() =>
+ {
+ if (string.IsNullOrEmpty(pack.message))
+ {
+ pack.message = Language.StringByID(StringId.OperationFailed);
+ }
+ {
+ var tip = new Tip()
+ {
+ MaxWidth = Application.GetRealWidth(300),
+ Text = $"{pack.message}({pack.Code})",
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(MainPage.BaseView);
+ }
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"update user name error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+ var pa = new PublicAssmebly();
+ pa.entryMaxLength = 20;
+ pa.LoadDialog_EditParater(StringId.ChangeName, "", callBack, StringId.UesrNameCannotBeEmpty, 0, new List<string>());
+ };
+ btnUserName.MouseUpEventHandler = eventHandler;
+ btnEditUserNameIcon.MouseUpEventHandler = eventHandler;
+ userNameView.MouseUpEventHandler = eventHandler;
+
}
void initOptionView(bool isEdit)
{
+ if(doorlockUser.faceCount == 0&&
+ doorlockUser.fingerCount == 0 &&
+ doorlockUser.pwdCount == 0 &&
+ doorlockUser.cardCount == 0)
+ {
+ new PublicAssmebly().TipMsg(StringId.Tip, StringId.VideoDoorlockDelDataTip, () =>
+ {
+ delCallBackAction?.Invoke();
+ this.RemoveFromParent();
+ });
+ return;
+ }
+
+
int childrenViewHeight = Application.GetRealWidth(116);
- int permissionsViewHeight = Application.GetRealHeight(291 + 92);
+ int permissionsViewHeight = Application.GetRealHeight(291 + 92 + 100);
if (userPermissionsView!= null)
{
userPermissionsView.RemoveAll();
if (isEdit)
{
- permissionsViewHeight = Application.GetRealHeight(391 + 50);
+ permissionsViewHeight = Application.GetRealHeight(391 + 50 + 100);
childrenViewHeight = Application.GetRealWidth(156);
}
- userPermissionsView.Height = permissionsViewHeight;
+ userPermissionsView.Height = permissionsViewHeight ;
}
else
{
@@ -231,16 +348,19 @@
fingerprintView.AddChidren(btnClearFingerprints);
btnClearFingerprints.MouseUpEventHandler = (sender, e) =>
{
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
try
{
+ Application.RunOnMainThread(() => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFingerPassword(device.deviceId, doorlockUser.lockUserIndex);
if (pack != null && pack.Code == StateCode.SUCCESS)
{
Application.RunOnMainThread(() =>
{
+ doorlockUser.fingerCount = 0;
//鏇存柊鐣岄潰
initOptionView(true);
});
@@ -310,17 +430,17 @@
};
digitalPasswordView.AddChidren(btnDigitalPasswordText);
- if (doorlockUser.fingerCount > 0)
+ if (doorlockUser.pwdCount > 0)
{
btnDigitalPasswordIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/DigitalPasswordOnIcon.png";
btnDigitalPasswordText.TextColor = CSS_Color.FirstLevelTitleColor;
if (Language.CurrentLanguage == "Chinese")
{
- btnDigitalPasswordText.Text = doorlockUser.fingerCount + "缁�" + Language.StringByID(StringId.DigitalPassword);
+ btnDigitalPasswordText.Text = doorlockUser.pwdCount + "缁�" + Language.StringByID(StringId.DigitalPassword);
}
else
{
- btnDigitalPasswordText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.DigitalPassword);
+ btnDigitalPasswordText.Text = doorlockUser.pwdCount + " " + Language.StringByID(StringId.DigitalPassword);
}
if (isEdit)
@@ -340,16 +460,19 @@
digitalPasswordView.AddChidren(btnClearDigitalPassword);
btnClearDigitalPassword.MouseUpEventHandler = (sender, e) =>
{
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
try
{
+ Application.RunOnMainThread(() => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserNumberPassword(device.deviceId, doorlockUser.lockUserIndex);
if (pack != null && pack.Code == StateCode.SUCCESS)
{
Application.RunOnMainThread(() =>
{
+ doorlockUser.pwdCount = 0;
//鏇存柊鐣岄潰
initOptionView(true);
});
@@ -419,17 +542,17 @@
};
nfcView.AddChidren(btnNfcText);
- if (doorlockUser.fingerCount > 0)
+ if (doorlockUser.cardCount > 0)
{
btnNfcIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/NfcOnIcon.png";
btnNfcText.TextColor = CSS_Color.FirstLevelTitleColor;
if (Language.CurrentLanguage == "Chinese")
{
- btnNfcText.Text = doorlockUser.fingerCount + "缁�" + Language.StringByID(StringId.NfcKey);
+ btnNfcText.Text = doorlockUser.cardCount + "缁�" + Language.StringByID(StringId.NfcKey);
}
else
{
- btnNfcText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.NfcKey);
+ btnNfcText.Text = doorlockUser.cardCount + " " + Language.StringByID(StringId.NfcKey);
}
if (isEdit)
@@ -448,16 +571,19 @@
};
nfcView.AddChidren(btnClearNfc);
btnClearNfc.MouseUpEventHandler = (sender, e) => {
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
try
{
+ Application.RunOnMainThread(() => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserCardPassword(device.deviceId, doorlockUser.lockUserIndex);
if (pack != null && pack.Code == StateCode.SUCCESS)
{
Application.RunOnMainThread(() =>
{
+ doorlockUser.cardCount = 0;
//鏇存柊鐣岄潰
initOptionView(true);
});
@@ -500,7 +626,7 @@
var faceView = new FrameLayout()
{
X = Application.GetRealWidth(16),
- Y = fingerprintView.Bottom,
+ Y = fingerprintView.Bottom+ Application.GetRealHeight(20),
Width = Application.GetRealWidth(64 + 32),
Height = childrenViewHeight
};
@@ -526,17 +652,17 @@
};
faceView.AddChidren(btnFaceText);
- if (doorlockUser.fingerCount > 0)
+ if (doorlockUser.faceCount > 0)
{
btnFaceIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/FaceOnIcon.png";
btnFaceText.TextColor = CSS_Color.FirstLevelTitleColor;
if (Language.CurrentLanguage == "Chinese")
{
- btnFaceText.Text = doorlockUser.fingerCount + "缁�" + Language.StringByID(StringId.FaceKey);
+ btnFaceText.Text = doorlockUser.faceCount + "缁�" + Language.StringByID(StringId.FaceKey);
}
else
{
- btnFaceText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.FaceKey);
+ btnFaceText.Text = doorlockUser.faceCount + " " + Language.StringByID(StringId.FaceKey);
}
if (isEdit)
@@ -555,16 +681,19 @@
};
faceView.AddChidren(btnClearFace);
btnClearFace.MouseUpEventHandler = (sender, e) => {
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
try
{
+ Application.RunOnMainThread(() => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFacePassword(device.deviceId, doorlockUser.lockUserIndex);
if (pack != null && pack.Code == StateCode.SUCCESS)
{
Application.RunOnMainThread(() =>
{
+ doorlockUser.faceCount = 0;
//鏇存柊鐣岄潰
initOptionView(true);
});
@@ -611,7 +740,7 @@
var delUserView = new FrameLayout()
{
Y = unlockOptionView.Bottom,
- Height = Application.GetRealHeight(110),
+ Height = Application.GetRealHeight(310),
BackgroundColor = CSS_Color.BackgroundColor,
};
userPermissionsView.AddChidren(delUserView);
@@ -634,11 +763,13 @@
{
new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteDoorlockUserTip, () =>
{
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
try
{
+ Application.RunOnMainThread(() => {
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUser(device.deviceId, doorlockUser.lockUserIndex);
if (pack != null && pack.Code == StateCode.SUCCESS)
{
@@ -655,6 +786,9 @@
{
Application.RunOnMainThread(() =>
{
+ if (string.IsNullOrEmpty(pack.message)) {
+ pack.message = Language.StringByID(StringId.OperationFailed);
+ }
//澶辫触鎻愮ず
var tip = new Tip()
{
@@ -694,60 +828,7 @@
/// </summary>
void LoadEvent_EditUserName()
{
- EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
- {
- Action<string> callBack = (str) =>
- {
- if (string.IsNullOrEmpty(str))
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
- Direction = AMPopTipDirection.None,
- }.Show(bodyView);
- return;
- }
- if (str == UserInfo.Current.userName)
- {
- return;
- }
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
- new System.Threading.Thread(() =>
- {
- try
- {
- var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId,str);
- if (resultObj.Code == StateCode.SUCCESS)
- {
- Application.RunOnMainThread(() =>
- {
- btnUserName.Text = str;
- });
- }
- else
- {
- //澶辫触鎻愮ず
- IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"update user name error : {ex.Message}");
- }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- waitPage.Hide();
- });
- }
- })
- { IsBackground = true }.Start();
- };
- new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, doorlockUser.lockUserName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>());
- };
- btnUserName.MouseUpEventHandler = eventHandler;
+ //btnUserName.MouseUpEventHandler = eventHandler;
}
--
Gitblit v1.8.0