gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Phone/Device/Category/Category.cs
old mode 100755 new mode 100644
@@ -284,14 +284,6 @@
                                                    ac.currentSystemMode = attList.AttriButeData;
                                                    ac.LastDateTime = DateTime.Now;
                                                    break;
                                                case 4099:
                                                    var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0');
                                                    var modeStr = value.Substring(value.Length - 5, 5);
                                                    for (int j = 0; j < modeStr.Length; j++)
                                                    {
                                                        ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0;
                                                    }
                                                    break;
                                                case 4097:
                                                    //过虑网清洗标志:42
                                                    ac.CleanStatu = attList.AttriButeData == 42;
@@ -764,11 +756,11 @@
        /// <param name="sender">Sender.</param>
        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
        private void AutomationBtn_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs)
        {
            Common.Logic.LogicDviceList.Clear();
            if (Common.Logic.LogicDviceList.Count == 0)
            {
                Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
        {
            Common.Logic.LogicDviceList.Clear();
            if (Common.Logic.LogicDviceList.Count == 0)
            {
                Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
            }
            functionBtn.IsSelected = false;
            sceneBtn.IsSelected = false;
@@ -1093,10 +1085,10 @@
                                        }
                                    })
                                    { IsBackground = true }.Start();
                                    var deviceRow = new CategoryFunctionRow(0, 35);
                                    deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                    deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                    deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                    deviceRow.IsSelected = light.OnOffStatus == 1;
                                    deviceTypeRowLayout.AddChidren(deviceRow);
@@ -1134,30 +1126,14 @@
                                    };
                                    deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
                                    {
                                        if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A开关)
                                        var lightControl = new Phone.Device.Light.OnOffControl();
                                        UserView.HomePage.Instance.AddChidren(lightControl);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        lightControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        lightControl.action += (curDev, curRoom) =>
                                        {
                                            var lightControl = new Phone.Device.Light.OnOffControl();
                                            UserView.HomePage.Instance.AddChidren(lightControl);
                                            UserView.HomePage.Instance.PageIndex += 1;
                                            //lightControl.action = RefreshBodyView;
                                            lightControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        }
                                        else if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A插座)
                                        {
                                            var lightControl = new Phone.Device.Light.PlugControl();
                                            UserView.HomePage.Instance.AddChidren(lightControl);
                                            UserView.HomePage.Instance.PageIndex += 1;
                                            //lightControl.action = RefreshBodyView;
                                            lightControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        }
                                        else
                                        {
                                            var lightControl = new Phone.Device.Light.LightControl();
                                            UserView.HomePage.Instance.AddChidren(lightControl);
                                            UserView.HomePage.Instance.PageIndex += 1;
                                            //lightControl.action = RefreshBodyView;
                                            lightControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        }
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
@@ -1168,21 +1144,7 @@
                                        detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                        detailInfo.EditAction += (curDevice, curRoom) =>
                                        {
                                            if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                            {
                                                Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                                deviceRow.RemoveFromParent();
                                                sameTypeList.Remove(deviceUI);
                                                if (sameTypeList.Count == 0)
                                                {
                                                    RefreshFunction(Common.Room.CurrentRoom);
                                                }
                                            }
                                            else
                                            {
                                                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                            }
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1224,7 +1186,7 @@
                                    var deviceRow = new CategoryFunctionRow(0, 35);
                                    deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                    deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                    deviceRow.IsSelected = airSwitch.OnOffStatus == 1;
                                    deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                    deviceTypeRowLayout.AddChidren(deviceRow);
@@ -1265,8 +1227,13 @@
                                        var lightControl = new Phone.Device.Light.AirSwitchControl();
                                        UserView.HomePage.Instance.AddChidren(lightControl);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        //lightControl.action = RefreshBodyView;
                                        lightControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        lightControl.action += (curDev, curRoom) =>
                                        {
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
@@ -1277,21 +1244,8 @@
                                        detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                        detailInfo.EditAction += (curDevice, curRoom) =>
                                        {
                                            if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                            {
                                                Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                                deviceRow.RemoveFromParent();
                                                sameTypeList.Remove(deviceUI);
                                                if (sameTypeList.Count == 0)
                                                {
                                                    RefreshFunction(Common.Room.CurrentRoom);
                                                }
                                            }
                                            else
                                            {
                                                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                            }
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1333,7 +1287,7 @@
                                    var deviceRow = new CategoryFunctionRow(0, 35);
                                    deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                    deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                    deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                    deviceRow.IsSelected = dimmableLight.OnOffStatus == 1;
                                    deviceTypeRowLayout.AddChidren(deviceRow);
@@ -1376,8 +1330,12 @@
                                        UserView.HomePage.Instance.AddChidren(dimmableLightControl);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        UserView.HomePage.Instance.ScrollEnabled = false;
                                        //dimmableLightControl.action = RefreshBodyView;
                                        dimmableLightControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        dimmableLightControl.action += (curDev, curRoom) =>
                                        {
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
@@ -1388,21 +1346,7 @@
                                        detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                        detailInfo.EditAction += (curDevice, curRoom) =>
                                        {
                                            if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                            {
                                                Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                                deviceRow.RemoveFromParent();
                                                sameTypeList.Remove(deviceUI);
                                                if (sameTypeList.Count == 0)
                                                {
                                                    RefreshFunction(Common.Room.CurrentRoom);
                                                }
                                            }
                                            else
                                            {
                                                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                            }
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1446,8 +1390,7 @@
                                    var deviceRow = new CategoryFunctionRow(0, 35);
                                    deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                    deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                    //deviceRow.SetOnLineStatu(ac.IsOnline == 1);
                                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                    deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                    deviceRow.IsSelected = ac.currentSystemMode != 1;
                                    deviceTypeRowLayout.AddChidren(deviceRow);
@@ -1490,8 +1433,12 @@
                                        UserView.HomePage.Instance.AddChidren(acControl);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        UserView.HomePage.Instance.ScrollEnabled = false;
                                        //rollerShadeControl.action = RefreshBodyView;
                                        acControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        acControl.action += (curDev, curRoom) =>
                                        {
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
@@ -1502,21 +1449,8 @@
                                        detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                        detailInfo.EditAction += (curDevice, curRoom) =>
                                        {
                                            if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                            {
                                                Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                                deviceRow.RemoveFromParent();
                                                sameTypeList.Remove(deviceUI);
                                                if (sameTypeList.Count == 0)
                                                {
                                                    RefreshFunction(Common.Room.CurrentRoom);
                                                }
                                            }
                                            else
                                            {
                                                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                            }
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1559,7 +1493,7 @@
                                    var deviceRow = new CategoryFunctionForWinRow(0, 35);
                                    deviceRow.Init(deviceUI);
                                    deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                    deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                    deviceRow.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage != 0;
                                    deviceRow.SetRollerShadeIcon(rollerShade.WcdType);
@@ -1588,8 +1522,11 @@
                                        UserView.HomePage.Instance.AddChidren(rollerShadeControl);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        UserView.HomePage.Instance.ScrollEnabled = false;
                                        //rollerShadeControl.action = RefreshBodyView;
                                        rollerShadeControl.Show(deviceUI, Common.Room.CurrentRoom);
                                        rollerShadeControl.action += (curDev, curRoom) =>
                                        {
                                            ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
@@ -1600,21 +1537,7 @@
                                        detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                        detailInfo.EditAction += (curDevice, curRoom) =>
                                        {
                                            if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                            {
                                                Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                                deviceRow.RemoveFromParent();
                                                sameTypeList.Remove(deviceUI);
                                                if (sameTypeList.Count == 0)
                                                {
                                                    RefreshFunction(Common.Room.CurrentRoom);
                                                }
                                            }
                                            else
                                            {
                                                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                            }
                                            ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1626,14 +1549,13 @@
                                        deviceTypeRowLayout.AddRightView(editBtn);
                                        editBtn.MouseUpEventHandler += deviceDetailHandler;
                                    }
                                }
                            }
                            else if (deviceUI.CommonDevice.Type == DeviceType.DoorLock)
                            {
                                var deviceRow = new CategoryFunctionRow(0, 35);
                                deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                deviceRow.HideSwitchBtn(true);
                                deviceTypeRowLayout.AddChidren(deviceRow);
@@ -1653,21 +1575,7 @@
                                    detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                    detailInfo.EditAction += (curDevice, curRoom) =>
                                    {
                                        if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                        {
                                            Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                            deviceRow.RemoveFromParent();
                                            sameTypeList.Remove(deviceUI);
                                            if (sameTypeList.Count == 0)
                                            {
                                                RefreshFunction(Common.Room.CurrentRoom);
                                            }
                                        }
                                        else
                                        {
                                            deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                        }
                                        ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                    };
                                };
                                var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1684,7 +1592,7 @@
                            {
                                var deviceRow = new CategoryFunctionRow(0, 35);
                                deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                deviceRow.IsSelected = (deviceUI.CommonDevice as IASZone).iASInfo?.Alarm1 == 1;
                                deviceRow.HideSwitchBtn(true);
@@ -1698,21 +1606,7 @@
                                    detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                    detailInfo.EditAction += (curDevice, curRoom) =>
                                    {
                                        if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                        {
                                            Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                            deviceRow.RemoveFromParent();
                                            sameTypeList.Remove(deviceUI);
                                            if (sameTypeList.Count == 0)
                                            {
                                                RefreshFunction(Common.Room.CurrentRoom);
                                            }
                                        }
                                        else
                                        {
                                            deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                        }
                                        ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                    };
                                };
                                var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1766,7 +1660,7 @@
                                    var deviceRow = new CategoryFunctionRow(0, 35);
                                    deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                    deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                    deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                    deviceRow.IsSelected = false;
                                    deviceRow.HideSwitchBtn(true);
@@ -1780,21 +1674,7 @@
                                        detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                        detailInfo.EditAction += (curDevice, curRoom) =>
                                        {
                                            if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                            {
                                                Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                                deviceRow.RemoveFromParent();
                                                sameTypeList.Remove(deviceUI);
                                                if (sameTypeList.Count == 0)
                                                {
                                                    RefreshFunction(Common.Room.CurrentRoom);
                                                }
                                            }
                                            else
                                            {
                                                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                            }
                                            ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                        };
                                    };
                                    var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1812,7 +1692,7 @@
                            {
                                var deviceRow = new CategoryFunctionRow(0, 35);
                                deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                                deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                                deviceRow.HideSwitchBtn(true);
                                deviceTypeRowLayout.AddChidren(deviceRow);
@@ -1825,21 +1705,7 @@
                                    detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
                                    detailInfo.EditAction += (curDevice, curRoom) =>
                                    {
                                        if (curRoom.Id != Common.Room.CurrentRoom.Id)
                                        {
                                            Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                            deviceRow.RemoveFromParent();
                                            sameTypeList.Remove(deviceUI);
                                            if (sameTypeList.Count == 0)
                                            {
                                                RefreshFunction(Common.Room.CurrentRoom);
                                            }
                                        }
                                        else
                                        {
                                            deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
                                        }
                                        ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow);
                                    };
                                };
                                var editBtn = new CommonForm.RowLayoutEditButton()
@@ -1852,7 +1718,6 @@
                                    editBtn.MouseUpEventHandler += deviceDetailHandler;
                                }
                            }
                            //删除设备
                            EventHandler<MouseEventArgs> delEvent = (delSender, delE) =>
@@ -1874,7 +1739,7 @@
                                        sameTypeList.Remove(deviceUI);
                                        if (Common.Room.CurrentRoom.GetLoveRoom().DeviceUIList.Find((obj) => obj.FileName == deviceUI.FileName) != null)
                                        {
                                            Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                                            Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(deviceUI.FileName);
                                        }
                                    }
                                    if (sameTypeList.Count == 0)
@@ -1899,6 +1764,93 @@
                { IsBackground = true }.Start();
            }
        }
        /// <summary>
        /// ReFreshDeviceAction
        /// </summary>
        /// <param name="curRoom"></param>
        /// <param name="sameTypeList"></param>
        /// <param name="devListScrolView"></param>
        /// <param name="deviceRow"></param>
        private void ReFreshDeviceAction(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionRow deviceRow)
        {
            if (Common.Room.CurrentRoom.IsLove)
            {
                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false)
                {
                    devListScrolView.RemoveViewByTag(deviceUI);
                    sameTypeList.Remove(deviceUI);
                    if (sameTypeList.Count == 0)
                    {
                        RefreshFunction(Common.Room.CurrentRoom);
                    }
                }
            }
            else
            {
                if (curRoom.Id != Common.Room.CurrentRoom.Id)
                {
                    Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                    devListScrolView.RemoveViewByTag(deviceUI);
                    sameTypeList.Remove(deviceUI);
                    if (sameTypeList.Count == 0)
                    {
                        RefreshFunction(Common.Room.CurrentRoom);
                    }
                }
                else
                {
                    deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                }
            }
        }
        /// <summary>
        /// ReFreshDeviceAction
        /// </summary>
        /// <param name="curRoom"></param>
        /// <param name="sameTypeList"></param>
        /// <param name="devListScrolView"></param>
        /// <param name="deviceRow"></param>
        private void ReFreshDeviceActionForWin(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionForWinRow deviceRow)
        {
            if (Common.Room.CurrentRoom.IsLove)
            {
                deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false)
                {
                    devListScrolView.RemoveViewByTag(deviceUI);
                    sameTypeList.Remove(deviceUI);
                    if (sameTypeList.Count == 0)
                    {
                        RefreshFunction(Common.Room.CurrentRoom);
                    }
                }
            }
            else
            {
                if (curRoom.Id != Common.Room.CurrentRoom.Id)
                {
                    Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName);
                    devListScrolView.RemoveViewByTag(deviceUI);
                    sameTypeList.Remove(deviceUI);
                    if (sameTypeList.Count == 0)
                    {
                        RefreshFunction(Common.Room.CurrentRoom);
                    }
                }
                else
                {
                    deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath);
                    deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice));
                }
            }
        }
        /// <summary>
        /// AddRoomView
@@ -2110,14 +2062,15 @@
        #endregion
        #region ◆ 自动化__________________________
        /// <summary>
        /// 自动化功能代码入口
        /// 自动化
        /// </summary>
        private  void ShowAutotion()
        {
           // functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
        private async void ShowAutotion()
        {
            functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
            var bjFrameLayout = new FrameLayout
            {
                Width = Application.GetRealWidth(1080 - 58),
@@ -2128,7 +2081,7 @@
                Y = Application.GetRealHeight(30),
            };
            functionSceneAutoBodyView.AddChidren(bjFrameLayout);
            bjFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
            bjFrameLayout.SetCornerWithSameRadius(25, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
            var sigBtn = new Button
            {
                Width = Application.GetMinRealAverage(84),
@@ -2174,16 +2127,18 @@
            };
            functionSceneAutoBodyView.AddChidren(scenehorizontalScrol);
            var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout
            var logicScrolView = new VerticalScrolViewLayout
            {
                Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30),
                //BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,/
                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                X = Application.GetRealWidth(58),
                //Radius = (uint)Application.GetRealHeight(50),
                Y = scenehorizontalScrol.Bottom,
            };
            functionSceneAutoBodyView.AddChidren(logicScrolView);
            logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
            bool no = false;
            logicScrolView.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
            recommendswitchBtn.MouseUpEventHandler += (sender, e) =>
            {
                int Yheight = 0;
@@ -2191,7 +2146,6 @@
                scenehorizontalScrol.RemoveAll();
                if (recommendswitchBtn.IsSelected)
                {
                    no = true;
                    scenehorizontalScrol.Height = Application.GetRealHeight(246);
                    Yheight = 20;
                    for (int i = 1; i < 4; i++)
@@ -2269,32 +2223,14 @@
                }
                else
                {
                    no = false;
                    scenehorizontalScrol.Height = Application.GetRealHeight(0);
                    Yheight = 0;
                }
                logicScrolView.Y = scenehorizontalScrol.Bottom + Yheight;
                logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight;
                Automationview(logicScrolView,no);
                Automationview(logicScrolView);
            };
            logicScrolView.BeginHeaderRefreshingAction += () =>
            {
                //重新刷新logic列表
                Common.Logic.LogicList.Clear();
                Read(logicScrolView,no);
                //关闭刷新View;
                logicScrolView.EndHeaderRefreshing();
            };
            Read(logicScrolView,no);
        }
        /// <summary>
        /// 读取自动化列表数据;
        /// </summary>
        /// <param name="logicScrolView"></param>
        private async void Read(VerticalRefreshLayout logicScrolView,bool no)
        {
            CommonPage.Loading.Start();
            if (Common.Logic.LogicList.Count == 0)
            {
@@ -2315,77 +2251,28 @@
                }
            }
            //自动化
            Automationview(logicScrolView,no);
            Automationview(logicScrolView);
            CommonPage.Loading.Hide();
        }
        /// <summary>
        /// 加载自动化列表界面
        /// 自动化列表界面
        /// </summary>
        /// <param name="refresview">Refresview.</param>
        private async void Automationview(VerticalRefreshLayout refresview,bool no)
        private async void Automationview(VerticalScrolViewLayout refresview)
        {
            refresview.RemoveAll();
            if (Common.Logic.LogicList.Count == 0&&no==false)
            {
                //就是为了显示引导添加图标;
                refresview.BackgroundColor = 0x00000000;
                var noFrameLayout = new FrameLayout
                {
                    Height = Application.GetRealHeight(434+ 200+32+160),
                    //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                };
                refresview.AddChidren(noFrameLayout);
                var noIconBtn = new Button
                {
                    Y=Application.GetRealHeight(160),
                    Width = Application.GetMinRealAverage(756),
                    Height = Application.GetMinRealAverage(434),
                    UnSelectedImagePath = "Item/NoFunction.png",
                    X = Application.GetRealWidth(104),
                };
                noFrameLayout.AddChidren(noIconBtn);
                var noTextBtn = new Button()
                {
                    Y = noIconBtn.Bottom,
                    Height = Application.GetRealHeight(200)+Application.GetRealHeight(32),
                    Width = Application.GetRealWidth(700),
                    //Gravity = Gravity.CenterHorizontal,
                    Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"),
                    TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                    TextAlignment = TextAlignment.Center,
                    IsMoreLines = true,
                    X = Application.GetRealWidth(190-58),
                };
                noFrameLayout.AddChidren(noTextBtn);
            }
            else
            {
                if (Common.Logic.LogicList.Count == 0 && no == true)
                {
                    ///改变滑动view的颜色;
                    refresview.BackgroundColor = 0x00000000;
                }
                else
                {
                    refresview.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                }
            }
            foreach (var logic in Common.Logic.LogicList)
            {
                var logicRowlayout = new RowLayout
                {
                    Height = Application.GetRealHeight(190 + 30),
                    Width = Application.GetRealWidth(1080-58),
                    Width = Application.GetRealWidth(1080),
                    LineColor = ZigbeeColor.Current.LogicBackgroundColor,
                   BackgroundColor =ZigbeeColor.Current.LogicBackgroundColor,
                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                };
                refresview.AddChidren(logicRowlayout);
@@ -2411,7 +2298,7 @@
                    Height = Application.GetMinRealAverage(63),
                    UnSelectedImagePath = "ZigeeLogic/logicclose.png",
                    SelectedImagePath = "ZigeeLogic/logicopen.png",
                    X = logicRowlayout.Width - Application.GetRealWidth(104 + 58),
                    X = logicRowlayout.Width - Application.GetRealWidth(104 + 58 + 58),
                    Y = Application.GetRealHeight(58 + 30 + 9 + 30),
                };
                logicRowlayout.AddChidren(logicswitchBtn);
@@ -2460,7 +2347,7 @@
                    var logicCommunalPage = new Logic.LogicCommunalPage();
                    HomePage.Instance.AddChidren(logicCommunalPage);
                    HomePage.Instance.PageIndex += 1;
                    logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview,no); });
                    logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview); });
                };
@@ -2482,7 +2369,7 @@
                        if (e1)
                        {
                            Common.Logic.LogicList.Remove(logic);
                            Automationview(refresview,no);
                            Automationview(refresview);
                            Logic.Send.DelLogic(logic.LogicId);
                        }
                    };
@@ -2492,7 +2379,7 @@
                var line = new Button
                {
                    Y = Application.GetRealHeight(215),
                    Height = Application.GetRealHeight(5),
                    Height = Application.GetRealHeight(5),
                    Width = Application.GetRealWidth(1080 - 58),
                    BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    X = Application.GetRealWidth(58),
@@ -2502,7 +2389,7 @@
        }
        /// <summary>
        /// 显示自动化输出功能模块图标的颜色
        /// 显示图标的颜色
        /// </summary>
        /// <param name="logic"></param>
        /// <param name="logicRowlayout"></param>
@@ -2513,7 +2400,7 @@
            var logictimeBtn = new Button
            {
                Height = Application.GetRealHeight(58),
                Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350),
                Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350 + 58),
                Y = Application.GetRealHeight(30),
                X = Application.GetRealWidth(365),
                TextAlignment = TextAlignment.CenterRight,
@@ -2901,7 +2788,6 @@
                }
            }
        }
        #endregion
        #region ◆ 控制状态_________________________
@@ -2976,6 +2862,6 @@
        #endregion
    }
}