From a4d29f9f72452ccae2f607e6ad31cad493822da4 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 06 五月 2020 11:36:47 +0800
Subject: [PATCH] 2020-05-06-1

---
 ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs |   72 ++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 27 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..fbc388a 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 鈻� 鍙橀噺澹版槑___________________________
 
@@ -68,9 +68,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;
         }
@@ -91,8 +91,8 @@
 
             //璁惧鍚嶇О鎺т欢
             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;
@@ -101,8 +101,8 @@
 
             //鏀堕泦鎺т欢
             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);
@@ -130,11 +130,11 @@
 
             //璁惧鐨勮儗鏅渾鍦堝浘
             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);
 
@@ -145,9 +145,9 @@
             this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEventOnly);
 
             //鐘舵�佹枃鏈帶浠�
-            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;
@@ -155,8 +155,8 @@
 
             //寮�鍏虫帶浠�(涓嶅姞鍏ョ埗鎺т欢涓�)
             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 +195,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);
         }
 
@@ -303,19 +311,24 @@
         /// <param name="room">鎴块棿</param>
         public void CardDetailInfoBackEvent(CommonDevice device, Common.Room room)
         {
-            //濡傛灉鏄富椤靛彇娑堟悳钘忕殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑鍑芥暟
-            if (HdlRoomLogic.Current.CurrentRoom.IsLove
-            && HdlRoomLogic.Current.IsCollectInRoom(device) == false)
+            if (HdlRoomLogic.Current.CurrentRoom.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 != HdlRoomLogic.Current.CurrentRoom.Id)
+                {
+                    this.CardNeedRemoveEvent?.Invoke();
+                    return;
+                }
             }
             //濡傛灉瀹冭繕鍦ㄨ繖涓埧闂寸殑璇�,鍒锋柊鍗$墖淇℃伅
             this.RefreshControlInfo(device);
@@ -332,6 +345,11 @@
         /// <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; }

--
Gitblit v1.8.0