From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | 350 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 252 insertions(+), 98 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
index 7e1b6b2..49c6b4d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -20,6 +20,27 @@
#region 鈼� 鍙橀噺鐢虫槑__________________________
ZigBee.Device.DoorLock doorLock;
+ /// <summary>
+ /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
+ /// </summary>
+ private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
+ /// <summary>
+ /// 褰撳墠閫夋嫨鐨勮澶�
+ /// </summary>
+ private CommonDevice nowSelectDevice = null;
+ /// <summary>
+ /// 璁惧澶囨敞鐨勬帶浠�
+ /// </summary>
+ private FrameCaptionInputControl btnDeviceName = null;
+ /// <summary>
+ /// 璁惧鐨勬煇涓�鍥炶矾
+ /// </summary>
+ private CommonDevice deviceObj = null;
+ Action action;
+ Action actionNone;
+ string modifyDeviceName = "";
+ bool IsModifyName = true;
+ public Action<string> devicNameAction;
#endregion
/// <summary>
@@ -27,7 +48,7 @@
/// </summary>
public void Show()
{
- this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting));
+ this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting));
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
{
@@ -43,7 +64,6 @@
public void MidFrameLayoutContent()
{
-
var MidTopFrameLayout = new FrameLayout()
{
X = Application.GetRealWidth(449),
@@ -53,35 +73,49 @@
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),
- 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(1319),
Y = Application.GetRealHeight(418),
+ BackgroundColor = ZigbeeColor.Current.XMWhite,
};
- this.midFrameLayout.AddChidren(bottomFrameLayout2);
+ this.midFrameLayout.AddChidren(bottomFrameLayout);
+ bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
var informationEdit = new Button()
{
@@ -91,26 +125,26 @@
Text = Language.StringByID(R.MyInternationalizationString.InformationEdit),
TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 12,
+ TextSize = 15,
};
- bottomFrameLayout2.AddChidren(informationEdit);
+ bottomFrameLayout.AddChidren(informationEdit);
- for (int i = 0; i < 7; i++)
+ for (int i = 0; i < 6; i++)
{
var bottomRowLayout = new FrameLayout()
{
Height = Application.GetRealHeight(58),
};
- bottomFrameLayout2.AddChidren(bottomRowLayout);
+ bottomFrameLayout.AddChidren(bottomRowLayout);
var btnName = new Button()
{
Width = Application.GetRealWidth(233),
Height = Application.GetRealHeight(58),
X = Application.GetRealWidth(58),
- TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+ TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 12,
+ TextSize = 14,
};
bottomRowLayout.AddChidren(btnName);
@@ -133,24 +167,67 @@
var btnLine = new FrameLayout()
{
Width = Application.GetRealWidth(965),
- Height = Application.GetRealHeight(2),
+ Height = 1,
X = Application.GetRealWidth(58),
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)
{
@@ -176,14 +253,13 @@
{
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);
}
@@ -208,7 +284,7 @@
btnNext.SelectedImagePath = "DoorLock/SwitchOn.png";
btnLine.Visible = true;
btnLine.Y = Application.GetRealHeight(853);
- if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
+ if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
{
btnNext.IsSelected = false;
}
@@ -226,70 +302,148 @@
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 = (sender, e) =>
- {
- if (currentIndex == 1)
- {
- //鑾峰彇璁惧鎵�灞炴埧闂�
- 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 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 if (currentIndex == 4)
- {
- btnNext.IsSelected = !btnNext.IsSelected;
- if (btnNext.IsSelected)
- {
- if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
- {
- RemotePasswordDialog(doorLock, btnNext);
- }
- }
- else
- {
- ZigBee.Device.DoorLock.RemoteUnlockPassword = "";
- }
- }
- else if (currentIndex == 5)
- {
- var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- tempPage.Show();
- }
- else if (currentIndex == 6)
- {
- }
- };
- bottomRowLayout.MouseDownEventHandler += eHandler;
+ EventHandler<MouseEventArgs> eHandler = async (sender, e) =>
+ {
+ if (currentIndex == 3)
+ {
+ 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();
+ };
+ actionNone = async () =>
+ {
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action);
+ };
+ HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
+ }
+ else if (currentIndex == 4)
+ {
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+ if (result == false)
+ {
+ var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+ if (result1 == true)
+ {
+ btnNext.IsSelected = !btnNext.IsSelected;
+ if (btnNext.IsSelected)
+ {
+ if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
+ {
+ RemotePasswordDialog(doorLock, btnNext);
+ }
+ }
+ else
+ {
+ doorLock.RemoteUnlockPassword = "";
+ }
+ }
+ else
+ {
+ 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.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ }
+ }
+ else
+ {
+ btnNext.IsSelected = !btnNext.IsSelected;
+ if (btnNext.IsSelected)
+ {
+ if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword))
+ {
+ RemotePasswordDialog(doorLock, btnNext);
+ }
+ }
+ else
+ {
+ doorLock.RemoteUnlockPassword = "";
+ }
+ }
+ }
+ else if (currentIndex == 5)
+ {
+ var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+ if (result == false)
+ {
+ var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ tempPage.Show();
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ }
+ }
+ };
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,
+ 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 鈼� 鎺ュ彛瀹炵幇__________________________
--
Gitblit v1.8.0