From dce6c3481a37216292724013ff9d2b75ceb82f86 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 10 六月 2020 15:47:28 +0800
Subject: [PATCH] 添加小度的代码

---
 ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs |   84 ++++++++++++++++++++++++++---------------
 1 files changed, 53 insertions(+), 31 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
index 87b1643..4e1e63a 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
@@ -16,15 +16,19 @@
         /// <summary>
         /// 鐣岄潰鍏抽棴浜嬩欢
         /// </summary>
-        public Action<CommonDevice, Common.Room> FormCloseEvent = null;
+        public Action<CommonDevice> FormCloseEvent = null;
         /// <summary>
         /// 璁惧瀵硅薄
         /// </summary>
         public CommonDevice device = null;
         /// <summary>
-        /// 鎴块棿瀵硅薄
+        /// 褰撳墠閫夋嫨鐨勬埧闂村璞�(鍐嶆鍒锋柊鐣岄潰鏃�,杩欎釜涓滆タ鏈夊彲鑳芥槸null)
         /// </summary>
-        public Common.Room room = null;
+        public Common.Room nowSelectRoom = null;
+        /// <summary>
+        /// 鏍囪瀹冩槸鐢卞摢涓帶浠惰皟璧风殑
+        /// </summary>
+        public ViewGroup RowOrCardControl = null;
         /// <summary>
         /// 鐘舵�佹帶浠�
         /// </summary>
@@ -66,13 +70,13 @@
         /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
         /// </summary>
         /// <param name="i_device">璁惧瀵硅薄</param>
-        /// <param name="i_room">鎴块棿</param>
+        /// <param name="i_nowSelectRoom">鎴块棿</param>
         /// <param name="i_backWidth">鐧借壊鑳屾櫙鐨勫搴�(闈炵湡瀹炲��)</param>
         /// <param name="i_backHeight">鐧借壊鑳屾櫙鐨勯珮搴�(闈炵湡瀹炲��)</param>
-        public void ShowForm(CommonDevice i_device, Common.Room i_room, int i_backWidth, int i_backHeight)
+        public void ShowForm(CommonDevice i_device, Common.Room i_nowSelectRoom, int i_backWidth, int i_backHeight)
         {
             this.CurrentText = Language.StringByID(R.MyInternationalizationString.Current) + "  ";
-            this.room = i_room;
+            this.nowSelectRoom = i_nowSelectRoom;
             this.backFrameWidth = i_backWidth;
             this.backFrameHeight = i_backHeight;
 
@@ -84,7 +88,7 @@
             btnMore.ButtonClickEvent += (sender, e) =>
             {
                 var detailInfo = new DeviceDetailInfoForm();
-                detailInfo.AddForm(device, room);
+                detailInfo.AddForm(device, nowSelectRoom);
             };
 
             //鍒濆鍖栦腑閮ㄤ俊鎭�
@@ -166,7 +170,15 @@
             btnRoomName.TextSize = 12;
             btnRoomName.TextColor = UserCenterColor.Current.White;
             btnRoomName.Gravity = Gravity.CenterVertical;
-            btnRoomName.Text = this.room.Name;
+            if (this.nowSelectRoom != null)
+            {
+                btnRoomName.Text = this.nowSelectRoom.Name;
+            }
+            else
+            {
+                //鏈垎閰�
+                btnRoomName.TextID = R.MyInternationalizationString.uDeviceNotAssignedRoom;
+            }
             frameRoomBlack.AddChidren(btnRoomName);
 
             //鏀惰棌
@@ -229,7 +241,7 @@
 
             HdlThreadLogic.Current.RunThread(() =>
             {
-                int waitime = 30;
+                int waitime = 40;
                 while (waitime > 0)
                 {
                     System.Threading.Thread.Sleep(100);
@@ -239,8 +251,18 @@
                         break;
                     }
                     waitime--;
+                    //2绉掔殑鏃跺��,杩樻槸鎺ュ彈涓嶅埌鐨勮瘽,寮哄埗鍐嶆鍒锋柊璁惧鐘舵��
+                    if (waitime == 20)
+                    {
+                        //浠庢柊鍙戦�佽幏鍙栬澶囩殑鐘舵��(寮哄埗)
+                        this.device.HadReadDeviceStatu = false;
+                        if (this.RowOrCardControl != null)
+                        {
+                            this.RowOrCardControl.GetType().InvokeMember("SendStatuComand", System.Reflection.BindingFlags.InvokeMethod, null, this.RowOrCardControl, null);
+                        }
+                    }
                 }
-                if (waitime <= 0)
+                if (waitime <= 0 && this.Parent != null)
                 {
                     //娌℃湁鑾峰彇寰楀埌缁撴灉
                     HdlThreadLogic.Current.RunMain(() =>
@@ -284,22 +306,6 @@
         private void AddDeviceReportEvent()
         {
             string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(this.device);
-            //鑺傜偣鍙嶉
-            HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceDetailCardControl" + mainKeys, ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, (report) =>
-            {
-                string mainKey2 = Common.LocalDevice.Current.GetDeviceMainKeys(report);
-                if (mainKeys != mainKey2)
-                {
-                    //涓嶆槸鍚屼竴涓笢瑗�
-                    return;
-                }
-                //妫�娴嬬粨鏋�
-                if (this.CheckResponeResultStatu(ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, report) == true)
-                {
-                    //缁撴灉宸茬粡鎺ユ敹鍒�
-                    this.ResponeResult = 1;
-                }
-            });
             //灞炴�т笂鎶�
             HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceDetailCardAttribute" + mainKeys, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
             {
@@ -328,9 +334,9 @@
         public override int FormActionAgainEvent()
         {
             //濡傛灉涓嶆槸鍠滅埍鎴块棿鐨勮瘽,瀹冪殑鎴块棿鏈夊彲鑳借鍒囨崲浜�
-            if (this.room.IsLove == false)
+            if (this.nowSelectRoom == null || this.nowSelectRoom.IsLove == false)
             {
-                this.room = HdlRoomLogic.Current.GetRoomByDevice(this.device);
+                this.nowSelectRoom = HdlRoomLogic.Current.GetRoomByDevice(this.device);
             }
             //濡傛灉鍔熻兘绫诲瀷鍙樻洿浜�
             if (this.nowDeviceFuncType != this.device.DfunctionType)
@@ -344,8 +350,15 @@
                 this.btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(this.device);
                 btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
                 btnDeviceName.Gravity = Gravity.CenterHorizontal;
-
-                this.btnRoomName.Text = this.room.Name;
+                if (this.nowSelectRoom == null)
+                {
+                    //鏈垎閰�
+                    this.btnRoomName.TextID = R.MyInternationalizationString.uDeviceNotAssignedRoom;
+                }
+                else
+                {
+                    this.btnRoomName.Text = this.nowSelectRoom.Name;
+                }
             }
 
             return 1;
@@ -365,7 +378,7 @@
             HdlGatewayReceiveLogic.Current.RemoveEvent("DeviceDetailCardAttribute" + mainKeys);
 
             //鍥炶皟鍑芥暟
-            this.FormCloseEvent?.Invoke(this.device, this.room);
+            this.FormCloseEvent?.Invoke(this.device);
             this.FormCloseEvent = null;
 
             base.CloseFormBefore();
@@ -385,6 +398,15 @@
         }
 
         /// <summary>
+        /// 璁剧疆PM2.5浼犳劅鍣ㄧ姸鎬佹枃鏈�(涓嶉渶瑕佹寚瀹氥�愬綋鍓嶄袱涓瓧銆�)
+        /// </summary>
+        /// <param name="text"></param>
+        public void SetPmTwoPointFiveStatuText(string text)
+        {
+            this.btnStatu.Text = text;
+        }
+
+        /// <summary>
         /// 閲嶆柊璁剧疆璁惧鍚嶅瓧鎺т欢鍜岀姸鎬佹帶浠剁殑Y杞�
         /// </summary>
         /// <param name="i_NameY">璁惧鍚嶅瓧鎺т欢鐨刌杞�(鐪熷疄鍊�)</param>

--
Gitblit v1.8.0