JLChen
2021-01-05 f500e14c0a994487070380c50c85e0929cbc8e63
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) {