JLChen
2020-04-03 be95e839f40eb3ddf64706b60cba6dfcf4fad5e5
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) {