From 0e1c6c25b1b0961d324811ff2132717a80f99efe Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期日, 26 四月 2020 14:15:05 +0800 Subject: [PATCH] 2020-04-26 1.添加住宅和修改住宅时,改为子线程操作。 2.远程连接模式时,禁用搜索网关和添加设备。3.修复切换住宅时,提示远程连接Loading不关闭问题。 --- Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 3 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs index 5283a41..f9ece64 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserDeviceView.cs @@ -135,9 +135,9 @@ setEquipmentsBackGroud (deviceTypes [i], btnEquipmentIcon, equipmentLayout, btnOpenNumber, equipmentLayout); } System.Threading.Tasks.Task.Run (() => { - UserDeviceToLight.readAllStatus (); - UserDeviceToSocket.readAllStatus (); - UserDeviceToAC.readAllStatus (); + UserDeviceToLight.readAllStatus (false, true); + UserDeviceToSocket.readAllStatus (false, true); + UserDeviceToAC.readAllStatus (false, true); UserDeviceToFH.readAllStatus (); UserFresAirList.readAllStatus (); }); @@ -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