From eb424d24e39bab4a245725f35deab3f234ea0f13 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 13 十二月 2019 10:48:50 +0800 Subject: [PATCH] 2019.12.13 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 554 ++++++++++++++++++++++++------------------------------- 1 files changed, 242 insertions(+), 312 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index 099699a..d3163c0 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -4,6 +4,9 @@ using Shared.Phone.Device.AC; using ZigBee.Device; using Shared.Phone.Device.CommonForm; +using Shared.Phone.UserCenter.DoorLock; +using System.Timers; +using Shared.Phone.Device.DeviceLogic; namespace Shared.Phone.UserView { @@ -72,11 +75,19 @@ private readonly int sleepSpan = 300; - private FrameLayout itemView=new FrameLayout(); + private FrameLayout itemView = new FrameLayout(); /// <summary> /// floorBtn /// </summary> private Button floorBtn; + /// <summary> + /// timeDic + /// </summary> + private Dictionary<string, Timer> timerDic = new Dictionary<string, Timer> { }; + /// <summary> + /// sceneScrolView + /// </summary> + private VerticalScrolViewLayout sceneScrolView ; #endregion #region 鈼� 鎺ュ彛____________________________ @@ -250,6 +261,15 @@ ac.currentSystemMode = attriButeList[0].AttriButeData; ac.LastDateTime = DateTime.Now; break; + + case 4099: + var value = Convert.ToString(attriButeList[0].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; } (rowFL.GetChildren(0) as FunctionMainView).IsSelected = ac.currentSystemMode != 0; (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); @@ -319,7 +339,7 @@ { case 0: //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴� - dimmableLight.Level = attriButeList[0].AttriButeData ; + dimmableLight.Level = attriButeList[0].AttriButeData; dimmableLight.LastDateTime = DateTime.Now; (rowFL.GetChildren(0) as FunctionMainView).IsSelected = true; (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); @@ -392,7 +412,7 @@ #region topview var topFrameLayout = new FrameLayout() { - Y=Application.GetRealHeight(60), + Y = Application.GetRealHeight(60), Height = Application.GetRealHeight(127), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, }; @@ -406,19 +426,25 @@ Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Item/Floor.png" }; - topFrameLayout.AddChidren(floor); + if (Config.Instance.Home.FloorDics.Count > 0) + { + topFrameLayout.AddChidren(floor); + } floorBtn = new Button { - X=floor.Right, - Width=Application.GetRealWidth(500), - Height=Application.GetRealHeight(100), + X = floor.Right, + Width = Application.GetRealWidth(500), + Height = Application.GetRealHeight(100), Gravity = Gravity.CenterVertical, - TextAlignment =TextAlignment.CenterLeft, - TextColor=ZigbeeColor.Current.GXCTextColor, - Text=Config.Instance.Home.GetCurrentFloorName + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.GXCTextColor, + Text = Config.Instance.Home.GetCurrentFloorName }; - topFrameLayout.AddChidren(floorBtn); + if (Config.Instance.Home.FloorDics.Count > 0) + { + topFrameLayout.AddChidren(floorBtn); + } var messageBtn = new Button() { @@ -427,24 +453,25 @@ Height = Application.GetMinRealAverage(69), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Item/Message.png", - SelectedImagePath="Item/MessageSelected.png" + SelectedImagePath = "Item/MessageSelected.png" }; topFrameLayout.AddChidren(messageBtn); var residecneName = new Button() { - X=Application.GetRealWidth(CommonFormResouce.X_Left), + X = Application.GetRealWidth(CommonFormResouce.X_Left), Y = Application.GetRealHeight(161), Width = Application.GetRealWidth(700), Height = Application.GetRealHeight(95), TextAlignment = TextAlignment.CenterLeft, Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull), TextSize = 24, - TextColor = ZigbeeColor.Current.GXCTextBlackColor + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + IsBold=true }; - if(Config.Instance.Home.IsOthreShare) + if (Config.Instance.Home.IsOthreShare) { - residecneName.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){Config.Instance.Home.Name}"; + residecneName.Text = $"{Config.Instance.Home.Name}"; } AddChidren(residecneName); @@ -456,7 +483,7 @@ var tempHomeBtn = send as Button; if (Config.Instance.HomeFilePathList.Count == 0) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.OK)); + var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.Confrim)); alert.Show(); alert.ResultEventHandler += (senderHouse, eHouse) => { @@ -483,7 +510,7 @@ Y = Application.GetRealHeight(248), Width = Application.GetMinRealAverage(449), Height = Application.GetMinRealAverage(478), - UnSelectedImagePath = "Item/SelectHouse" + UnSelectedImagePath = "Item/SelectHouse.png" }; closeBGview.AddChidren(bg); @@ -491,8 +518,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 }; @@ -512,7 +539,7 @@ var scrolView = new VerticalScrolViewLayout() { Y = changeHomeBtn.Bottom, - Height = Application.GetMinRealAverage(305-10) + Height = Application.GetMinRealAverage(305 - 10) }; changeHomeFL.AddChidren(scrolView); @@ -532,7 +559,7 @@ scrolView.AddChidren(rowView); var pointBtn = new Device.CommonForm.SelectedStatuButton() { - X=Application.GetRealWidth(80), + X = Application.GetRealWidth(80), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), Gravity = Gravity.CenterVertical, @@ -551,9 +578,9 @@ SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, IsSelected = home.Id == Config.Instance.Home.Id }; - if(home.IsOthreShare) + if (home.IsOthreShare) { - nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; + nameBtn.Text = $"{home.Name}"; } rowView.AddChidren(nameBtn); @@ -569,9 +596,9 @@ nameBtn.IsSelected = true; residecneName.Text = home.Name; - if(home.IsOthreShare) + if (home.IsOthreShare) { - nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; + nameBtn.Text = $"{home.Name}"; } clickCheckBtn = pointBtn; clickNameBtn = nameBtn; @@ -590,7 +617,7 @@ residecneName.Text = home.Name; if (home.IsOthreShare) { - residecneName.Text = nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; + residecneName.Text = nameBtn.Text = $"{home.Name}"; } } else @@ -604,136 +631,48 @@ //娑堟伅 messageBtn.MouseUpEventHandler += (send, e) => { - var roomList = new Shared.Phone.Device.Room.RoomManagement(); - HomePage.Instance.AddChidren(roomList); - HomePage.Instance.PageIndex += 1; - roomList.Show(); + }; #endregion - if(CanBindGateway()==false) + 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.TCBJ = Application.GetRealWidth(112); + //涓や釜page涔嬮棿鐨勯棿璺� + roomPageView.JMBJ = Application.GetRealWidth(69); //褰撳墠鎴块棿 - if (Shared.Common.Room.CanInitAllRoom == true) + //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; + var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom(); + Room.CurrentRoom = rList[0]; + foreach (var room in rList) { - //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; - Room.CurrentRoom = Room.Lists[0]; - foreach (var room in Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) + var roomView = new Device.CommonForm.RoomView(0, 0); + roomPageView.AddChidren(roomView); + roomView.Init(room); + roomView.action += () => { - var roomBackView = new FrameLayout() - { - BackgroundImagePath = room.BackgroundImage - }; - roomPageView.AddChidren(roomBackView); - var roomBG = new Button() - { - UnSelectedImagePath = "Room/HomeBG.png", - }; - 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", - SelectedImagePath = "Item/ListSelected.png" - }; - roomBackView.AddChidren(roomListBtn); - - roomListBtn.MouseUpEventHandler += (send, e) => - { - //var roomList = new Device.Room.RoomManagement(); - //HomePage.Instance.AddChidren(roomList); - //HomePage.Instance.PageIndex += 1; - //roomList.Show(); - //roomList.action += () => - //{ - // Show(); - //}; - if(room.IsLove) - { - return; - } - var editRoom = new Device.Room.EditRoom(); - HomePage.Instance.AddChidren(editRoom); - HomePage.Instance.PageIndex += 1; - editRoom.Show(room); - editRoom.action += () => - { - Show(); - }; - - }; - } - } - else - { - Room.CurrentRoom = Room.Lists[0]; - var roomBackView = new FrameLayout() - { - BackgroundImagePath = "Room/r0.png" + Show(); }; - roomPageView.AddChidren(roomBackView); - var roomBG = new Button() - { - UnSelectedImagePath = "Room/HomeBG.png", - }; - roomBackView.AddChidren(roomBG); - var roomName = new Button() - { - X = Application.GetRealWidth(20), - Y = Application.GetRealHeight(20), - Width = Application.GetRealWidth(500), - Height = Application.GetRealHeight(80), - Text = Language.StringByID(R.MyInternationalizationString.Favorite), - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize = 18, - }; - roomBackView.AddChidren(roomName); - var roomListBtn = new Button() - { - 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); } var functionSceneView = new FrameLayout() { Y = Application.GetRealHeight(861), - Width=Application.GetRealWidth(832), + Width = Application.GetRealWidth(832), Height = Application.GetRealHeight(167), - Gravity=Gravity.CenterHorizontal, - BackgroundImagePath="Item/SceneFunctionBG.png" + Gravity = Gravity.CenterHorizontal, + BackgroundImagePath = "Item/SceneFunctionBG.png" }; AddChidren(functionSceneView); @@ -747,7 +686,9 @@ TextColor = ZigbeeColor.Current.GXCTextGrayColor3, SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, TextID = R.MyInternationalizationString.Scence, - IsSelected = false + IsSelected = true, + TextSize=16, + IsBold=true }; functionSceneView.AddChidren(sceneBtn); @@ -761,7 +702,8 @@ TextColor = ZigbeeColor.Current.GXCTextGrayColor3, SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, TextID = R.MyInternationalizationString.Function, - IsSelected = false + IsSelected = false, + TextSize=14 }; functionSceneView.AddChidren(functionBtn); @@ -771,7 +713,7 @@ Y = functionSceneView.Bottom, Height = Application.GetRealHeight(750), Gravity = Gravity.CenterHorizontal, - BackgroundColor=ZigbeeColor.Current.GXCGrayBackgroundColor + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; AddChidren(functionSceneBodyView); @@ -780,6 +722,10 @@ { sceneBtn.IsSelected = false; functionBtn.IsSelected = true; + sceneBtn.TextSize = 14; + sceneBtn.IsBold = false; + functionBtn.TextSize = 16; + functionBtn.IsBold = true; RefreshBodyView(); }; //閫夋嫨鍦烘櫙鍒嗘爮 @@ -787,6 +733,10 @@ { functionBtn.IsSelected = false; sceneBtn.IsSelected = true; + sceneBtn.TextSize = 16; + sceneBtn.IsBold = true; + functionBtn.TextSize = 14; + functionBtn.IsBold = false; RefreshBodyView(); }; @@ -795,7 +745,7 @@ roomPageView.PageChange += (sender, e) => { //鍒囨崲褰撳墠鎴块棿 - Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.Lists[roomPageView.PageIndex]; + Room.CurrentRoom = rList[roomPageView.PageIndex]; RefreshBodyView(); }; } @@ -814,10 +764,6 @@ /// </summary> public void RefreshBodyView() { - if (Room.CanInitAllRoom == false) - { - return; - } functionSceneBodyView.RemoveAll(); if (functionBtn.IsSelected) { @@ -834,14 +780,15 @@ /// </summary> /// <param name="sender"></param> /// <param name="mouseEventArgs"></param> - public void SelectFloor(object sender,MouseEventArgs mouseEventArgs) + public void SelectFloor(object sender, MouseEventArgs mouseEventArgs) { 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(); }; } @@ -969,11 +916,11 @@ var noFunctionTip = new Button() { - Y=noFunction.Bottom, + Y = noFunction.Bottom, Height = Application.GetRealHeight(200), - Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"), + Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - IsMoreLines=true + IsMoreLines = true }; functionSceneBodyView.AddChidren(noFunctionTip); } @@ -999,7 +946,7 @@ deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); - for(int i=0;i<deviceList.Count;i++) + for (int i = 0; i < deviceList.Count; i++) { int t = i % 2; int tt = i / 2; @@ -1021,22 +968,6 @@ deviceVerticalScrolViewLayout.AddChidren(itemView); } - - //鍒犻櫎璁惧 - EventHandler<MouseEventArgs> delEvent = (sender, e) => - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += (send1, e1) => - { - if (e1) - { - Room.CurrentRoom.DeleteDevice(device.FileName); - //RefreshBodyView(); - deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); - } - }; - }; //鏀惰棌 EventHandler<MouseEventArgs> collectionEvent = (sender, e) => { @@ -1071,14 +1002,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); @@ -1101,7 +1032,7 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); + (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); ((sender as Button).Parent as FunctionMainView).IsSelected = true; @@ -1127,7 +1058,7 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); + (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); ((sender as Button).Parent as FunctionMainView).IsSelected = false; @@ -1150,6 +1081,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; @@ -1175,27 +1107,25 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� 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); } } - var lightView = new FunctionMainView(xx,yy); + var lightView = new FunctionMainView(xx, yy); itemView.AddChidren(lightView); lightView.Init(); lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = light.OnOffStatus==1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom,device.FileName)); + lightView.IsSelected = light.OnOffStatus == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) @@ -1266,6 +1196,7 @@ lightView.CardBG.MouseUpEventHandler += (sender, e) => { + CommonPage.Instance.IsDrawerLockMode = true; if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) { var lightControl = new Phone.Device.Light.OnOffControl(); @@ -1309,8 +1240,7 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� ReadStatus(airSwitch, () => { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); }); } else @@ -1318,8 +1248,7 @@ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - airSwitch.ReadOnOffStatus(); + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); } } @@ -1392,6 +1321,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; @@ -1416,14 +1346,7 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� ReadStatus(ac, () => { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - ac.ReadAutoSetpoint(); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadSystemFansSwingMode(); + ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); }); } else @@ -1431,14 +1354,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(); + ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); } } var lightView = new FunctionMainView(xx, yy); @@ -1509,6 +1425,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; @@ -1532,8 +1449,7 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� ReadStatus(dimmableLight, () => { - dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - dimmableLight.ReadOnOffStatus(); + ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice); }); } else @@ -1541,8 +1457,7 @@ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - dimmableLight.ReadOnOffStatus(); + ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice); } } @@ -1624,17 +1539,56 @@ 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; - UserView.HomePage.Instance.ScrollEnabled = false; //dimmableLightControl.action = RefreshBodyView; dimmableLightControl.Show(device, Room.CurrentRoom); }; lightView.CollectButton.MouseUpEventHandler += collectionEvent; } - else if (device.CommonDevice.Type == DeviceType.OnOffSwitch) + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DoorLock) + { + //闂ㄩ攣 + var dimmableLight = device.CommonDevice as DoorLock; + //琛ヤ笂闈炶繙绋� + if (dimmableLight.Gateway == null) + { + continue; + } + + var lightView = new FunctionMainView(xx, yy); + itemView.AddChidren(lightView); + lightView.Init(); + lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + lightView.SetStatuText(device.GetDeviceStatu()); + lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); + lightView.IsSelected = dimmableLight.IsOnline == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + lightView.CanControl(false); + var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) + { + lightView.CollectButton.IsSelected = false; + } + else + { + lightView.CollectButton.IsSelected = true; + } + + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device); + HomePage.Instance.AddChidren(userDoorLockPage); + HomePage.Instance.PageIndex += 1; + userDoorLockPage.Show(); + }; + lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } + else { var lightView = new FunctionMainView(xx, yy); itemView.AddChidren(lightView); @@ -1642,9 +1596,20 @@ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - //lightView.SetStatu(true); - lightView.IsSelected = true; + lightView.CanControl(false); + lightView.IsSelected = device.CommonDevice.IsOnline == 1; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + + var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) + { + lightView.CollectButton.IsSelected = false; + } + else + { + lightView.CollectButton.IsSelected = true; + } + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } } } @@ -1671,11 +1636,11 @@ functionSceneBodyView.AddChidren(noScene); var noScenceTip = new Button() { - Y=noScene.Bottom, + Y = noScene.Bottom, Height = Application.GetRealHeight(200), - Text =Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"), + Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - IsMoreLines=true + IsMoreLines = true }; functionSceneBodyView.AddChidren(noScenceTip); } @@ -1697,12 +1662,12 @@ } else { - var sceneScrolView = new VerticalScrolViewLayout { }; + sceneScrolView = new VerticalScrolViewLayout { }; functionSceneBodyView.AddChidren(sceneScrolView); - for(int i=0;i<sceneList.Count;i++) + for (int i = 0; i < sceneList.Count; i++) { var scene = sceneList[i]; - int xx = 43 + i % 2 * (20 + 487); + int xx = 33 + i % 2 * (40 + 487); int yy = 14; if (scene == null) { @@ -1721,108 +1686,73 @@ var sceneView = new SceneMainView(xx, yy); itemView.AddChidren(sceneView); - sceneView.Init(); - sceneView.SetSceneNameText(scene.Name); - sceneView.SetIcon($"SceneIcon/{i}.png"); - sceneView.SetCollect(Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName)); - - if (scene.SceneDelayTime == 0) - { - sceneView.SetTimeImage(); - } - else - { - sceneView.SetTimeText(scene.SceneDelayTime.ToString()); - } - - sceneView.TimeButton.MouseUpEventHandler += (sender, e) => - { - var timeSelect = new SelectTime(); - CommonPage.Instance.AddChidren(timeSelect); - timeSelect.TempTime = scene.DelayTime; - timeSelect.Init(); - timeSelect.TimeAction = (t) => - { - scene.SceneDelayTime = t; - if(t>0) - { - sceneView.SetTimeText(CommonFormResouce.GetTimeString(scene.SceneDelayTime)); - } - else - { - sceneView.SetTimeImage(); - } - }; - - }; - - //璋冪敤鍦烘櫙 - EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => - { - //1鎴愬姛 0澶辫触 - //鍚庨潰琛ヤ笂鐩稿叧鎻愮ず - // Error鍙傛暟鍚箟 - //<para>1锛氱綉鍏虫棤娉曡В鏋愬懡浠ゆ暟鎹��</para> - //<para>2锛氬崗璋冨櫒姝e湪鍗囩骇鎴栧浠�/鎭㈠鏁版嵁 - //<para>3锛氭搷浣滆澶�/缁�/鍦烘櫙涓嶅瓨鍦�</para> - //<para>4锛氬叾浠栭敊璇�</para> - //<para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para> - var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime); - if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null) - { - return; - } - if (sceneOpenAllData.sceneOpenData.Result == 0) - { - if (sceneOpenAllData.errorResponData == null) - { - return; - } - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); - } - }; - //鏀惰棌 - EventHandler<MouseEventArgs> collectionEvent = (sender, e) => - { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) - { - //scene.IsCollected = true; - Room.CurrentRoom.GetLoveRoom().AddScene(scene); - } - else - { - //scene.IsCollected = false; - Room.CurrentRoom.GetLoveRoom().RemoveScene(scene); - } - scene.Save(); - - //if ((sender as Button).IsSelected) - //{ - // scene.Collect(false); - // (sender as Button).IsSelected = false; - //} - //else - //{ - // scene.Collect(true); - // (sender as Button).IsSelected = true; - //} - //scene.Save(); - //if (Room.CurrentRoom.IsLove) - //{ - // RefreshBodyView(); - //} - - }; - - sceneView.CollectButton.MouseUpEventHandler += collectionEvent; - sceneView.MouseUpEventHandler += sceneUpHandler; - sceneView.SceneIcon.MouseUpEventHandler+= sceneUpHandler; - sceneView.SceneNameButton.MouseUpEventHandler += sceneUpHandler; - + sceneView.Init(scene); } + GetDelayScene(sceneScrolView); } + } + /// <summary> + /// GetDelayScene + /// </summary> + /// <param name="scrolViewLayout"></param> + private 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(() => + { + 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++) + { + var sceneView = iView.GetChildren(j) as SceneMainView; + foreach (var delayScenesListResponseInfo in delayList) + { + if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) + { + var times = delayScenesListResponseInfo.RemainTime; + sceneView.scene.RemainTime = times; + new System.Threading.Thread(() => + { + while (times > 0) + { + System.Threading.Thread.Sleep(1000); + Application.RunOnMainThread(() => + { + sceneView.SetTimeText(CommonFormResouce.GetTimeString(times)); + }); + times -= 1; + } + Application.RunOnMainThread(() => + { + sceneView.SetTimeImage(); + }); + }) + { IsBackground = true }.Start(); + + break; + } + } + + } + } + }); + }) + { IsBackground = true }.Start(); } #endregion -- Gitblit v1.8.0