From 2029e64ec0491f7e511dc15bffaf821bfbabe2de Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 20 七月 2020 14:10:22 +0800
Subject: [PATCH] 上传一个很特别的新版本

---
 ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs |   64 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
index 7451d5d..d30d6cd 100755
--- a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
@@ -66,6 +66,10 @@
         {
             //鍏堟竻闄ゅ惂
             this.RemoveAll();
+
+            //鍒濆鍖栭粯璁ゆゼ灞侷D
+            this.InitDefultFloorId();
+
             //鍒濆鍖栧ご閮ㄦ帶浠�
             this.InitTopControl();
             //鍒濆鍖栦腑闂存帶浠�
@@ -395,9 +399,9 @@
             //涓婁竴娆¢�夋嫨鐨勮彍鍗�
             MainPage.Controls.DeviceFunctionUnallocatedControl oldSelectContr = null;
             DeviceRowInfo nowSelectDeviceInfo = null;
-            foreach (int Textid in dicGroupDevice.Keys)
+            foreach (string strText in dicGroupDevice.Keys)
             {
-                var rowInfo = dicGroupDevice[Textid];
+                var rowInfo = dicGroupDevice[strText];
 
                 //璁惧绫诲瀷鐨勫鍣�
                 var devieFrame = new FrameLayout();
@@ -407,11 +411,11 @@
                 //鑿滃崟鍥剧墖鎺т欢
                 var deviceObjContr = new MainPage.Controls.DeviceFunctionUnallocatedControl();
                 devieFrame.AddChidren(deviceObjContr);
-                deviceObjContr.InitControl(Language.StringByID(Textid), rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
+                deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
                 deviceObjContr.ButtonClickEvent += (sender, e) =>
                 {
                     //閫夋嫨鐨勬槸鍚屼竴涓笢瑗跨殑璇�,涓嶅鐞�
-                    if (nowSelectDeviceInfo.TextId != rowInfo.TextId)
+                    if (nowSelectDeviceInfo.Text != rowInfo.Text)
                     {
                         //涓婁竴娆$殑鑿滃崟鍙栨秷,鏈鑿滃崟閫夋嫨
                         oldSelectContr.SetSelectStatu(false);
@@ -632,7 +636,7 @@
                     HdlThreadLogic.Current.RunThread(() =>
                     {
                         //浠庣綉鍏冲埛鏂板満鏅垪琛�
-                        bool result = HdlSceneLogic.Current.RefreshSceneUIList();
+                        bool result = HdlSceneLogic.Current.RefreshSceneUIList(false);
                         HdlThreadLogic.Current.RunMain(() =>
                         {
                             listview1.EndHeaderRefreshing();
@@ -783,13 +787,13 @@
                 while (remainTime > 0 && this.Parent != null)
                 {
                     System.Threading.Thread.Sleep(1000);
-                    Application.RunOnMainThread(() =>
+                    HdlThreadLogic.Current.RunMain(() =>
                     {
                         sceneContr.SetTimeText(this.GetTimeString(remainTime, hourText, minuText, secondText));
-                    });
+                    }, ShowErrorMode.NO);
                     remainTime--;
                 }
-                Application.RunOnMainThread(() =>
+                HdlThreadLogic.Current.RunMain(() =>
                 {
                     if (listview.Parent != null)
                     {
@@ -797,7 +801,7 @@
                         //寮�鍚疞oading鐗规晥
                         sceneContr.StartLoadingApreal();
                     }
-                });
+                }, ShowErrorMode.NO);
             });
         }
 
@@ -828,6 +832,11 @@
                         {
                             //浼犳劅鍣ㄤ笉闇�瑕佸睘鎬т笂鎶�(浣嗘槸閭d釜鐞冨瀷浼犳劅鍣ㄥ眳鐒朵細灞炴�т笂鎶�)
                             this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice);
+                        }
+                        else if (report.DeviceStatusReport.CluterID == 1)
+                        {
+                            //杩欎釜鏄數閲忔帹閫�
+                            this.dicDeviceRowControl[mainKeys].RefreshBatteryStatu();
                         }
                     }
                 }, ShowErrorMode.NO);
@@ -885,7 +894,7 @@
         /// 鑾峰彇鍒嗙粍鍚庣殑璁惧
         /// </summary>
         /// <returns></returns>
-        private Dictionary<int, DeviceRowInfo> GetAllGroupDevice(Common.Room room)
+        private Dictionary<string, DeviceRowInfo> GetAllGroupDevice(Common.Room room)
         {
             //鍏ㄩ儴鐨勮澶�
             var listDeviceTemp = HdlRoomLogic.Current.GetRoomListDevice(room);
@@ -902,23 +911,23 @@
 
             //鏍规嵁璁惧鎵�灞炵被鍨嬫帓搴�
             listDevice = LocalDevice.Current.SortDeviceByBelongType(listDevice);
-            var dic = new Dictionary<int, DeviceRowInfo>();
+            var dic = new Dictionary<string, DeviceRowInfo>();
             foreach (var device in listDevice)
             {
                 var typeInfo = LocalDevice.Current.GetDeviceBelongEnumInfo(device);
                 //鎸夋墍灞濱D鍒嗙粍
-                if (dic.ContainsKey(typeInfo.BeloneTextId) == false)
+                if (dic.ContainsKey(typeInfo.BeloneText) == false)
                 {
-                    dic[typeInfo.BeloneTextId] = new DeviceRowInfo();
+                    dic[typeInfo.BeloneText] = new DeviceRowInfo();
                     string path1 = string.Empty;
                     string path2 = string.Empty;
                     //鑾峰彇鍥剧墖
                     LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2);
-                    dic[typeInfo.BeloneTextId].IconPath = path1;
-                    dic[typeInfo.BeloneTextId].IconPathSelected = path2;
-                    dic[typeInfo.BeloneTextId].TextId = typeInfo.BeloneTextId;
+                    dic[typeInfo.BeloneText].IconPath = path1;
+                    dic[typeInfo.BeloneText].IconPathSelected = path2;
+                    dic[typeInfo.BeloneText].Text = typeInfo.BeloneText;
                 }
-                dic[typeInfo.BeloneTextId].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device));
+                dic[typeInfo.BeloneText].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device));
             }
             return dic;
         }
@@ -974,6 +983,23 @@
             return timeStr;
         }
 
+        /// <summary>
+        /// 鍒濆鍖栭粯璁ゆゼ灞侷D
+        /// </summary>
+        private void InitDefultFloorId()
+        {
+            if (Config.Instance.Home.CurrentFloorId != string.Empty)
+            {
+                return;
+            }
+            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
+            foreach (var floorId in dicFloor.Keys)
+            {
+                Config.Instance.Home.CurrentFloorId = floorId;
+                break;
+            }
+        }
+
         #endregion
 
         #region 鈻� 缁撴瀯浣揰____________________________
@@ -984,9 +1010,9 @@
         private class DeviceRowInfo
         {
             /// <summary>
-            /// 鏂囨湰ID,鐩墠鐢ㄦ潵鍋氫富閿�
+            /// 鏂囨湰,鐩墠鐢ㄦ潵鍋氫富閿�
             /// </summary>
-            public int TextId = 0;
+            public string Text = string.Empty;
             /// <summary>
             /// 鍥炬爣
             /// </summary>

--
Gitblit v1.8.0