From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 1253 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 1,020 insertions(+), 233 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 3031802..9856a3c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -1,4 +1,6 @@
锘縰sing System;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
using Shared.Common;
using ZigBee.Device;
@@ -6,49 +8,209 @@
{
public class UserDoorLockPage : DoorLockCommonLayout, ZigBee.Common.IStatus
{
-
- public UserDoorLockPage(Shared.Common.Room room, DeviceUI doorLock)
+ #region 鐣岄潰
+ /// <summary>
+ /// 鏋勯�犲嚱鏁�
+ /// </summary>
+ /// <param name="room"></param>
+ /// <param name="doorLock"></param>
+ public UserDoorLockPage(Room room, CommonDevice doorLock)
{
- this.doorLock = doorLock.CommonDevice as ZigBee.Device.DoorLock;
+ //寰愭鐨勯棬閿佺晫闈㈡墦寮�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
+ //ControlCommonResourse.IsDoorLockPageOpen = true;
+ this.doorLock = doorLock as ZigBee.Device.DoorLock;
currentRoom = room;
deviceUI = doorLock;
- BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
- ZigBee.Device.ZbGateway.StatusList.Add(this);
+ BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor;
+ ZbGateway.StatusList.Add(this);
+ Application.RunOnMainThread(() =>
+ {
+ UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, status) =>
+ {
+ var key = doorLock.DeviceAddr;
+ if (DoorlockKey == key)
+ {
+ DoorLockCommonInfo.NormallyOpenModeValue(this.doorLock, status);
+ UpdateNomallyOpenStatus();
+ }
+ };
+ });
}
- #region 鈼� 鍙橀噺鐢虫槑__________________________
+ #region 鍙橀噺鐢虫槑
+ /// <summary>
+ /// 褰撳墠闂ㄩ攣
+ /// </summary>
ZigBee.Device.DoorLock doorLock;
- FrameLayout bottomFrameLayout;
- Shared.Common.Room currentRoom;
- DeviceUI deviceUI;
+ /// <summary>
+ /// 闊抽噺鏁版嵁
+ /// </summary>
+ ZigBee.Device.DoorLock.VolumeResponseData volumeData = null;
+ /// <summary>
+ /// 绛夊緟鑾峰彇鐢甸噺鐨勭瓑寰呮椂闂�
+ /// </summary>
+ DateTime waitGetDoorLockPower = DateTime.MaxValue;
+ /// <summary>
+ /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
+ /// </summary>
+ private bool haveLogicNormallyOpenMode = false;
+
+ /// <summary>
+ /// 褰撳墠鐢甸噺
+ /// </summary>
+ bool canVolume = false;
+ /// <summary>
+ /// 鏄惁鏀寔甯稿紑
+ /// </summary>
+ bool canOpenNormallyMode = false;
+ /// <summary>
+ /// IsDrawerLockMode[涓婚〉宸︽粦]
+ /// </summary>
+ public bool IsDrawerLockMode;
+ /// <summary>
+ /// 褰撳墠鐢甸噺
+ /// </summary>
+ int currentPower = 0;
+ /// <summary>
+ /// 淇濈暀涓婁竴娆¢煶閲�
+ /// </summary>
+ int oldVolume = -1;
+ /// <summary>
+ /// 褰撳墠鎴块棿
+ /// </summary>
+ Room currentRoom;
+ /// <summary>
+ /// 璁惧UI瀵硅薄
+ /// </summary>
+ CommonDevice deviceUI;
+ /// <summary>
+ /// 璁剧疆浜屾楠岃瘉Action
+ /// </summary>
Action action;
- Button btnDoorLockTitle;
+ /// <summary>
+ /// 涓儴甯冨眬涓棬閿佸悕绉版樉绀�
+ /// </summary>
+ NormalViewControl btnDoorLockTitle;
+ /// <summary>
+ /// 鍒嗕韩
+ /// </summary>
+ Button btnShare;
+ /// <summary>
+ /// 璁剧疆
+ /// </summary>
+ Button btnFuncSet;
+ /// <summary>
+ /// 璁剧疆FrameLayout
+ /// </summary>
+ FrameLayout btnFuncSetFrameLayout;
+ FrameLayout progressFrameLayoutMatch;
+ /// <summary>
+ /// 鐐瑰嚮寮�甯冨眬
+ /// </summary>
+ private FrameLayout openFrameLayout;
+ /// <summary>
+ /// 鐐瑰嚮鍏冲竷灞�
+ /// </summary>
+ private FrameLayout closeFrameLayout;
+ /// <summary>
+ /// 鎵撳紑鍥剧墖
+ /// </summary>
+ Button btnDoorOpenPic;
+ /// <summary>
+ /// 鎼滆棌UI
+ /// </summary>
+ FrameLayout btnCollectFrameLayout;
+ /// <summary>
+ /// 鎼滆棌
+ /// </summary>
+ Button btnCollect;
+ /// <summary>
+ /// 璁板綍UI
+ /// </summary>
+ FrameLayout btnRecordFrameLayout;
+ /// <summary>
+ /// 璁板綍鎸夐挳
+ /// </summary>
+ Button btnRecord;
+ /// <summary>
+ /// 褰撳墠鐘舵��
+ /// </summary>
+ Button btnStatus;
+ /// <summary>
+ /// 褰撳墠鐢甸噺鏂囨湰
+ /// </summary>
+ Button btnCurrentPowerText;
+ /// <summary>
+ /// 杩涘害鎸夐挳
+ /// </summary>
+ Button progressButton;
+ /// <summary>
+ /// 杩涘害
+ /// </summary>
+ DiyImageVerticalSeekBar diyImageVerticalSeekBar;
+ /// <summary>
+ /// 杩涘害鏂囨湰
+ /// </summary>
+ Button progressText;
+ /// <summary>
+ /// 闂ㄩ攣鍏冲浘鐗�
+ /// </summary>
+ Button btnDoorClosePic;
+ /// <summary>
+ /// 闂ㄩ攣寮�/鍏冲浘鐗�
+ /// </summary>
+ Button btnDoorLockPic;
+ /// <summary>
+ /// 鐢甸噺
+ /// </summary>
+ Button btnPower;
+ /// <summary>
+ /// 甯稿紑
+ /// </summary>
+ Button btnNormallyOpen;
+ /// <summary>
+ /// 闊抽噺
+ /// </summary>
+ Button btnVolume;
+ /// <summary>
+ /// 甯稿紑FrameLayout
+ /// </summary>
+ FrameLayout btnNormallyOpenFrameLayout;
+ /// <summary>
+ /// 闊抽噺FrameLayout
+ /// </summary>
+ FrameLayout btnVolumeFrameLayout;
+ /// <summary>
+ /// 聽褰撳墠闊抽噺
+ /// </summary>
+ int currentVolume = -1;
+ /// <summary>
+ /// waitClickTime
+ /// </summary>
+ DateTime waitClickTime = DateTime.MaxValue;
+ /// <summary>
+ /// IsClick
+ /// </summary>
+ bool IsClick = true;
#endregion
/// <summary>
/// UI鏄剧ず
/// </summary>
public void Show()
- {
+ {
this.TopFrameLayout(this, "");
-
- EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
- {
- RemoveFromParent();
- };
- this.btnBack.MouseUpEventHandler += eHandlerBack;
- this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
-
this.MidFrameLayout(this);
- var btnShare = new Button
+
+ btnShare = new Button
{
X = Application.GetRealWidth(850 - 116),
Height = Application.GetRealHeight(69),
- Width = Application.GetRealWidth(69),
+ Width = Application.GetRealWidth(0),
};
this.titleFrameLayout.AddChidren(btnShare);
- var btnFuncSetFrameLayout = new FrameLayout
+ btnFuncSetFrameLayout = new FrameLayout
{
X = Application.GetRealWidth(850 - 116),
Height = Application.GetRealHeight(69),
@@ -56,60 +218,36 @@
};
this.titleFrameLayout.AddChidren(btnFuncSetFrameLayout);
- var btnFuncSet = new Button
+ 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);
- btnFuncSet.MouseDownEventHandler += (sender, e) =>
+
+ MidFrameLayoutUI();
+
+ ClickHandle();
+
+ if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true)
{
- if (UserCenterResourse.UserInfo.AuthorityNo == 1)
- {
- var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- functionSetting.Show();
- functionSetting.devicNameAction += (deviceRename) =>
- {
- if (!string.IsNullOrEmpty(deviceRename))
- {
- btnDoorLockTitle.Text = deviceRename;
- //鏀规埧闂�
- Shared.Common.Room.CurrentRoom.ChangedRoom(deviceUI.CommonDevice, currentRoom.Id);
- deviceUI.CommonDevice.ReSave();
- }
- };
- }
- else
- {
- var functionSettingSub = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSettingSub);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- functionSettingSub.Show();
- functionSettingSub.devicNameAction += (deviceRename) =>
- {
- if (!string.IsNullOrEmpty(deviceRename))
- {
- btnDoorLockTitle.Text = deviceRename;
- }
- };
- }
- };
-
- btnShare.MouseDownEventHandler += (sender, e) =>
+ ReadDoorLockUserInfo();
+ }
+ else
{
-
- };
-
- MidFrameLayoutContent();
+ string msg1 = Language.StringByID(R.MyInternationalizationString.DoorLockOffLine);
+ this.ShowTipMsg(msg1);
+ return;
+ }
}
- public void MidFrameLayoutContent()
+ /// <summary>
+ /// 涓儴甯冨眬
+ /// </summary>
+ public void MidFrameLayoutUI()
{
- #region UI
var midTopFrameLayout = new FrameLayout()
{
X = Application.GetRealWidth(58),
@@ -121,99 +259,89 @@
};
this.midFrameLayout.AddChidren(midTopFrameLayout);
- btnDoorLockTitle = new Button()
- {
- Width = Application.GetRealWidth(250),
- Height = Application.GetRealHeight(60),
- X = Application.GetRealWidth(372),
- Y = Application.GetRealHeight(46),
- TextColor = Shared.Common.ZigbeeColor.Current.XMBlack ,
- TextSize = 15,
- TextAlignment = TextAlignment.Center,
- IsBold =true,
- };
- midTopFrameLayout.AddChidren(btnDoorLockTitle);
- //鑾峰彇Mac鍚嶅瓧
+ //璁惧鍚嶇О
+ btnDoorLockTitle = new NormalViewControl(100, 60, true);
+ btnDoorLockTitle.Y = Application.GetRealHeight(46);
+ btnDoorLockTitle.TextSize = 15;
+ btnDoorLockTitle.IsBold = true;
btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
+ btnDoorLockTitle.Width = btnDoorLockTitle.GetRealWidthByText();
+ btnDoorLockTitle.TextAlignment = TextAlignment.Center;
+ btnDoorLockTitle.Gravity = Gravity.CenterHorizontal;
+ midTopFrameLayout.AddChidren(btnDoorLockTitle);
- var btnRecord = new Button()
+ //璁板綍
+ btnRecordFrameLayout = new FrameLayout()
{
- Width = Application.GetRealWidth(69),
- Height = Application.GetRealHeight(69),
- X = Application.GetRealWidth(752),
+ Width = Application.GetRealWidth(69 + 15 + 46),
+ Height = Application.GetRealHeight(69 + 46 * 2),
+ X = Application.GetRealWidth(752 - 46),
+ };
+ midTopFrameLayout.AddChidren(btnRecordFrameLayout);
+ btnRecord = new Button()
+ {
+ Width = Application.GetMinReal(69),
+ Height = Application.GetMinReal(69),
+ X = Application.GetRealWidth(46),
Y = Application.GetRealHeight(46),
UnSelectedImagePath = "DoorLock/RecordIcon.png",
};
- midTopFrameLayout.AddChidren(btnRecord);
- btnRecord.MouseDownEventHandler += (sender, e) =>
- {
- //鍘嗗彶璁板綍 ---- stan
- var form = new DeviceDoorLock.DoorLockHistoryLogForm();
- form.AddForm(this.doorLock.DeviceAddr);
- };
+ btnRecordFrameLayout.AddChidren(btnRecord);
- var btnCollect = new Button()
+ //鎼滆棌UI
+ btnCollectFrameLayout = new FrameLayout()
{
- Width = Application.GetRealWidth(69),
- Height = Application.GetRealHeight(69),
- X = Application.GetRealWidth(850),
+ Width = Application.GetRealWidth(69 + 15 + 46),
+ Height = Application.GetRealHeight(69 + 46 * 2),
+ X = Application.GetRealWidth(850 - 15),
+ };
+ midTopFrameLayout.AddChidren(btnCollectFrameLayout);
+ btnCollect = new Button()
+ {
+ Width = Application.GetMinReal(69),
+ Height = Application.GetMinReal(69),
+ X = Application.GetRealWidth(15),
Y = Application.GetRealHeight(46),
UnSelectedImagePath = "Item/Collection.png",
SelectedImagePath = "Item/CollectionSelected.png"
};
- midTopFrameLayout.AddChidren(btnCollect);
- var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == deviceUI.FileName);
- if (de == null)
- {
- btnCollect.IsSelected = false;
- }
- else
- {
- btnCollect.IsSelected = true;
- }
- btnCollect.MouseDownEventHandler += (sender, e) =>
+ btnCollectFrameLayout.AddChidren(btnCollect);
+
+ //褰撳墠鐘舵��
+ btnStatus = new Button()
{
- btnCollect.IsSelected = !btnCollect.IsSelected;
- if (btnCollect.IsSelected)
- {
- Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(deviceUI.FileName);//鏀惰棌
- }
- else
- {
- Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(deviceUI.FileName); //鍙栨秷鏀惰棌
- }
- };
-
- var btnCurrentText = new Button()
- {
- Width = Application.GetRealWidth(100),
+ Width = Application.GetRealWidth(132 + 351),
Height = Application.GetRealHeight(40),
- X = Application.GetRealWidth(415),
Y = Application.GetRealHeight(118),
- Text = Language.StringByID(R.MyInternationalizationString.Current),
+ Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
TextSize = 10,
- TextAlignment = TextAlignment.CenterLeft,
- };
- midTopFrameLayout.AddChidren(btnCurrentText);
-
- var btnStatus = new Button()
- {
- Width = Application.GetRealWidth(200),
- Height = Application.GetRealHeight(40),
- X = btnCurrentText.Right,
- Y = Application.GetRealHeight(118),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
- Text = Language.StringByID(R.MyInternationalizationString.CLose),
- TextSize = 10,
- TextAlignment = TextAlignment.CenterLeft,
+ TextAlignment = TextAlignment.CenterRight,
};
midTopFrameLayout.AddChidren(btnStatus);
- var btnDoorLockPic = new Button()
+ //褰撳墠鐢甸噺
+ btnCurrentPowerText = new Button()
{
- Width = Application.GetRealWidth(383),
- Height = Application.GetRealHeight(343),
+ Width = Application.GetRealWidth(133 + 348),
+ Height = Application.GetRealHeight(40),
+ X = btnStatus.Right,
+ Y = Application.GetRealHeight(118),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ Text = Language.StringByID(R.MyInternationalizationString.DoorLockPower) + "%",
+ TextSize = 10,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ midTopFrameLayout.AddChidren(btnCurrentPowerText);
+#if Android
+ btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20);
+#endif
+
+ //闂ㄩ攣寮�/鍏冲浘鐗�
+ btnDoorLockPic = new Button()
+ {
+ Width = Application.GetMinReal(383),
+ Height = Application.GetMinReal(343),
X = Application.GetRealWidth(161),
Y = Application.GetRealHeight(415),
UnSelectedImagePath = "DoorLock/DoorLockPicClose.png",
@@ -221,6 +349,7 @@
};
midTopFrameLayout.AddChidren(btnDoorLockPic);
+ #region 寮�/鍏崇偣鍑诲竷灞�
var btnFrameLayout = new FrameLayout()
{
Width = Application.GetRealWidth(420 - 46),
@@ -231,7 +360,7 @@
};
midTopFrameLayout.AddChidren(btnFrameLayout);
- var openFrameLayout = new FrameLayout()
+ openFrameLayout = new FrameLayout()
{
Width = Application.GetRealWidth(420),//639-35
Height = Application.GetRealHeight(446 / 2),
@@ -239,7 +368,7 @@
};
btnFrameLayout.AddChidren(openFrameLayout);
- var closeFrameLayout = new FrameLayout()
+ closeFrameLayout = new FrameLayout()
{
Width = Application.GetRealWidth(420),//639-35
Height = Application.GetRealHeight(446 / 2),
@@ -248,47 +377,106 @@
};
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);
- var progressButton = new Button()
+ progressButton = new Button()
{
- Width = Application.GetRealWidth(81),//639-35
- Height = Application.GetRealHeight(89),
- 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",
- SelectedImagePath = "DoorLock/UnLockButton.png",
};
- btnFrameLayout.AddChidren(progressButton);
+ progressFrameLayoutMatch.AddChidren(progressButton);
- var btnDoorOpenPic = new Button()
+ 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",
};
openFrameLayout.AddChidren(btnDoorOpenPic);
- var btnDoorClosePic = new Button()
+ 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",
};
closeFrameLayout.AddChidren(btnDoorClosePic);
+ #endregion
+ //鐢甸噺
+ btnPower = new Button()
+ {
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
+ X = Application.GetRealWidth(253),
+ Y = Application.GetRealHeight(994),
+ UnSelectedImagePath = "DoorLock/PowerOffline.png",
+ };
+ midTopFrameLayout.AddChidren(btnPower);
+
+ //闊抽噺
+ btnVolumeFrameLayout = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(81 + 80),
+ Height = Application.GetRealHeight(81 + 80),
+ X = Application.GetRealWidth(444 - 40),
+ Y = Application.GetRealHeight(994 - 40),
+ };
+ midTopFrameLayout.AddChidren(btnVolumeFrameLayout);
+ btnVolume = new Button()
+ {
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
+ X = Application.GetRealWidth(40),
+ Y = Application.GetRealHeight(40),
+ UnSelectedImagePath = "DoorLock/VolumeIcon.png",
+ SelectedImagePath = "DoorLock/VolumeIconOn.png",
+ };
+ btnVolumeFrameLayout.AddChidren(btnVolume);
+
+ //甯稿紑
+ btnNormallyOpenFrameLayout = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(81 + 80),
+ Height = Application.GetRealHeight(81 + 80),
+ X = Application.GetRealWidth(631 - 40),
+ Y = Application.GetRealHeight(994 - 40),
+ };
+ midTopFrameLayout.AddChidren(btnNormallyOpenFrameLayout);
+ btnNormallyOpen = new Button()
+ {
+ Width = Application.GetMinReal(81),
+ Height = Application.GetMinReal(81),
+ X = Application.GetRealWidth(40),
+ Y = Application.GetRealHeight(40),
+ UnSelectedImagePath = "DoorLock/NormallyOpen.png",
+ SelectedImagePath = "DoorLock/NormallyOpenOn.png",
+ };
+ btnNormallyOpenFrameLayout.AddChidren(btnNormallyOpen);
+
+ #region 鑳屾櫙鍦嗚璁剧疆
var btnCurrentTopFrameLayout = new FrameLayout()
{
Height = Application.GetRealHeight(50),
@@ -307,11 +495,13 @@
Radius = 6,
};
midTopFrameLayout.AddChidren(btnCurrentFrameLayout);
+ #endregion
+ #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",
@@ -330,107 +520,704 @@
TextAlignment = TextAlignment.CenterLeft,
};
btnCurrentFrameLayout.AddChidren(btnCurrentRoomName);
- #endregion
+ #endregion
+ }
- EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
+ #region 闊抽噺寮圭獥
+ /// <summary>
+ /// 杩涘害鏉�
+ /// </summary>
+ private void VolumeDialog(Button progressText, DiyImageVerticalSeekBar diyImageVerticalSeekBar)
+ {
+ var dialog = new Dialog { };
+ dialog.Show();
+ var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
+ dialog.AddChidren(flMain);
+ flMain.MouseUpEventHandler += (sender11, e11) =>
{
- openFrameLayout.Enable = false;
- btnDoorOpenPic.Enable = false;
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ dialog.Close();
+
+ //璁剧疆闊抽噺
+ if (currentVolume != oldVolume)
{
- var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
- if (result == false)
+ SetVolume(currentVolume);
+ }
+ };
+
+ var progressBackground = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(271),
+ Height = Application.GetRealHeight(700),
+ X = Application.GetRealWidth(403),
+ Y = Application.GetRealHeight(582),
+ BackgroundImagePath = "DoorLock/ProgressBackground.png",
+ };
+ 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() + "%",
+ };
+
+ diyImageVerticalSeekBar = new DiyImageVerticalSeekBar()
+ {
+ Width = Application.GetRealWidth(271),
+ Height = Application.GetRealHeight(447 + 63),
+ Y = Application.GetRealHeight(155),
+ IsProgressTextShow = false,//鏄剧ず鐧惧垎姣�
+ ProgressBarColor = ZigbeeColor.Current.XMProgressBarColor,//閫変腑杩涘害鏉¢鑹�
+ SeekBarBackgroundColor = ZigbeeColor.Current.XMSeekBarBackgroundColor,//閫変腑杩涘害鏉¢鑹�
+ ThumbImagePath = "DoorLock/UnLockButton.png",//杩涘害鏉℃寜閽浘鏍�
+ ThumbImageHeight = Application.GetRealHeight(81),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級
+ ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
+ ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�
+ SeekBarViewHeight = Application.GetRealHeight(17),//杩涘害鏉$殑瀹藉害
+ Progress = currentVolume,
+ };
+ progressBackground.AddChidren(progressText);
+ progressBackground.AddChidren(diyImageVerticalSeekBar);
+ diyImageVerticalSeekBar.OnProgressChangedEvent += (sender, e) =>
+ {
+ int curVolume = -1;
+ curVolume = e;
+ currentVolume = curVolume;
+ progressText.Text = e.ToString() + "%";
+ };
+ }
+
+ #endregion
+ #endregion
+
+ #region 澶勭悊鎺ュ彛鏁版嵁
+ /// <summary>
+ /// 澶勭悊鍙樺寲浜嬩欢
+ /// </summary>
+ /// <param name="common"></param>
+ /// <param name="typeTag"></param>
+ public void DeviceInfoChange(CommonDevice tempDevice, string typeTag)
+ {
+ //鏈烘寮�閿佷笂鎶ャ�傚鐞嗗父寮�鐘舵�侊紝寮�鍏崇姸鎬�
+ if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null)
+ {
+ var tempDoor = (ZigBee.Device.DoorLock)tempDevice;
+ if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
+ && tempDevice.DeviceAddr == doorLock.DeviceAddr)
+ {
+ if (tempDoor.doorLockOperatingEventNotificationCommand != null)
{
- var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
- if (result1 == true)
+ //闈炰富浜轰笉寮硅繖涓獥鍙�
+ 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);
+ });
+ }
+ }
+ }
+ }
+ }
+
+ if (typeTag == "DeviceStatusReport" && tempDevice != null)
+ {
+ if (tempDevice != null)
+ {
+ if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
+ && tempDevice.DeviceAddr == doorLock.DeviceAddr)
+ {
+ if (tempDevice.DeviceStatusReport != null && tempDevice.DeviceStatusReport.AttriBute != null)
{
- RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
- devicNameSecAction += (deviceRename) =>
- {
- if (!string.IsNullOrEmpty(deviceRename))
- {
- btnDoorLockTitle.Text = deviceRename;
- //鏀规埧闂�
- Shared.Common.Room.CurrentRoom.ChangedRoom(deviceUI.CommonDevice, currentRoom.Id);
- deviceUI.CommonDevice.ReSave();
- }
- };
- openFrameLayout.Enable = true;
- btnDoorOpenPic.Enable = true;
+ var dataReport = tempDevice.DeviceStatusReport.AttriBute[0];
+ if (tempDevice.DeviceStatusReport.CluterID == 1 && dataReport.AttributeId == 33)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ currentPower = dataReport.AttriButeData;
+ UpdatePower();
+ });
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨暟鎹�
+ /// </summary>
+ void ReadDoorLockUserInfo()
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start("");
+ });
+
+ //鏄惁鏀寔甯稿紑
+ canOpenNormallyMode = DoorLockCommonInfo.CanNormallyOpen(doorLock);
+ if (canOpenNormallyMode)
+ {
+ //1銆佽幏鍙栭棬閿佸父寮�妯″紡
+ 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
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance);
- openFrameLayout.Enable = true;
- btnDoorOpenPic.Enable = true;
+ 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, doorLock);
+ if (resTemp == 0)
+ {
+ haveLogicNormallyOpenMode = false;
+ }
+ else
+ {
+ haveLogicNormallyOpenMode = true;
+ }
+ });
}
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ Application.RunOnMainThread(() =>
+ {
+ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
+ });
+ }
+
+ //鏄惁鏀寔闊抽噺
+ canVolume = DoorLockCommonInfo.CanVolume(doorLock);
+ if (canVolume)
+ {
+ //2銆佽鍙栭煶閲�
+ 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);
+ });
+ }
+
+ //3銆佽鍙栭棬閿佺數閲忥細绨嘔D锛�1 灞炴�D 33
+ doorLock.ReadAttri(Cluster_ID.Power, AttriButeId.DoorLockPower);
+ //涓婃姤鐢甸噺绛�1绉�
+ System.Threading.Thread.Sleep(1000);
+ }
+ catch (Exception ex)
+ {
+ var mess = ex.Message;
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ UpdateNomallyOpenStatus();
+ CommonPage.Loading.Hide();
+ });
+ }
+ });
+ }
+
+ #endregion
+
+ #region 鍏叡浜嬩欢澶勭悊
+ /// <summary>
+ /// 浜嬩欢澶勭悊
+ /// </summary>
+ public void ClickHandle()
+ {
+ //闂ㄩ攣鏍囬
+ btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
+
+ //杩斿洖
+ EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
+ {
+ RemoveFromParent();
+ };
+ this.btnBack.MouseUpEventHandler += eHandlerBack;
+ this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
+
+ //璁剧疆
+ EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) =>
+ {
+ 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();
+ //DoorLockCommonInfo.canShowDialog = false;
+ functionSetting.devicNameAction += (deviceRename) =>
+ {
+ if (!string.IsNullOrEmpty(deviceRename))
+ {
+ btnDoorLockTitle.Text = deviceRename;
+ //鏀规埧闂�
+ HdlRoomLogic.Current.ChangedRoom(deviceUI, currentRoom.Id);
+ deviceUI.ReSave();
+ }
+ };
+ };
+ btnFuncSetFrameLayout.MouseDownEventHandler += btnFuncSetHander;
+ btnFuncSet.MouseDownEventHandler += btnFuncSetHander;
+
+ //鎼滆棌鐘舵��
+ if (HdlRoomLogic.Current.IsCollectInRoom(deviceUI) == false)
+ {
+ btnCollect.IsSelected = false;
+ }
+ else
+ {
+ btnCollect.IsSelected = true;
+ }
+
+ //鍘嗗彶璁板綍鐐瑰嚮浜嬩欢
+ EventHandler<MouseEventArgs> handerRecord = (sender, e) =>
+ {
+ //鍘嗗彶璁板綍 ---- stan
+ var form = new DeviceDoorLock.DoorLockHistoryLogForm();
+ form.AddForm(this.doorLock.DeviceAddr);
+ //DoorLockCommonInfo.canShowDialog = false;
+ };
+ btnRecordFrameLayout.MouseDownEventHandler += handerRecord;
+ btnRecord.MouseDownEventHandler += handerRecord;
+
+ //鏀惰棌鐐瑰嚮浜嬩欢
+ EventHandler<MouseEventArgs> handerCollect = (sender, e) =>
+ {
+ btnCollect.IsSelected = !btnCollect.IsSelected;
+ if (btnCollect.IsSelected)
+ {
+ HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌
+ }
+ else
+ {
+ HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌
+ }
+ };
+ btnCollectFrameLayout.MouseDownEventHandler += handerCollect;
+ btnCollect.MouseDownEventHandler += handerCollect;
+
+ //寮�閿佷簨浠�
+ EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
+ {
+ if (doorLock.IsDoorLockNormallyMode)
+ {
+ 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);
+ }
+ };
+ openFrameLayout.MouseUpEventHandler += hander1;
+ btnDoorOpenPic.MouseUpEventHandler += hander1;
+ if (progressButton.Y == Application.GetRealHeight(10))
+ {
+ progressFrameLayoutMatch.MouseUpEventHandler += hander1;
+ }
+
+ //鍏抽攣浜嬩欢
+ EventHandler<MouseEventArgs> hander2 = (sender, e) =>
+ {
+ if (canOpenNormallyMode)
+ {
+ if (doorLock.IsDoorLockNormallyMode)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Action<bool> action = (obj) =>
+ {
+ UpdateNomallyOpenStatus();
+ };
+ DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action);
+ });
+ }
+ }
+ else
+ {
+ btnDoorLockPic.IsSelected = false;
+ progressButton.Y = Application.GetRealHeight(347);
+ }
+ };
+ closeFrameLayout.MouseUpEventHandler += hander2;
+ btnDoorClosePic.MouseUpEventHandler += hander2;
+
+ //闊抽噺鐐瑰嚮浜嬩欢
+ EventHandler<MouseEventArgs> handerVolume = (sender, e) =>
+ {
+ if (canVolume)
+ {
+ VolumeDialog(progressText, diyImageVerticalSeekBar);
+ }
+ };
+ btnVolumeFrameLayout.MouseDownEventHandler += handerVolume;
+ btnVolume.MouseDownEventHandler += handerVolume;
+
+
+ //甯稿紑妯″紡鐐瑰嚮浜嬩欢
+ EventHandler<MouseEventArgs> handerNormallyOpen = (sender, e) =>
+ {
+ NomallyOpenDialog();
+ };
+ btnNormallyOpenFrameLayout.MouseUpEventHandler += handerNormallyOpen;
+ btnNormallyOpen.MouseUpEventHandler += handerNormallyOpen;
+ }
+ #endregion
+
+ #region 鐢甸噺鏄剧ず
+ /// <summary>
+ /// 鐢甸噺鏇存柊
+ /// </summary>
+ private void UpdatePower()
+ {
+ btnCurrentPowerText.Text = Language.StringByID(R.MyInternationalizationString.DoorLockPower) + currentPower + "%";
+ if (currentPower <= 20 && currentPower >= 0)
+ {
+ btnPower.UnSelectedImagePath = "DoorLock/LowPower.png";
+ }
+ else if (currentPower <= 40 && currentPower > 20)
+ {
+ btnPower.UnSelectedImagePath = "DoorLock/Power40.png";
+ }
+ else if (currentPower <= 60 && currentPower > 40)
+ {
+ btnPower.UnSelectedImagePath = "DoorLock/Power60.png";
+ }
+ else if (currentPower <= 80 && currentPower > 60)
+ {
+ btnPower.UnSelectedImagePath = "DoorLock/Power80.png";
+ }
+ else if (currentPower <= 100 && currentPower > 80)
+ {
+ btnPower.UnSelectedImagePath = "DoorLock/Power100.png";
+ }
+ else
+ {
+ btnPower.UnSelectedImagePath = "DoorLock/PowerOffline.png";
+ }
+ }
+ #endregion
+
+ #region 闊抽噺
+ /// <summary>
+ /// 鏇存柊闊抽噺
+ /// </summary>
+ private void UpdateVolume()
+ {
+ if (volumeData != null)
+ {
+ int curVol = 0;
+ btnVolume.IsSelected = true;
+ if (volumeData.command == "eb")
+ {
+ curVol = 0;
+ }
+ else
+ {
+ curVol = volumeData.value;
+ }
+ oldVolume = currentVolume = curVol;
+ }
+ }
+
+ /// <summary>
+ /// 璁剧疆闊抽噺
+ /// </summary>
+ private void SetVolume(int volume)
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start("");
+ });
+ var resultRes = await doorLock.SetVolumeAsync(volume);
+ if (resultRes == null || resultRes.defaultControlResponseData == null)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var volumeMsg = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+ this.ShowTipMsg(volumeMsg);
+ currentVolume = oldVolume;
+ CommonPage.Loading.Hide();
+
+ });
+ return;
+ }
+ if (resultRes.defaultControlResponseData.status != 0)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var volumeMsg = Language.StringByID(R.MyInternationalizationString.SetVolumeFailed);
+ this.ShowTipMsg(volumeMsg);
+ currentVolume = oldVolume;
+ CommonPage.Loading.Hide();
+ });
+ return;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ var volumeMsg = Language.StringByID(R.MyInternationalizationString.SetVolumeSuccess);
+ this.ShowTipMsg(volumeMsg);
+ oldVolume = currentVolume;
+ CommonPage.Loading.Hide();
+ });
+ }
+ catch (Exception ex)
+ {
+ var mes = ex.Message;
+ }
+ });
+ }
+ #endregion
+
+ #region 甯稿紑妯″紡
+ /// <summary>
+ /// 甯稿紑妯″紡澶勭悊
+ /// </summary>
+ private async void NomallyOpenDialog()
+ {
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+ return;
+ }
+
+ if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+ {
+ SystemSecondAuthentication();
+ return;
+ }
+
+ action = () =>
+ {
+ //WJC鐨勪唬鐮侊細绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
+ 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 += async (w) =>
+ {
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, w);
+ UpdateNomallyOpenStatus();
+ //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction
+ UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null;
+ //鏄惁瀛樺湪甯稿紑妯″紡
+ var resTemp = Shared.Common.Logic.SoneLogicList;
+ if (resTemp.Count == 0)
+ {
+ haveLogicNormallyOpenMode = false;
+ }
+ else
+ {
+ haveLogicNormallyOpenMode = true;
+ }
+
+ UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction -= addLogicPage.updateCurrentDoorlockActionTemp;
+ };
+ };
+ HdlCheckLogic.Current.CheckSecondarySecurity(action);
+
+ }
+
+ /// <summary>
+ /// 甯稿紑妯″紡鐘舵�佹洿鏂�
+ /// </summary>
+ private void UpdateNomallyOpenStatus()
+ {
+ if (!canOpenNormallyMode)
+ {
+ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
+ return;
+ }
+ if (doorLock.IsDoorLockNormallyMode)
+ {
+ btnNormallyOpen.IsSelected = true;
+ btnDoorLockPic.IsSelected = true;
+ progressButton.Y = Application.GetRealHeight(10);
+ btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
+
+ }
+ 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);
+ }
+ }
+ #endregion
+
+ #region 寮�閿佸鐞�
+ /// <summary>
+ /// 寮�閿佸鐞�
+ /// </summary>
+ /// <param name="progressButton">杩涘害鎸夐挳</param>
+ /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖</param>
+ /// <param name="btnStatus">鐘舵�佹樉绀�</param>
+ async void OpenDoorLockHandle(Button progressButton, Button btnDoorLockPic, Button btnStatus)
+ {
+ openFrameLayout.Enable = false;
+ btnDoorOpenPic.Enable = false;
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ var result = await DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
+ if (result == false)
+ {
+ var result1 = await DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
+ if (result1 == true)
+ {
+ RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
+ devicNameSecAction += (deviceRename) =>
+ {
+ if (!string.IsNullOrEmpty(deviceRename))
+ {
+ btnDoorLockTitle.Text = deviceRename;
+ //鏀规埧闂�
+ HdlRoomLogic.Current.ChangedRoom(deviceUI, currentRoom.Id);
+ deviceUI.ReSave();
+ }
+ };
+ openFrameLayout.Enable = true;
+ btnDoorOpenPic.Enable = true;
+ }
+ else
+ {
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess));
openFrameLayout.Enable = true;
btnDoorOpenPic.Enable = true;
}
}
else
{
- RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
- devicNameSecAction += (deviceRename) =>
- {
- if (!string.IsNullOrEmpty(deviceRename))
- {
- btnDoorLockTitle.Text = deviceRename;
- //鏀规埧闂�
- Shared.Common.Room.CurrentRoom.ChangedRoom(deviceUI.CommonDevice, currentRoom.Id);
- deviceUI.CommonDevice.ReSave();
- }
- };
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
openFrameLayout.Enable = true;
btnDoorOpenPic.Enable = true;
}
- };
- openFrameLayout.MouseUpEventHandler += hander1;
- btnDoorOpenPic.MouseUpEventHandler += hander1;
- EventHandler<MouseEventArgs> hander2 = (sender, e) =>
+ }
+ else
{
- btnDoorLockPic.IsSelected = false;
- progressButton.Y = Application.GetRealHeight(347);
- };
- closeFrameLayout.MouseUpEventHandler += hander2;
- btnDoorClosePic.MouseUpEventHandler += hander2;
+ RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle);
+ devicNameSecAction += (deviceRename) =>
+ {
+ if (!string.IsNullOrEmpty(deviceRename))
+ {
+ btnDoorLockTitle.Text = deviceRename;
+ //鏀规埧闂�
+ HdlRoomLogic.Current.ChangedRoom(deviceUI, currentRoom.Id);
+ deviceUI.ReSave();
+ }
+ };
+ openFrameLayout.Enable = true;
+ btnDoorOpenPic.Enable = true;
+ }
}
+ #endregion
- #region 鈼� 鎺ュ彛瀹炵幇__________________________
+ #region 绉婚櫎鏂规硶
/// <summary>
- /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
+ /// 閲嶅啓绉婚櫎鏂规硶
/// </summary>
- /// <returns>The changed.</returns>
- /// <param name="common">Common.</param>
- public void Changed(CommonDevice common)
+ public override void RemoveFromParent()
{
-
- }
- /// <summary>
- /// 澶勭悊鍙樺寲浜嬩欢
- /// </summary>
- /// <param name="common"></param>
- /// <param name="typeTag"></param>
- public void DeviceInfoChange(CommonDevice common, string typeTag)
- {
- }
- /// <summary>
- /// Changeds the IL ogic status.
- /// </summary>
- /// <param name="logic">Logic.</param>
- public void ChangedILogicStatus(ZigBee.Device.Logic logic)
- {
- }
- /// <summary>
- /// Changeds the IS cene status.
- /// </summary>
- /// <param name="scene">Scene.</param>
- public void ChangedISceneStatus(Scene scene)
- {
+ UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction = null;
+ if (IsDrawerLockMode)
+ {
+ CommonPage.Instance.IsDrawerLockMode = false;
+ }
+ ZbGateway.StatusList.Remove(this);
+ DoorLockCommonInfo.LogicAction = null;
+ base.RemoveFromParent();
}
#endregion
}
--
Gitblit v1.8.0