From 65dafd4fde255b9e0bee516345453ea2b3bb2090 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 08 七月 2021 13:37:14 +0800
Subject: [PATCH] 安卓:乐橙闪退处理

---
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs |   94 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 84 insertions(+), 10 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
index 86d0ace..c75cf65 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
@@ -271,8 +271,53 @@
             int index = 0;
             foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
             {
-                LoadSensorDiv(sensor, index);
+                if(sensor.spk == SPK.SensorEnvironment)
+                {
+                    foreach (var seTemp in sensor.attributes)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = sensor.name,
+                            sid = sensor.sid,
+                            deviceId = sensor.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", value = seTemp.value } },
+                        };
+                        switch (seTemp.key)
+                        {
+                            case "co2":
+                                newTemp.spk = SPK.SensorCO2;
+                                break;
+                            case "pm25":
+                                newTemp.spk = SPK.SensorPm25;
+                                break;
+                            case "humidity":
+                                newTemp.spk = SPK.SensorHumidity;
+                                break;
+                            case "temperature":
+                                newTemp.spk = SPK.SensorTemperature;
+                                break;
+                            case "tvoc":
+                                newTemp.spk = SPK.SensorTVOC;
+                                break;
+                        }
+                        LoadSensorDiv(newTemp, index);
+                        index++;
+                    }
+                }
+                else
+                {
+#if DEBUG
+                    continue;
+#endif
+                    LoadSensorDiv(sensor, index);
+                }
                 index++;
+
+                new System.Threading.Thread(() =>
+                {
+                    Control.Ins.SendReadCommand(sensor);
+                })
+                { IsBackground = true }.Start();
             }
         }
 
@@ -283,10 +328,9 @@
         {
             var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
             var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
-
             if (room.roomId == "" || sensor.roomIds.Contains(room.roomId))
             {
-                var sensorTag = sensor.sid;
+                var sensorTag = sensor.spk + sensor.sid + sensor.deviceId;
                 FrameLayout sensorView = new FrameLayout()
                 {
                     X = Application.GetRealWidth(7),
@@ -411,12 +455,6 @@
                     #endregion
                 };
 
-
-                new System.Threading.Thread(() =>
-                {
-                    Control.Ins.SendReadCommand(sensor);
-                })
-                { IsBackground = true }.Start();
             }
         }
 
@@ -710,9 +748,45 @@
                 {
                     if (bodyView != null)
                     {
+                        if (updateTemp.spk == SPK.SensorEnvironment)
+                        {
+                            foreach (var seTemp in updateTemp.attributes)
+                            {
+                                var newTemp = new Function()
+                                {
+                                    name = updateTemp.name,
+                                    sid = updateTemp.sid,
+                                    deviceId = updateTemp.deviceId,
+                                    attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", value = seTemp.value } },
+                                };
+                                switch (seTemp.key)
+                                {
+                                    case "co2":
+                                        newTemp.spk = SPK.SensorCO2;
+                                        break;
+                                    case "pm25":
+                                        newTemp.spk = SPK.SensorPm25;
+                                        break;
+                                    case "humidity":
+                                        newTemp.spk = SPK.SensorHumidity;
+                                        break;
+                                    case "temperature":
+                                        newTemp.spk = SPK.SensorTemperature;
+                                        break;
+                                    case "tvoc":
+                                        newTemp.spk = SPK.SensorTVOC;
+                                        break;
+                                }
+                                if(!string.IsNullOrEmpty(newTemp.spk))
+                                {
+                                    LoadEvent_UpdataStatus(newTemp);
+                                }
+                            }
+                        }
+
                         for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++)
                         {
-                            var sensorTag = updateTemp.sid;
+                            var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId;
                             var view = bodyView.sensorListView.GetChildren(i);
                             if (view.GetType() == typeof(FrameLayout))
                             {

--
Gitblit v1.8.0