From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01
---
ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs | 108 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 69 insertions(+), 39 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs b/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
index 9ecbb97..d3cc6fc 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
@@ -9,7 +9,7 @@
/// <summary>
/// 涓婚〉鐨勮澶囧崱鐗囨帶浠跺簳灞傚叡閫�(瀹藉害:458 + 14 * 2 楂樺害:305 + 43)
/// </summary>
- public class DeviceCardCommon : FrameLayoutControl
+ public class DeviceCardCommon : FrameLayoutStatuControl
{
#region 鈻� 鍙橀噺澹版槑___________________________
@@ -57,6 +57,10 @@
/// 鍒ゆ柇鏄惁鏈夊紑鍏冲姛鑳�
/// </summary>
private bool isHadOpenSwitch = true;
+ /// <summary>
+ /// 褰撳墠閫夋嫨鐨勬埧闂�
+ /// </summary>
+ public Common.Room nowSelectRoom = null;
#endregion
@@ -68,9 +72,9 @@
public DeviceCardCommon()
{
//鍥剧墖鐪熷疄瀹藉害+鍥剧墖鑷韩宸﹀彸绌虹櫧
- this.Width = Application.GetMinRealAverage(458 + 14 * 2);
+ this.Width = HdlControlLogic.Current.GetPictrueRealSize(458 + 14 * 2);
//鍥剧墖楂樺害+闃村奖
- this.Height = Application.GetMinRealAverage(305 + 43);
+ this.Height = HdlControlLogic.Current.GetPictrueRealSize(305 + 43);
//鍙栨秷鐐瑰嚮鐗规晥
this.UseClickStatu = false;
}
@@ -79,30 +83,32 @@
/// 鍒濆鍖栨帶浠�
/// </summary>
/// <param name="i_device">鎸囧畾璁惧</param>
- public virtual void InitControl(CommonDevice i_device)
+ /// <param name="i_nowSelectRoom">褰撳墠閫夋嫨鐨勬埧闂�(鏈夌偣鐢ㄥ)</param>
+ public virtual void InitControl(CommonDevice i_device, Common.Room i_nowSelectRoom)
{
this.device = i_device;
+ this.nowSelectRoom = i_nowSelectRoom;
//鑳屾櫙鍥剧墖
this.btnBackGroud = new PicViewControl(this.Width, this.Height, false);
btnBackGroud.UnSelectedImagePath = "Item/FunctionCardView.png";
btnBackGroud.SelectedImagePath = "Item/FunctionCardViewSelected.png";
btnBackGroud.Gravity = Gravity.CenterHorizontal;
- this.AddChidren(btnBackGroud, ChidrenBindMode.BindEventOnly);
+ this.AddChidren(btnBackGroud, ChidrenBindMode.BindEvent);
//璁惧鍚嶇О鎺т欢
this.btnDeviceName = new NormalViewControl(320, 63, true);
- btnDeviceName.X = Application.GetMinRealAverage(40);
- btnDeviceName.Y = Application.GetMinRealAverage(17);
+ btnDeviceName.X = HdlControlLogic.Current.GetPictrueRealSize(40);
+ btnDeviceName.Y = HdlControlLogic.Current.GetPictrueRealSize(17);
btnDeviceName.TextSize = 16;
btnDeviceName.TextColor = UserCenterColor.Current.TextGrayColor1;
btnDeviceName.SelectedTextColor = UserCenterColor.Current.White;
btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(i_device);
- this.AddChidren(btnDeviceName, ChidrenBindMode.BindEventOnly);
+ this.AddChidren(btnDeviceName, ChidrenBindMode.BindEvent);
//鏀堕泦鎺т欢
this.btnCollect = new IconViewControl(107);
- btnCollect.X = Application.GetMinRealAverage(350);
- btnCollect.Y = Application.GetMinRealAverage(12);
+ btnCollect.X = HdlControlLogic.Current.GetPictrueRealSize(350);
+ btnCollect.Y = HdlControlLogic.Current.GetPictrueRealSize(12);
btnCollect.UnSelectedImagePath = "Item/Collection1.png";
btnCollect.SelectedImagePath = "Item/CollectionSelected1.png";
this.AddChidren(btnCollect, ChidrenBindMode.NotBind);
@@ -115,7 +121,7 @@
{
//鍙栨秷鏀惰棌
HdlRoomLogic.Current.DeleteLoveDevice(i_device);
- if (HdlRoomLogic.Current.CurrentRoom.IsLove == true)
+ if (this.nowSelectRoom.IsLove == true)
{
//濡傛灉褰撳墠鎴块棿鏄垜鐨勫枩鐖辩殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑浜嬩欢
this.CardNeedRemoveEvent?.Invoke();
@@ -130,33 +136,33 @@
//璁惧鐨勮儗鏅渾鍦堝浘
this.fraDeviceRound = new FrameLayout();
- fraDeviceRound.Width = Application.GetMinRealAverage(124);
- fraDeviceRound.Height = Application.GetMinRealAverage(124);
- fraDeviceRound.Radius = (uint)Application.GetMinRealAverage(124) / 2;
- fraDeviceRound.X = Application.GetMinRealAverage(44);
- fraDeviceRound.Y = Application.GetMinRealAverage(101);
+ fraDeviceRound.Width = HdlControlLogic.Current.GetPictrueRealSize(124);
+ fraDeviceRound.Height = HdlControlLogic.Current.GetPictrueRealSize(124);
+ fraDeviceRound.Radius = (uint)HdlControlLogic.Current.GetPictrueRealSize(124) / 2;
+ fraDeviceRound.X = HdlControlLogic.Current.GetPictrueRealSize(44);
+ fraDeviceRound.Y = HdlControlLogic.Current.GetPictrueRealSize(101);
fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
- this.AddChidren(fraDeviceRound, ChidrenBindMode.BindEventOnly);
+ this.AddChidren(fraDeviceRound, ChidrenBindMode.BindEvent);
//璁惧鍥炬爣鎺т欢
this.btnDeviceIcon = new IconViewControl(86);
btnDeviceIcon.Gravity = Gravity.Center;
fraDeviceRound.AddChidren(btnDeviceIcon);
- this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEventOnly);
+ this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEvent);
//鐘舵�佹枃鏈帶浠�
- this.btnStatu = new NormalViewControl(Application.GetMinRealAverage(280), Application.GetMinRealAverage(63), false);
- btnStatu.X = Application.GetMinRealAverage(46);
- btnStatu.Y = Application.GetMinRealAverage(236);
+ this.btnStatu = new NormalViewControl(HdlControlLogic.Current.GetPictrueRealSize(300), HdlControlLogic.Current.GetPictrueRealSize(63), false);
+ btnStatu.X = HdlControlLogic.Current.GetPictrueRealSize(46);
+ btnStatu.Y = HdlControlLogic.Current.GetPictrueRealSize(236);
btnStatu.TextColor = UserCenterColor.Current.TextColor1;
btnStatu.SelectedTextColor = Common.ZigbeeColor.Current.GXCTextSelectedColor;
btnStatu.IsBold = true;
- this.AddChidren(btnStatu, ChidrenBindMode.BindEventOnly);
+ this.AddChidren(btnStatu, ChidrenBindMode.BindEvent);
//寮�鍏虫帶浠�(涓嶅姞鍏ョ埗鎺т欢涓�)
this.btnSwitch = new PicViewControl(109, 104);
- btnSwitch.X = Application.GetMinRealAverage(325);
- btnSwitch.Y = Application.GetMinRealAverage(202);
+ btnSwitch.X = HdlControlLogic.Current.GetPictrueRealSize(325);
+ btnSwitch.Y = HdlControlLogic.Current.GetPictrueRealSize(202);
btnSwitch.UnSelectedImagePath = "Item/Switch1.png";
btnSwitch.SelectedImagePath = "Item/SwitchSelected1.png";
@@ -195,8 +201,16 @@
}
//璁惧鍥炬爣涔熷埛鏂�
Common.LocalDevice.Current.SetDeviceIconToControl2(btnDeviceIcon, i_device);
+ //鍚嶅瓧鍒锋柊
+ this.btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(i_device);
//妫�娴嬭澶囨槸鍚︽槸鎵撳紑鐘舵��
bool isOpen = this.CheckIsOpenStatu(i_device);
+ if (this.isHadOpenSwitch == true && i_device.HadReadDeviceStatu == false)
+ {
+ //濡傛灉杩欎釜鍗$墖鏈夊紑鍏冲姛鑳�,骞朵笖缃戝叧杩樻病鏈夊洖澶嶄箣鍓�,榛樿鏄叧闂姸鎬�
+ //绛夊緟缃戝叧鍥炲鍚庝細閲嶆柊鍒锋柊,涓嶇劧涓�鐩存槸鍏抽棴鐘舵��
+ isOpen = false;
+ }
this.SetCardOpenStatu(isOpen);
}
@@ -288,7 +302,7 @@
//濡傛灉杩欎釜鍑芥暟琚噸鍐欑殑璇�,鍒欎唬琛ㄨ繖涓澶囨湁寮�鍏冲姛鑳�
this.isHadOpenSwitch = false;
//榛樿鐢ㄥ湪绾跨姸鎬佹潵鍒ゆ柇
- return i_device.IsOnline == 1;
+ return Common.LocalDevice.Current.CheckDeviceIsOnline(i_device);
}
@@ -300,22 +314,26 @@
/// 娣卞害鍗$墖淇℃伅鐨勮繑鍥炰簨浠�(搴曞眰涓撶敤)
/// </summary>
/// <param name="device">璁惧</param>
- /// <param name="room">鎴块棿</param>
- public void CardDetailInfoBackEvent(CommonDevice device, Common.Room room)
+ public void CardDetailInfoBackEvent(CommonDevice device)
{
- //濡傛灉鏄富椤靛彇娑堟悳钘忕殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑鍑芥暟
- if (HdlRoomLogic.Current.CurrentRoom.IsLove
- && HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ if (this.nowSelectRoom.IsLove == true)
{
- this.CardNeedRemoveEvent?.Invoke();
- return;
+ //濡傛灉鏄富椤靛彇娑堟悳钘忕殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑鍑芥暟
+ if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+ {
+ this.CardNeedRemoveEvent?.Invoke();
+ return;
+ }
}
- //濡傛灉杩欎釜璁惧鏀瑰彉浜嗘埧闂寸殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑鍑芥暟
- var nowRoom = HdlRoomLogic.Current.GetRoomByDevice(device);
- if (nowRoom == null || nowRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id)
+ else
{
- this.CardNeedRemoveEvent?.Invoke();
- return;
+ //濡傛灉杩欎釜璁惧鏀瑰彉浜嗘埧闂寸殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑鍑芥暟
+ var nowRoom = HdlRoomLogic.Current.GetRoomByDevice(device);
+ if (nowRoom == null || nowRoom.Id != this.nowSelectRoom.Id)
+ {
+ this.CardNeedRemoveEvent?.Invoke();
+ return;
+ }
}
//濡傛灉瀹冭繕鍦ㄨ繖涓埧闂寸殑璇�,鍒锋柊鍗$墖淇℃伅
this.RefreshControlInfo(device);
@@ -332,13 +350,18 @@
/// <param name="oldOpenStatu">璁惧鐩墠鐨勫紑鍏崇姸鎬�</param>
public void StartCheckResponeResult(bool oldOpenStatu)
{
+ if (Common.Config.Instance.Home.IsVirtually == true)
+ {
+ //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥
+ return;
+ }
this.ResponeResult = 0;
//寮�鍏虫寜閽笉鑳藉啀鐐瑰嚮
if (btnSwitch != null) { this.btnSwitch.CanClick = false; }
HdlThreadLogic.Current.RunThread(() =>
{
- int waitime = 30;
+ int waitime = 40;
while (waitime > 0)
{
System.Threading.Thread.Sleep(100);
@@ -348,8 +371,15 @@
break;
}
waitime--;
+ //2绉掔殑鏃跺��,杩樻槸鎺ュ彈涓嶅埌鐨勮瘽,寮哄埗鍐嶆鍒锋柊璁惧鐘舵��
+ if (waitime == 20)
+ {
+ //浠庢柊鍙戦�佽幏鍙栬澶囩殑鐘舵��(寮哄埗)
+ this.device.HadReadDeviceStatu = false;
+ this.SendStatuComand();
+ }
}
- if (waitime <= 0)
+ if (waitime <= 0 && this.Parent != null)
{
//娌℃湁鑾峰彇寰楀埌缁撴灉
HdlThreadLogic.Current.RunMain(() =>
--
Gitblit v1.8.0