From 40f46f32cb00f4304a691d4f027a76a13a9ebb6d Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期一, 16 十二月 2019 15:11:36 +0800 Subject: [PATCH] 2019.12.16 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 82 +++++++++++++++++++--------------------- 1 files changed, 39 insertions(+), 43 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index d3163c0..a26095e 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -1696,63 +1696,59 @@ /// GetDelayScene /// </summary> /// <param name="scrolViewLayout"></param> - private void GetDelayScene(VerticalScrolViewLayout scrolViewLayout) + private async void GetDelayScene(VerticalScrolViewLayout scrolViewLayout) { - new System.Threading.Thread(async () => - { - var catDelaySceneResponseAllData = await Scene.CatDelaySceneAsync(); - if (catDelaySceneResponseAllData == null) - { - return; - } - var catDelaySceneResponseData = catDelaySceneResponseAllData.catDelaySceneResponseData; - if (catDelaySceneResponseData == null || catDelaySceneResponseData.DelayScenesList.Count == 0) - { - return; - } - var delayList = catDelaySceneResponseData.DelayScenesList; - Application.RunOnMainThread(() => + var catDelaySceneResponseAllData = await Scene.CatDelaySceneAsync(); + if (catDelaySceneResponseAllData == null) + { + return; + } + var catDelaySceneResponseData = catDelaySceneResponseAllData.catDelaySceneResponseData; + if (catDelaySceneResponseData == null || catDelaySceneResponseData.DelayScenesList.Count == 0) + { + return; + } + var delayList = catDelaySceneResponseData.DelayScenesList; + + for (int i = 0; scrolViewLayout != null && i < scrolViewLayout.ChildrenCount; i++) + { + var iView = scrolViewLayout.GetChildren(i) as FrameLayout; + for (int j = 0; iView != null && j < iView.ChildrenCount; j++) { - for (int i = 0; scrolViewLayout != null && i < scrolViewLayout.ChildrenCount; i++) + var sceneView = iView.GetChildren(j) as SceneMainView; + foreach (var delayScenesListResponseInfo in delayList) { - var iView = scrolViewLayout.GetChildren(i) as FrameLayout; - for (int j = 0; iView != null && j < iView.ChildrenCount; j++) + if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) { - var sceneView = iView.GetChildren(j) as SceneMainView; - foreach (var delayScenesListResponseInfo in delayList) + var remainTime = delayScenesListResponseInfo.RemainTime; + sceneView.scene.RemainTime = remainTime; + + if (remainTime > 0) { - if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) + new System.Threading.Thread(() => { - var times = delayScenesListResponseInfo.RemainTime; - sceneView.scene.RemainTime = times; - new System.Threading.Thread(() => + while (remainTime-- > 0) { - while (times > 0) - { - System.Threading.Thread.Sleep(1000); - Application.RunOnMainThread(() => - { - sceneView.SetTimeText(CommonFormResouce.GetTimeString(times)); - }); - times -= 1; - } + System.Threading.Thread.Sleep(1000); Application.RunOnMainThread(() => { - sceneView.SetTimeImage(); + sceneView.SetTimeText(CommonFormResouce.GetTimeString(remainTime)); }); - }) - { IsBackground = true }.Start(); - - break; - } + } + Application.RunOnMainThread(() => + { + sceneView.scene.RemainTime = 0; + sceneView.SetTimeImage(); + }); + }) + { IsBackground = true }.Start(); } - + break; } } - }); - }) - { IsBackground = true }.Start(); + } + } } #endregion -- Gitblit v1.8.0