From f441a3c49f8b5cedee3e4def6fbb448ef40eb9cb Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 10 六月 2020 14:46:58 +0800
Subject: [PATCH] Crabtree-ON 2020-06-10 基于最新HDL ON 优化问题,Crabtree-ONAPP部分功能同步修改优化调整 1. 增加大图片大文件上传处理. 2.远程连接交互提示,由原来的Loading修改成顶部Tip提示。 3.灯光全开、全关和场景控制多线程发送,和HDLON同样加锁处理。 4.Android ,判断移动网络失败,网络监测修复方法修改,后台前台切换优化。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs
index 1a7835d..f9ece64 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs
@@ -216,6 +216,71 @@
             }
         }
 
+
+        public static void UpdataScenesCountNumber ()
+        {
+            try {
+                Application.RunOnMainThread (() => {
+                    for (int i = 0; i < UserMiddle.DeviceView.ChildrenCount; i++) {
+                        if (UserMiddle.DeviceView.GetChildren (i).GetType () == typeof (FrameLayout)) {
+                            FrameLayout rowView = (FrameLayout)UserMiddle.DeviceView.GetChildren (i);
+                            for (int j = 0; j < rowView.ChildrenCount; j++) {
+                                if (rowView.GetChildren (j).GetType () == typeof (FrameLayout)) {
+                                    FrameLayout frameView = (FrameLayout)rowView.GetChildren (j);
+                                    if (frameView.GetTagByKey ("DeviceType").ToString () == Shared.Language.StringByID (R.MyInternationalizationString.Scenes)) {
+                                        for (int k = 0; k < frameView.ChildrenCount; k++) {
+                                            if (frameView.GetChildren (k).GetType () == typeof (Button)) {
+                                                Button btn = (Button)frameView.GetChildren (k);
+                                                if (btn.GetTagByKey ("DeviceType") != null && btn.GetTagByKey ("DeviceType").ToString () == Shared.Language.StringByID (R.MyInternationalizationString.Scenes)) {
+
+                                                    //int eCount = 0;
+                                                    btn.IsSelected = false;
+                                                    CheckAndSetScenesCount (btn);
+
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                });
+            } catch {
+            }
+        }
+
+        static void CheckAndSetScenesCount (Button mButton) {
+            int eCount = 0;
+            System.Threading.Tasks.Task.Run (() => {
+                foreach (var room in Room.Lists) {
+                    if (string.IsNullOrEmpty (room.Name)) {
+                        continue;
+                    }
+                    if (room != null) {
+                        foreach (var sceneFilePath in room.SceneFilePathList) {
+                            var scene = Scene.GetSceneByFilePath (sceneFilePath);
+                            if (scene != null)
+                                eCount += scene.LoopCount;
+                        }
+                    }
+                }
+                var globalSceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (Scene.GlobalSceneFilePath)));
+                if (globalSceneList != null) {
+                    foreach (var sceneFilePath in globalSceneList) {
+                        var scene = Scene.GetSceneByFilePath (sceneFilePath);
+                        if (scene == null)
+                            continue;
+                        eCount += scene.LoopCount;
+                    }
+                }
+
+              
+                Application.RunOnMainThread (() => {
+                    mButton.Text = eCount.ToString ();
+                });
+            });
+        }
         //static void DelUserEquipmentView (int deviceCount, int deviceType)
         //{
         //    if (deviceCount == 0) {

--
Gitblit v1.8.0