From 2be70a32d2a8c517bd9868fb60913fcc843e66fe Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 13 五月 2020 11:21:32 +0800
Subject: [PATCH] 上传代码
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 797 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 507 insertions(+), 290 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index ac08e64..e1c744d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -14,21 +14,19 @@
/// </summary>
/// <param name="room"></param>
/// <param name="doorLock"></param>
- public UserDoorLockPage(Shared.Common.Room room, CommonDevice doorLock)
+ public UserDoorLockPage(Room room, CommonDevice doorLock)
{
+ //寰愭鐨勯棬閿佺晫闈㈡墦寮�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
+ ControlCommonResourse.IsDoorLockPageOpen = true;
this.doorLock = doorLock as ZigBee.Device.DoorLock;
currentRoom = room;
deviceUI = doorLock;
- BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
+ BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor;
ZbGateway.StatusList.Add(this);
}
#region 鍙橀噺鐢虫槑
/// <summary>
- /// IsDrawerLockMode
- /// </summary>
- public bool IsDrawerLockMode;
- /// <summary>
/// 褰撳墠闂ㄩ攣
/// </summary>
ZigBee.Device.DoorLock doorLock;
@@ -43,15 +41,25 @@
/// <summary>
/// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
/// </summary>
- private bool HaveLogicNormallyOpenMode = false;
+ private bool haveLogicNormallyOpenMode = false;
+
+ /// <summary>
+ /// 闂ㄩ攣娣卞害鎺у埗涓婃姤绐楀彛鏄惁寮瑰嚭
+ /// </summary>
+ public static bool canShowDialog = true;
+
/// <summary>
/// 褰撳墠鐢甸噺
/// </summary>
bool canVolume = false;
/// <summary>
- /// 淇濈暀涓婁竴娆¢煶閲�
+ /// 鏄惁鏀寔甯稿紑
/// </summary>
bool canOpenNormallyMode = false;
+ /// <summary>
+ /// IsDrawerLockMode[涓婚〉宸︽粦]
+ /// </summary>
+ public bool IsDrawerLockMode;
/// <summary>
/// 褰撳墠鐢甸噺
/// </summary>
@@ -88,6 +96,7 @@
/// 璁剧疆FrameLayout
/// </summary>
FrameLayout btnFuncSetFrameLayout;
+ FrameLayout progressFrameLayoutMatch;
/// <summary>
/// 鐐瑰嚮寮�甯冨眬
/// </summary>
@@ -168,6 +177,14 @@
/// 聽褰撳墠闊抽噺
/// </summary>
int currentVolume = -1;
+ /// <summary>
+ /// waitClickTime
+ /// </summary>
+ DateTime waitClickTime = DateTime.MaxValue;
+ /// <summary>
+ /// IsClick
+ /// </summary>
+ bool IsClick = true;
#endregion
/// <summary>
@@ -197,8 +214,8 @@
btnFuncSet = new Button
{
X = Application.GetRealWidth(103),
- Height = Application.GetRealHeight(69),
- Width = Application.GetRealWidth(69),
+ Height = Application.GetMinReal(69),
+ Width = Application.GetMinReal(69),
UnSelectedImagePath = "DoorLock/SettingIcon.png",
};
btnFuncSetFrameLayout.AddChidren(btnFuncSet);
@@ -207,9 +224,15 @@
ClickHandle();
- if (doorLock.IsOnline == 1)
+ if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true)
{
ReadDoorLockUserInfo();
+ }
+ else
+ {
+ string msg1 = Language.StringByID(R.MyInternationalizationString.DoorLockOffLine);
+ this.ShowTipMsg(msg1);
+ return;
}
}
@@ -253,8 +276,8 @@
midTopFrameLayout.AddChidren(btnRecordFrameLayout);
btnRecord = new Button()
{
- Width = Application.GetRealWidth(69),
- Height = Application.GetRealHeight(69),
+ Width = Application.GetMinReal(69),
+ Height = Application.GetMinReal(69),
X = Application.GetRealWidth(46),
Y = Application.GetRealHeight(46),
UnSelectedImagePath = "DoorLock/RecordIcon.png",
@@ -271,8 +294,8 @@
midTopFrameLayout.AddChidren(btnCollectFrameLayout);
btnCollect = new Button()
{
- Width = Application.GetRealWidth(69),
- Height = Application.GetRealHeight(69),
+ Width = Application.GetMinReal(69),
+ Height = Application.GetMinReal(69),
X = Application.GetRealWidth(15),
Y = Application.GetRealHeight(46),
UnSelectedImagePath = "Item/Collection.png",
@@ -305,13 +328,16 @@
TextSize = 10,
TextAlignment = TextAlignment.CenterLeft,
};
- midTopFrameLayout.AddChidren(btnCurrentPowerText);
+ midTopFrameLayout.AddChidren(btnCurrentPowerText);
+#if Android
+ btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20);
+#endif
//闂ㄩ攣寮�/鍏冲浘鐗�
btnDoorLockPic = new Button()
{
- Width = Application.GetRealWidth(383),
- Height = Application.GetRealHeight(343),
+ Width = Application.GetMinReal(383),
+ Height = Application.GetMinReal(343),
X = Application.GetRealWidth(161),
Y = Application.GetRealHeight(415),
UnSelectedImagePath = "DoorLock/DoorLockPicClose.png",
@@ -347,30 +373,37 @@
};
btnFrameLayout.AddChidren(closeFrameLayout);
+ progressFrameLayoutMatch = new FrameLayout()
+ {
+ Width = Application.GetRealHeight(84),//639-35
+ Height = Application.GetRealHeight(446),
+ X = Application.GetMinReal(51),
+ BackgroundColor = ZigbeeColor.Current.XMWhite,
+ };
+ btnFrameLayout.AddChidren(progressFrameLayoutMatch);
+
var progressFrameLayout = new FrameLayout()
{
- Width = Application.GetRealWidth(9),//639-35
- Height = Application.GetRealHeight(446),
- X = Application.GetRealWidth(95),
- Y = Application.GetRealHeight(0),
+ Width = Application.GetRealHeight(17),//639-35
+ Gravity = Gravity.CenterHorizontal,
BackgroundColor = ZigbeeColor.Current.XMVerticalSeekBar,
};
- btnFrameLayout.AddChidren(progressFrameLayout);
+ progressFrameLayoutMatch.AddChidren(progressFrameLayout);
progressButton = new Button()
{
- Width = Application.GetRealWidth(84),//639-35
- Height = Application.GetRealHeight(93),
- X = Application.GetRealWidth(58),
+ Width = Application.GetMinReal(84),//639-35
+ Height = Application.GetMinReal(93),
+ Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(347),
UnSelectedImagePath = "DoorLock/UnLockButton.png",
};
- btnFrameLayout.AddChidren(progressButton);
+ progressFrameLayoutMatch.AddChidren(progressButton);
btnDoorOpenPic = new Button()
{
- Width = Application.GetRealWidth(81),
- Height = Application.GetRealHeight(81),
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
X = Application.GetRealWidth(164),
Y = Application.GetRealHeight(6),
UnSelectedImagePath = "DoorLock/DoorLockOpen.png",
@@ -379,8 +412,8 @@
btnDoorClosePic = new Button()
{
- Width = Application.GetRealWidth(81),
- Height = Application.GetRealHeight(81),
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
X = Application.GetRealWidth(164),
Y = Application.GetRealHeight(117),
UnSelectedImagePath = "DoorLock/DoorLockClose.png",
@@ -391,8 +424,8 @@
//鐢甸噺
btnPower = new Button()
{
- Width = Application.GetRealWidth(81),
- Height = Application.GetRealHeight(81),
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
X = Application.GetRealWidth(253),
Y = Application.GetRealHeight(994),
UnSelectedImagePath = "DoorLock/PowerOffline.png",
@@ -410,8 +443,8 @@
midTopFrameLayout.AddChidren(btnVolumeFrameLayout);
btnVolume = new Button()
{
- Width = Application.GetRealWidth(81),
- Height = Application.GetRealHeight(81),
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
X = Application.GetRealWidth(40),
Y = Application.GetRealHeight(40),
UnSelectedImagePath = "DoorLock/VolumeIcon.png",
@@ -430,8 +463,8 @@
midTopFrameLayout.AddChidren(btnNormallyOpenFrameLayout);
btnNormallyOpen = new Button()
{
- Width = Application.GetRealWidth(81),
- Height = Application.GetRealHeight(81),
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
X = Application.GetRealWidth(40),
Y = Application.GetRealHeight(40),
UnSelectedImagePath = "DoorLock/NormallyOpen.png",
@@ -463,8 +496,8 @@
#region 褰撳墠鎴块棿
var btnCurrentRoomPic = new Button()
{
- Width = Application.GetRealWidth(81),
- Height = Application.GetRealHeight(81),
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
X = Application.GetRealWidth(58),
Y = Application.GetRealHeight(29),
UnSelectedImagePath = "DoorLock/RoomPic.png",
@@ -517,13 +550,14 @@
};
flMain.AddChidren(progressBackground);
+ //var progressValue = (currentVolume * (Convert.ToInt32(((float)100 / 15) * 100))) / 100;
progressText = new Button()
{
Height = Application.GetRealHeight(58),
Y = Application.GetRealHeight(89),
TextColor = ZigbeeColor.Current.XMGray2,
TextAlignment = TextAlignment.Center,
- Text = currentVolume.ToString(),
+ Text = currentVolume.ToString() + "%",
};
diyImageVerticalSeekBar = new DiyImageVerticalSeekBar()
@@ -539,29 +573,16 @@
ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�
SeekBarViewHeight = Application.GetRealHeight(17),//杩涘害鏉$殑瀹藉害
- Progress = (currentVolume * (Convert.ToInt32(((float)100 / 15) * 100))) / 100,
+ Progress = currentVolume,
};
progressBackground.AddChidren(progressText);
progressBackground.AddChidren(diyImageVerticalSeekBar);
diyImageVerticalSeekBar.OnProgressChangedEvent += (sender, e) =>
{
int curVolume = -1;
- if (e == 0)
- {
- curVolume = 0;
- }
- else if (e == 100)
- {
- curVolume = 14;
- }
- else
- {
- int comandValue = e;
- int comandValueTemp = (comandValue * 100) / (Convert.ToInt32(((float)100 / 15) * 100));
- curVolume = comandValueTemp;
- }
+ curVolume = e;
currentVolume = curVolume;
- progressText.Text = curVolume.ToString();
+ progressText.Text = e.ToString() + "%";
};
}
@@ -580,9 +601,31 @@
if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null)
{
var tempDoor = (ZigBee.Device.DoorLock)tempDevice;
- if (tempDoor.doorLockOperatingEventNotificationCommand != null)
+ if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
+ && tempDevice.DeviceAddr == doorLock.DeviceAddr)
{
- Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
+ if (tempDoor.doorLockOperatingEventNotificationCommand != null)
+ {
+ //闈炰富浜轰笉寮硅繖涓獥鍙�
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ return;
+ }
+ if (doorLock.IsDoorLockNormallyMode)
+ {
+ if (canOpenNormallyMode)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Action<bool> action = (obj) =>
+ {
+ UpdateNomallyOpenStatus();
+ };
+ DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action);
+ });
+ }
+ }
+ }
}
}
@@ -601,7 +644,6 @@
Application.RunOnMainThread(() =>
{
currentPower = dataReport.AttriButeData;
- waitGetDoorLockPower = DateTime.MaxValue;
UpdatePower();
});
}
@@ -624,20 +666,104 @@
{
CommonPage.Loading.Start("");
});
+
//鏄惁鏀寔甯稿紑
canOpenNormallyMode = DoorLockCommonInfo.CanNormallyOpen(doorLock);
+ if (canOpenNormallyMode)
+ {
+ //鑾峰彇闂ㄩ攣甯稿紑妯″紡
+ var resultRes = await DoorLockCommonInfo.GetNormallyOpenMode(doorLock);
+ if (resultRes == null)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnNormallyOpen.UnSelectedImagePath = "DoorLock/NormallyOpenOffline.png";
+ btnNormallyOpen.Enable = false;
+ string msg = Language.StringByID(R.MyInternationalizationString.GetNormallyOpenModeFailed);
+ this.ShowTipMsg(msg);
+ });
+ }
+ else
+ {
+ var tempRes = false;
+ if (resultRes == true)
+ {
+ tempRes = true;
+ }
+ else
+ {
+ tempRes = false;
+ }
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
+ Application.RunOnMainThread(async () =>
+ {
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2);
+ if (resTemp == 1)
+ {
+ haveLogicNormallyOpenMode = true;
+ }
+ else if (resTemp == 0)
+ {
+ haveLogicNormallyOpenMode = false;
+ }
+ });
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
+ });
+ }
+
//鏄惁鏀寔闊抽噺
canVolume = DoorLockCommonInfo.CanVolume(doorLock);
+ if (canVolume)
+ {
+ //璇诲彇闊抽噺
+ var resultRes = await doorLock.GetVolumeAsync();
+ if (resultRes == null || resultRes.volumeResponseData == null)
+ {
+ var listDevice = new List<CommonDevice> { };
+ listDevice.Add(doorLock);
+ var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+ if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var volumeMsg = Language.StringByID(R.MyInternationalizationString.GetVolumeFailed);
+ this.ShowTipMsg(volumeMsg);
+ });
+ }
+ }
+ else
+ {
+ volumeData = resultRes.volumeResponseData;
+ Application.RunOnMainThread(() =>
+ {
+ UpdateVolume();
+ });
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnVolumeFrameLayout.Width = Application.GetRealWidth(0);
+ btnPower.X = Application.GetRealWidth(444);
+ });
+ }
+
//璇诲彇闂ㄩ攣鐢甸噺锛氱皣ID锛�1 灞炴�D 33
doorLock.ReadAttri(Cluster_ID.Power, AttriButeId.DoorLockPower);
//涓婃姤鐢甸噺绛�1绉�
System.Threading.Thread.Sleep(1000);
- //鑾峰彇闂ㄩ攣甯稿紑妯″紡
- await DoorLockCommonInfo.GetNormallyOpenMode(doorLock);
- //璇诲彇闊抽噺
- ReadVolume();
}
- catch { }
+ catch (Exception ex)
+ {
+ var mess = ex.Message;
+ }
finally
{
Application.RunOnMainThread(() =>
@@ -671,10 +797,11 @@
//璁剧疆
EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) =>
{
- var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
+ var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
functionSetting.Show();
+ canShowDialog = false;
functionSetting.devicNameAction += (deviceRename) =>
{
if (!string.IsNullOrEmpty(deviceRename))
@@ -705,6 +832,7 @@
//鍘嗗彶璁板綍 ---- stan
var form = new DeviceDoorLock.DoorLockHistoryLogForm();
form.AddForm(this.doorLock.DeviceAddr);
+ canShowDialog = false;
};
btnRecordFrameLayout.MouseDownEventHandler += handerRecord;
btnRecord.MouseDownEventHandler += handerRecord;
@@ -715,15 +843,11 @@
btnCollect.IsSelected = !btnCollect.IsSelected;
if (btnCollect.IsSelected)
{
- HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌
- //Test
- HaveLogicNormallyOpenMode = true;
+ HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌
}
else
{
- HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌
- //Test
- HaveLogicNormallyOpenMode = false;
+ HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌
}
};
btnCollectFrameLayout.MouseDownEventHandler += handerCollect;
@@ -732,11 +856,24 @@
//寮�閿佷簨浠�
EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
{
- if (DoorLockCommonInfo.IsDoorLockNormallyMode == true)
+ if (doorLock.IsDoorLockNormallyMode)
{
- string msg0 = Language.StringByID(R.MyInternationalizationString.CurrentNormallyOpenMode);
- this.ShowTipMsg(msg0);
- }
+ if (canOpenNormallyMode)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Action<bool> action = (obj) =>
+ {
+ UpdateNomallyOpenStatus();
+ };
+ DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action);
+ });
+ }
+ else
+ {
+ OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
+ }
+ }
else
{
OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
@@ -744,13 +881,27 @@
};
openFrameLayout.MouseUpEventHandler += hander1;
btnDoorOpenPic.MouseUpEventHandler += hander1;
+ if (progressButton.Y == Application.GetRealHeight(10))
+ {
+ progressFrameLayoutMatch.MouseUpEventHandler += hander1;
+ }
//鍏抽攣浜嬩欢
EventHandler<MouseEventArgs> hander2 = (sender, e) =>
{
- if (DoorLockCommonInfo.IsDoorLockNormallyMode == true)
+ if (canOpenNormallyMode)
{
- NomallyOpenModeInvalidDialog();
+ if (doorLock.IsDoorLockNormallyMode)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Action<bool> action = (obj) =>
+ {
+ UpdateNomallyOpenStatus();
+ };
+ DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action);
+ });
+ }
}
else
{
@@ -768,11 +919,6 @@
{
VolumeDialog(progressText, diyImageVerticalSeekBar);
}
- else
- {
- var volumeMsg = Language.StringByID(R.MyInternationalizationString.NoSupport);
- this.ShowTipMsg(volumeMsg);
- }
};
btnVolumeFrameLayout.MouseDownEventHandler += handerVolume;
btnVolume.MouseDownEventHandler += handerVolume;
@@ -781,16 +927,7 @@
//甯稿紑妯″紡鐐瑰嚮浜嬩欢
EventHandler<MouseEventArgs> handerNormallyOpen = (sender, e) =>
{
- if (canOpenNormallyMode)
- {
- btnNormallyOpen.IsSelected = !btnNormallyOpen.IsSelected;
- NomallyOpenDialog();
- }
- else
- {
- var volumeMsg = Language.StringByID(R.MyInternationalizationString.NoSupport);
- this.ShowTipMsg(volumeMsg);
- }
+ NomallyOpenDialog();
};
btnNormallyOpenFrameLayout.MouseUpEventHandler += handerNormallyOpen;
btnNormallyOpen.MouseUpEventHandler += handerNormallyOpen;
@@ -812,15 +949,15 @@
{
btnPower.UnSelectedImagePath = "DoorLock/Power40.png";
}
- else if (currentPower <= 60 && currentPower > 40 || currentPower == 60)
+ else if (currentPower <= 60 && currentPower > 40)
{
btnPower.UnSelectedImagePath = "DoorLock/Power60.png";
}
- else if (currentPower <= 80 && currentPower >= 60)
+ else if (currentPower <= 80 && currentPower > 60)
{
btnPower.UnSelectedImagePath = "DoorLock/Power80.png";
}
- else if (currentPower <= 100 && currentPower >= 80)
+ else if (currentPower <= 100 && currentPower > 80)
{
btnPower.UnSelectedImagePath = "DoorLock/Power100.png";
}
@@ -831,39 +968,7 @@
}
#endregion
- #region 闊抽噺
- /// <summary>
- /// 璇诲彇闊抽噺
- /// </summary>
- private async void ReadVolume()
- {
- //鑾峰彇闂ㄩ攣闊抽噺
- if (!canVolume)
- {
- return;
- }
- var resultRes = await doorLock.GetVolumeAsync();
-
- if (resultRes == null || resultRes.volumeResponseData == null)
- {
- var listDevice = new List<CommonDevice> { };
- listDevice.Add(doorLock);
- var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
- if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
- {
- var volumeMsg = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(volumeMsg);
- }
- }
- else
- {
- volumeData = resultRes.volumeResponseData;
- Application.RunOnMainThread(() =>
- {
- UpdateVolume();
- });
- }
- }
+ #region 闊抽噺
/// <summary>
/// 鏇存柊闊抽噺
/// </summary>
@@ -923,12 +1028,12 @@
return;
}
Application.RunOnMainThread(() =>
- {
- var volumeMsg = Language.StringByID(R.MyInternationalizationString.SetVolumeSuccess);
- this.ShowTipMsg(volumeMsg);
- oldVolume = currentVolume;
- CommonPage.Loading.Hide();
- });
+ {
+ var volumeMsg = Language.StringByID(R.MyInternationalizationString.SetVolumeSuccess);
+ this.ShowTipMsg(volumeMsg);
+ oldVolume = currentVolume;
+ CommonPage.Loading.Hide();
+ });
}
catch (Exception ex)
{
@@ -944,159 +1049,245 @@
/// </summary>
private async void NomallyOpenDialog()
{
- if (btnNormallyOpen.IsSelected)
+ #region 鍚庣画鐗堟湰
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
{
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess));
- return;
- }
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+ return;
+ }
- if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
- {
- SystemSecondAuthentication();
- return;
- }
+ if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+ {
+ SystemSecondAuthentication();
+ return;
+ }
- action = () =>
- {
- string msg = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n");
- var confirm = Language.StringByID(R.MyInternationalizationString.Confrim);
- var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm);
- alert.Show();
- alert.CancelClickEvent += () =>
- {
- btnNormallyOpen.IsSelected = false;
- };
- alert.ConfirmClickEvent += async () =>
- {
- Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
- if (result == null || result.defaultControlResponseData == null)
- {
- string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(msg0);
- btnNormallyOpen.IsSelected = false;
- return;
- }
- if (result.defaultControlResponseData.status != 0)
- {
- string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
- this.ShowTipMsg(msg1);
- btnNormallyOpen.IsSelected = false;
- return;
- }
- else
- {
- DoorLockCommonInfo.IsDoorLockNormallyMode = true;
- UpdateNomallyOpenStatus();
- CommonPage.Loading.Hide();
-
- //甯稿紑妯″紡寮�鍚彁绀�
- string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn);
- var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting);
- var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting);
- alertNomallyModeIsTurnOn.Show();
- alertNomallyModeIsTurnOn.LogicClickEvent += () =>
- {
- //鑷姩鍖�
- };
- alertNomallyModeIsTurnOn.InvalidClickEvent += async () =>
- {
- NomallyOpenModeInvalidTimeDialog();
- };
- }
- };
+ action = () =>
+ {
+ //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
+ if (doorLock == null)
+ {
+ ///闃叉鎶涘紓甯�
+ return;
+ }
+ ///澶囨敞锛歐JC鐨�
+ Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
+ ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱
+ Common.Logic.LogicDviceList.Clear();
+ if (Common.Logic.LogicDviceList.Count == 0)
+ {
+ Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
+ }
+ var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
+ UserView.HomePage.Instance.AddChidren(addLogicPage);
+ UserView.HomePage.Instance.PageIndex += 1;
+ addLogicPage.Show();
+ addLogicPage.action += (w) =>
+ {
+ doorLock.IsDoorLockNormallyMode = w;
+ ///鐣欑粰寰愭鐢ㄧ殑
+ UpdateNomallyOpenStatus();
};
- HdlCheckLogic.Current.CheckSecondarySecurity(action);
- }
- else
- {
- NomallyOpenModeInvalidDialog();
- }
- }
-
- /// <summary>
- /// 甯稿紑妯″紡澶辨晥澶勭悊
- /// </summary>
+ };
+ HdlCheckLogic.Current.CheckSecondarySecurity(action);
+ #endregion
+ }
+
+ /// <summary>
+ /// 甯稿紑妯″紡澶辨晥澶勭悊
+ /// </summary>
public void NomallyOpenModeInvalidDialog(bool IsFromReport = false)
{
+ if (!canShowDialog)
+ {
+ return;
+ }
+
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+ return;
+ }
string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n");
var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel);
var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm);
- if (HaveLogicNormallyOpenMode)
+ if (haveLogicNormallyOpenMode)
{
//鏈夐�昏緫璁剧疆鐨勫脊绐�
alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm);
}
alert.Show();
- alert.CancelClickEvent += async () =>
- {
- //淇濇寔甯稿紑
- if (IsFromReport)
- {
- Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
- if (result == null || result.defaultControlResponseData == null)
- {
- string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(msg0);
- btnNormallyOpen.IsSelected = false;
- DoorLockCommonInfo.IsDoorLockNormallyMode = false;
- return;
- }
- if (result.defaultControlResponseData.status != 0)
- {
- string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
- this.ShowTipMsg(msg1);
- btnNormallyOpen.IsSelected = false;
- DoorLockCommonInfo.IsDoorLockNormallyMode = false;
- return;
- }
- else
- {
- DoorLockCommonInfo.IsDoorLockNormallyMode = true;
- btnNormallyOpen.IsSelected = true;
- UpdateNomallyOpenStatus();
- CommonPage.Loading.Hide();
- }
- }
- else
- {
- btnNormallyOpen.IsSelected = true;
- }
- };
- alert.ConfirmClickEvent += async () =>
+
+ alert.MsgControlClickEvent += async () =>
{
- //纭鍙栨秷甯稿紑
if (IsFromReport)
{
- DoorLockCommonInfo.IsDoorLockNormallyMode = false;
- btnNormallyOpen.IsSelected = false;
- UpdateNomallyOpenStatus();
+ //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+ //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
+ if (haveLogicNormallyOpenMode)
+ {
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+ //if (resTemp == 3)
+ //{
+ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
+ // this.ShowTipMsg(msg0);
+ //}
+ }
}
else
{
+ //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+ }
+ };
+
+ alert.CancelClickEvent += async () =>
+ {
+ if (IsFromReport)
+ {
+ //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑�
+ Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
+ //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
+ if (haveLogicNormallyOpenMode)
+ {
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+ //if (resTemp == 3)
+ //{
+ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2);
+ // this.ShowTipMsg(msg0);
+ // return;
+ //}
+ }
+ //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
+ var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
+ if (result == null || result.defaultControlResponseData == null)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+ this.ShowTipMsg(msg0);
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
+ UpdateNomallyOpenStatus();
+ });
+ return;
+ }
+ if (result.defaultControlResponseData.status != 0)
+ {
+ string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
+ this.ShowTipMsg(msg1);
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+ return;
+ }
+ else
+ {
+ //淇濇寔鈥滃父寮�鎴愬姛鈥�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+
+ //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
+ var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
+ //if (!resu)
+ //{
+ // string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
+ // this.ShowTipMsg(msg0);
+ //}
+
+ CommonPage.Loading.Hide();
+ }
+ }
+ else
+ {
+ //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+ }
+ };
+
+ alert.ConfirmClickEvent += async () =>
+ {
+ if (IsFromReport)
+ {
+ //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+
+ //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
+ if (haveLogicNormallyOpenMode)
+ {
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+ //if (resTemp == 3)
+ //{
+ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
+ // this.ShowTipMsg(msg0);
+ //}
+ }
+ }
+ else
+ {
+ //app鎿嶄綔鍙栨秷鈥滃父寮�妯″紡鈥�
Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
var result = await doorLock.SetNormallyOpenModeFuncAsync(false);
if (result == null || result.defaultControlResponseData == null)
{
string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
this.ShowTipMsg(msg0);
- btnNormallyOpen.IsSelected = true;
return;
}
if (result.defaultControlResponseData.status != 0)
{
string msg1 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeFailed);
this.ShowTipMsg(msg1);
- btnNormallyOpen.IsSelected = true;
return;
}
else
- {
- DoorLockCommonInfo.IsDoorLockNormallyMode = false;
- UpdateNomallyOpenStatus();
+ {
+ //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
+ HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty);
+
+ //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ });
+ //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫
+ if (haveLogicNormallyOpenMode)
+ {
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
+ //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈�
+ //if (resTemp == 3)
+ //{
+ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
+ // this.ShowTipMsg(msg0);
+ //}
+ //else if (resTemp == 2)
+ //{
+ // string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
+ // this.ShowTipMsg(msg2);
+ //}
+ }
string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
this.ShowTipMsg(msg2);
}
@@ -1104,7 +1295,42 @@
};
}
- ///// <summary>
+ /// <summary>
+ /// 宸茬粡寮�鍚父寮�妯″紡鎻愮ず
+ /// </summary>
+ public void AlreadyOpenNormallyMode()
+ {
+ //甯稿紑妯″紡寮�鍚彁绀�
+ string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn);
+ var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting);
+ var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting);
+ alertNomallyModeIsTurnOn.Show();
+ alertNomallyModeIsTurnOn.MsgControlClickEvent += async () =>
+ {
+ //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
+ var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
+ //if (!res)
+ //{
+ //string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
+ // this.ShowTipMsg(msg0);
+ //return;
+ //}
+ };
+ //鐐瑰嚮鑷姩鍖�
+ alertNomallyModeIsTurnOn.LogicClickEvent += () =>
+ {
+ //閫昏緫璋冪敤鍓嶈寰楃Щ闄�
+ ZbGateway.StatusList.Remove(this);
+ //璋冪敤閫昏緫鐣岄潰
+ Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock);
+ };
+ alertNomallyModeIsTurnOn.InvalidClickEvent += async () =>
+ {
+ NomallyOpenModeInvalidTimeDialog();
+ };
+ }
+
+ /// <summary>
/// 甯稿紑妯″紡澶辨晥鏃堕棿澶勭悊
/// </summary>
private void NomallyOpenModeInvalidTimeDialog()
@@ -1114,30 +1340,26 @@
var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim);
var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim);
alertTimeInValidSetting.Show();
- alertTimeInValidSetting.CancelClickEvent += () =>
- {
- btnNormallyOpen.IsSelected = true;
- };
- alertTimeInValidSetting.InvalidTimeAction += (obj) =>
- {
- Regex rg = new Regex("^[0-9]+$");
- if (!rg.IsMatch(obj))
- {
- //蹇呴』鏄暟瀛�
- string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip);
- this.ShowTipMsg(msg0);
- string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
- var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim);
- var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2);
- alertTimeInValidSetting2.Show();
- return;
- }
- var temp = int.Parse(obj);
- DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
- btnNormallyOpen.IsSelected = true;
- };
+ alertTimeInValidSetting.InvalidTimeAction += async (obj) =>
+ {
+ //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛
+ var temp = int.Parse(obj);
+ DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
+ //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
+ var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
+ if (res == 0)
+ {
+ //榛樿鍒涘缓甯稿紑妯″紡澶辫触
+ string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
+ var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim));
+ alert.Show();
+ //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀�
+ NomallyOpenModeInvalidTimeDialog();
+ }
+ };
}
+
/// <summary>
/// 甯稿紑妯″紡鐘舵�佹洿鏂�
/// </summary>
@@ -1145,11 +1367,10 @@
{
if (!canOpenNormallyMode)
{
- btnNormallyOpen.UnSelectedImagePath = "DoorLock/NormallyOpenOffline.png";
- btnNormallyOpen.Enable = false;
+ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
return;
}
- if (DoorLockCommonInfo.IsDoorLockNormallyMode == true)
+ if (doorLock.IsDoorLockNormallyMode)
{
btnNormallyOpen.IsSelected = true;
btnDoorLockPic.IsSelected = true;
@@ -1157,19 +1378,12 @@
btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
}
- else if (DoorLockCommonInfo.IsDoorLockNormallyMode == false)
+ else if (!doorLock.IsDoorLockNormallyMode)
{
btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose);
btnDoorLockPic.IsSelected = false;
btnNormallyOpen.IsSelected = false;
progressButton.Y = Application.GetRealHeight(347);
- }
- else
- {
- btnNormallyOpen.UnSelectedImagePath = "DoorLock/NormallyOpenOffline.png";
- btnNormallyOpen.Enable = false;
- string msg = Language.StringByID(R.MyInternationalizationString.GetNormallyOpenModeFailed);
- this.ShowTipMsg(msg);
}
}
#endregion
@@ -1187,13 +1401,13 @@
btnDoorOpenPic.Enable = false;
if (UserCenterResourse.UserInfo.AuthorityNo != 1)
{
- var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+ var result = await 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);
+ var result1 = await DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
if (result1 == true)
{
- RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
+ RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
devicNameSecAction += (deviceRename) =>
{
if (!string.IsNullOrEmpty(deviceRename))
@@ -1223,7 +1437,7 @@
}
else
{
- RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
+ RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
devicNameSecAction += (deviceRename) =>
{
if (!string.IsNullOrEmpty(deviceRename))
@@ -1246,11 +1460,14 @@
/// </summary>
public override void RemoveFromParent()
{
+ //寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
+ ControlCommonResourse.IsDoorLockPageOpen = false;
if (IsDrawerLockMode)
{
CommonPage.Instance.IsDrawerLockMode = false;
}
ZbGateway.StatusList.Remove(this);
+ DoorLockCommonInfo.LogicAction = null;
base.RemoveFromParent();
}
#endregion
--
Gitblit v1.8.0