gxc
2019-12-03 a7a6907b3df65db9c4b2bb1237f709db5c985b52
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -6,6 +6,7 @@
using Shared.Phone.Device.CommonForm;
using Shared.Phone.UserCenter.DoorLock;
using System.Timers;
using Shared.Phone.Device.DeviceLogic;
namespace Shared.Phone.UserView
{
@@ -502,7 +503,7 @@
                        Y = Application.GetRealHeight(248),
                        Width = Application.GetMinRealAverage(449),
                        Height = Application.GetMinRealAverage(478),
                        UnSelectedImagePath = "Item/SelectHouse"
                        UnSelectedImagePath = "Item/SelectHouse.png"
                    };
                    closeBGview.AddChidren(bg);
@@ -510,8 +511,8 @@
                    {
                        X = Application.GetRealWidth(35),
                        Y = Application.GetRealHeight(271),
                        Height = Application.GetRealHeight(449),
                        Width = Application.GetRealWidth(440),
                        Height = Application.GetMinRealAverage(449),
                        Width = Application.GetMinRealAverage(440),
                        Radius = CommonPage.BigFormRadius,
                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
                    };
@@ -630,16 +631,18 @@
            if (CanBindGateway() == false)
            {
                var roomPageView = new PageLayout()
                var roomPageView = new HorizontalPages()
                {
                    Y = Application.GetRealHeight(302),
                    Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2),
                    Height = Application.GetMinRealAverage(roomPageView_Height),
                    Radius = CommonPage.BigFormRadius,
                    Gravity = Gravity.CenterHorizontal,
                    IsShowPoint = false
                    Width = Application.GetRealWidth(CommonPage.AppRealWidth),
                    Height = Application.GetRealHeight(478),
                };
                AddChidren(roomPageView);
                //与屏幕边框的边距
                roomPageView.RowPadding = Application.GetRealWidth(181);
                //两个page之间的间距
                roomPageView.PagePadding = Application.GetRealWidth(69);
                //当前房间
                //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom;
@@ -647,49 +650,12 @@
                Room.CurrentRoom = rList[0];
                foreach (var room in rList)
                {
                    var roomBackView = new FrameLayout()
                    var roomView = new Device.CommonForm.RoomView(0, 0);
                    roomPageView.AddChidren(roomView);
                    roomView.Init(room);
                    roomView.action += () =>
                    {
                        BackgroundImagePath = room.BackgroundImage
                    };
                    roomPageView.AddChidren(roomBackView);
                    var roomBG = new Button()
                    {
                        UnSelectedImagePath = "Room/HomeBG.png",
                        //UnSelectedImagePath = room.BackgroundImage
                    };
                    roomBackView.AddChidren(roomBG);
                    var roomName = new Button()
                    {
                        X = Application.GetRealWidth(20),
                        Y = Application.GetRealHeight(20),
                        Width = Application.GetRealWidth(500),
                        Height = Application.GetRealHeight(80),
                        Text = room.Name,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                        TextSize = 18,
                    };
                    roomBackView.AddChidren(roomName);
                    var roomListBtn = new Device.CommonForm.SelectedStatuButton()
                    {
                        X = roomPageView.Width - Application.GetRealWidth(100 + 20),
                        Y = Application.GetRealHeight(20),
                        Width = Application.GetMinRealAverage(100),
                        Height = Application.GetMinRealAverage(100),
                        UnSelectedImagePath = "Item/List.png",
                    };
                    roomBackView.AddChidren(roomListBtn);
                    roomListBtn.MouseUpEventHandler += (send, e) =>
                    {
                        var editRoom = new Device.Room.EditRoom();
                        HomePage.Instance.AddChidren(editRoom);
                        HomePage.Instance.PageIndex += 1;
                        editRoom.Show(room);
                        editRoom.action += () =>
                        {
                            Show();
                        };
                        Show();
                    };
                }
@@ -713,7 +679,8 @@
                    TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
                    SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                    TextID = R.MyInternationalizationString.Scence,
                    IsSelected = false
                    IsSelected = true,
                    TextSize=16
                };
                functionSceneView.AddChidren(sceneBtn);
@@ -727,7 +694,8 @@
                    TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
                    SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                    TextID = R.MyInternationalizationString.Function,
                    IsSelected = false
                    IsSelected = false,
                    TextSize=14
                };
                functionSceneView.AddChidren(functionBtn);
@@ -746,6 +714,8 @@
                {
                    sceneBtn.IsSelected = false;
                    functionBtn.IsSelected = true;
                    sceneBtn.TextSize = 14;
                    functionBtn.TextSize = 16;
                    RefreshBodyView();
                };
                //选择场景分栏
@@ -753,6 +723,8 @@
                {
                    functionBtn.IsSelected = false;
                    sceneBtn.IsSelected = true;
                    sceneBtn.TextSize = 16;
                    functionBtn.TextSize = 14;
                    RefreshBodyView();
                };
@@ -801,9 +773,10 @@
            var floorFL = new Phone.Device.Category.SelectFloor();
            AddChidren(floorFL);
            floorFL.Init(35, 153);
            floorFL.FloorAction = (floorName) =>
            floorFL.changeFloor = true;
            floorFL.FloorAction = (floorId) =>
            {
                floorBtn.Text = floorName;
                floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
                Show();
            };
        }
@@ -1017,14 +990,14 @@
                            //发送读取状态命令
                            ReadStatus(rollerShade, () =>
                            {
                                rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
                            });
                        }
                        else
                        {
                            if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds)
                            {
                                rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
                            }
                        }
                        var lightView = new FunctionMainView(xx, yy);
@@ -1096,6 +1069,7 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            CommonPage.Instance.IsDrawerLockMode = true;
                            var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl();
                            UserView.HomePage.Instance.AddChidren(rollerShadeControl);
                            UserView.HomePage.Instance.PageIndex += 1;
@@ -1121,16 +1095,14 @@
                            //发送读取状态命令
                            ReadStatus(light, () =>
                            {
                                light.ReadOnOffStatus();
                                light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
                            });
                        }
                        else
                        {
                            if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
                            {
                                light.ReadOnOffStatus();
                                light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
                            }
                        }
@@ -1212,6 +1184,7 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            CommonPage.Instance.IsDrawerLockMode = true;
                            if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关)
                            {
                                var lightControl = new Phone.Device.Light.OnOffControl();
@@ -1255,8 +1228,7 @@
                            //发送读取状态命令
                            ReadStatus(airSwitch, () =>
                            {
                                airSwitch.ReadOnOffStatus();
                                airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
                            });
                        }
                        else
@@ -1264,8 +1236,7 @@
                            //防止短时间内多次读取设备状态
                            if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                airSwitch.ReadOnOffStatus();
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
                            }
                        }
@@ -1338,6 +1309,7 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            CommonPage.Instance.IsDrawerLockMode = true;
                            var lightControl = new Phone.Device.Light.AirSwitchControl();
                            UserView.HomePage.Instance.AddChidren(lightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
@@ -1362,15 +1334,7 @@
                            //发送读取状态命令
                            ReadStatus(ac, () =>
                            {
                                ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ac.ReadLocalTemperature();
                                ac.ReadCoolingSetpoint();
                                ac.ReadHeatingSetpoint();
                                ac.ReadAutoSetpoint();
                                ac.ReadFanMode();
                                ac.ReadSystemMode();
                                ac.ReadSystemFansSwingMode();
                                ac.ReadModeSupport();
                                ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
                            });
                        }
                        else
@@ -1378,15 +1342,7 @@
                            //防止短时间内多次读取设备状态
                            if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                ac.ReadLocalTemperature();
                                ac.ReadCoolingSetpoint();
                                ac.ReadHeatingSetpoint();
                                ac.ReadAutoSetpoint();
                                ac.ReadFanMode();
                                ac.ReadSystemMode();
                                ac.ReadSystemFansSwingMode();
                                ac.ReadModeSupport();
                                ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
                            }
                        }
                        var lightView = new FunctionMainView(xx, yy);
@@ -1457,6 +1413,7 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            CommonPage.Instance.IsDrawerLockMode = true;
                            var lightControl = new Phone.Device.AC.ACControl();
                            UserView.HomePage.Instance.AddChidren(lightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
@@ -1480,8 +1437,7 @@
                            //发送读取状态命令
                            ReadStatus(dimmableLight, () =>
                            {
                                dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                dimmableLight.ReadOnOffStatus();
                                ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice);
                            });
                        }
                        else
@@ -1489,8 +1445,7 @@
                            //防止短时间内多次读取设备状态
                            if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                dimmableLight.ReadOnOffStatus();
                                ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice);
                            }
                        }
@@ -1572,6 +1527,7 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            CommonPage.Instance.IsDrawerLockMode = true;
                            var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
                            UserView.HomePage.Instance.AddChidren(dimmableLightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
@@ -1589,20 +1545,6 @@
                        if (dimmableLight.Gateway == null)
                        {
                            continue;
                        }
                        if (dimmableLight.Gateway.IsVirtual)
                        {
                            ReadStatus(dimmableLight, () =>
                            {
                                dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                            });
                        }
                        else
                        {
                            if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                            }
                        }
                        var lightView = new FunctionMainView(xx, yy);
@@ -1626,6 +1568,7 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            CommonPage.Instance.IsDrawerLockMode = true;
                            var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device);
                            HomePage.Instance.AddChidren(userDoorLockPage);
                            HomePage.Instance.PageIndex += 1;