From 0f5a53c7b36c27a0f2bec12e6119207edb6860f8 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 29 十月 2019 14:29:21 +0800
Subject: [PATCH] 修改主页卡死问题

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
index ef0bb03..66555a5 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
@@ -282,26 +282,33 @@
             {
                 //杩樺師璁惧瀵硅薄
                 tempRoom.DeviceUIList.Clear();
-                foreach (string uiPath in tempRoom.DeviceUIFilePathList)
+                for (int i = 0; i < tempRoom.DeviceUIFilePathList.Count; i++)
                 {
-                    string deviceFile = uiPath.Replace("DeviceUI_", string.Empty);
+                    string deviceFile = tempRoom.DeviceUIFilePathList[i];
                     //杩欎釜璁惧鏂囦欢鍖归厤寰楀埌鎴块棿
                     listDeviceFile.Remove(deviceFile);
                     if (this.IsFileExists(deviceFile) == false)
                     {
+                        //绉婚櫎鎺夎繖涓笉瀵瑰姴鐨勮矾寰�
+                        tempRoom.DeviceUIFilePathList.RemoveAt(i);
+                        i--;
                         continue;
                     }
-                    tempRoom.DeviceUIList.Add(Common.LocalDevice.Current.GetDeviceUI(uiPath));
+                    tempRoom.DeviceUIList.Add(Common.LocalDevice.Current.GetDeviceUI(deviceFile));
                 }
                 //杩樺師鍦烘櫙瀵硅薄
                 tempRoom.SceneUIList.Clear();
-                foreach (string uiPath in tempRoom.SceneUIFilePathList)
+                for (int i = 0; i < tempRoom.SceneUIFilePathList.Count; i++)
                 {
+                    string uiPath = tempRoom.SceneUIFilePathList[i];
                     //杩欎釜鍦烘櫙鏂囦欢鍖归厤寰楀埌鎴块棿
                     listSceneFile.Remove(uiPath);
                     var byteData = this.GetShardFileContent(uiPath);
                     if (byteData == null)
                     {
+                        //绉婚櫎鎺夎繖涓笉瀵瑰姴鐨勮矾寰�
+                        tempRoom.SceneUIFilePathList.RemoveAt(i);
+                        i--;
                         continue;
                     }
                     string valueData = System.Text.Encoding.UTF8.GetString(byteData);
@@ -813,7 +820,7 @@
                 this.AddShardFile(device.FilePath);
 
                 //璁惧鐨刄I
-                var deviceUi = $"DeviceUI_{device.FilePath}";
+                var deviceUi = device.FilePath;
                 if (roomTemp.DeviceUIFilePathList.Contains(deviceUi) == false)
                 {
                     roomTemp.DeviceUIFilePathList.Add(deviceUi);
@@ -1229,7 +1236,7 @@
                 string deviceFileName = device.FilePath;
 
                 //绉婚櫎璺緞鍒楄〃
-                roomTemp.DeviceUIFilePathList.Remove($"DeviceUI_{device.FilePath}");
+                roomTemp.DeviceUIFilePathList.Remove(device.FilePath);
                 if (listHadShard.Contains(deviceFileName) == true)
                 {
                     //鍏朵粬鍦烘櫙鍒嗕韩鏈夎繖涓澶�,鎵�浠ヤ笉鍒犻櫎杩欎釜璁惧鐨勬牴婧愭枃浠�,鍙槸鎶婃埧闂寸殑璁惧鍒楄〃璺緞绉婚櫎
@@ -1564,7 +1571,7 @@
                 //璁惧
                 foreach (var deviceUi in roomTemp.DeviceUIFilePathList)
                 {
-                    string deviceFile = deviceUi.Replace("DeviceUI_", string.Empty);
+                    string deviceFile = deviceUi;
                     if (listDeleteFile.Contains(deviceFile) == true)
                     {
                         //鍥犱负涓�涓洖璺彧鑳藉垎閰嶄竴涓尯鍩�,鎵�浠ュ彲浠ョ洿鎺ュ垽鏂�

--
Gitblit v1.8.0