gxc
2019-12-16 40f46f32cb00f4304a691d4f027a76a13a9ebb6d
ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -345,7 +345,20 @@
                                    {
                                        var dimmableLight = deviceUI.CommonDevice as DimmableLight;
                                        dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
                                        //记录、更新状态
                                        if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
                                        {
                                            continue;
                                        }
                                        dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                        var row = rowLayout.GetChildren(0) as CategoryFunctionRow;
                                        row.SetStatu(dimmableLight.OnOffStatus == 1);
                                        row.SetStatuText(deviceUI.GetDeviceStatu());
                                        dimmableLight.LastDateTime = DateTime.Now;
                                    }
                                    if (common.DeviceStatusReport.CluterID == 8)
                                    {
                                        var dimmableLight = deviceUI.CommonDevice as DimmableLight;
                                        dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
                                        if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
                                        {
                                            continue;
@@ -876,7 +889,7 @@
                        {
                            var alert = new CustomAlert();
                            AddChidren(alert);
                            alert.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
                            alert.Show(Language.StringByID(R.MyInternationalizationString.DeleteFunction));
                            alert.ResultEventHandler += (e2) =>
                            {
                                if (e2)
@@ -1299,7 +1312,7 @@
                                Tag = deviceUI,
                                Radius = 0
                            };
                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                            var delBtn = new CommonForm.RowLayoutDeleteButton()
                            {
                                Tag = deviceUI,
                                Radius = 0
@@ -1675,9 +1688,7 @@
        /// GetDelayScene
        /// </summary>
        /// <param name="scrolViewLayout"></param>
        private void GetDelayScene(VerticalScrolViewLayout scrolViewLayout)
        {
            new System.Threading.Thread(async () =>
        private async void GetDelayScene(VerticalScrolViewLayout scrolViewLayout)
            {
                var catDelaySceneResponseAllData = await Scene.CatDelaySceneAsync();
                if (catDelaySceneResponseAllData == null)
@@ -1691,8 +1702,6 @@
                }
                var delayList = catDelaySceneResponseData.DelayScenesList;
                Application.RunOnMainThread(() =>
                {
                    for (int i = 0; scrolViewLayout != null && i < scrolViewLayout.ChildrenCount; i++)
                    {
                        var sceneView = scrolViewLayout.GetChildren(i) as SceneCategoryView;
@@ -1701,31 +1710,31 @@
                            if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id)
                            {
                                sceneView.scene.RemainTime = delayScenesListResponseInfo.RemainTime;
                        var remainTime= delayScenesListResponseInfo.RemainTime;
                        if (remainTime > 0)
                        {
                                new System.Threading.Thread(() =>
                                {
                                    while (sceneView.scene.RemainTime > 0)
                                while (remainTime-- > 0)
                                    {
                                        System.Threading.Thread.Sleep(1000);
                                        Application.RunOnMainThread(() =>
                                        {
                                            sceneView.SetTimeText(CommonFormResouce.GetTimeString(sceneView.scene.RemainTime));
                                        sceneView.SetTimeText(CommonFormResouce.GetTimeString(remainTime));
                                        });
                                        sceneView.scene.RemainTime -= 1;
                                    }
                                    Application.RunOnMainThread(() =>
                                    {
                                    sceneView.scene.RemainTime = 0;
                                        sceneView.SetTimeImage();
                                    });
                                })
                                { IsBackground = true }.Start();
                        }
                                break;
                            }
                        }
                    }
                });
            })
            { IsBackground = true }.Start();
        }
        /// <summary>