From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 13:32:33 +0800 Subject: [PATCH] 2019-12-30-1 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 1685 +++++++++++++++++---------------------------------------- 1 files changed, 514 insertions(+), 1,171 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index 22b59c0..1023eea 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -4,6 +4,8 @@ using Shared.Phone.Device.AC; using ZigBee.Device; using Shared.Phone.Device.CommonForm; +using Shared.Phone.UserCenter.DoorLock; +using System.Timers; namespace Shared.Phone.UserView { @@ -72,8 +74,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 鈼� 鎺ュ彛____________________________ @@ -128,10 +141,10 @@ { case DeviceType.OnOffOutput: //寮�鍏冲姛鑳� - if ((common as ZigBee.Device.ToggleLight).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var onOffOutputLight = deviceUI.CommonDevice as ZigBee.Device.ToggleLight; - onOffOutputLight.DeviceStatusReport = (common as ZigBee.Device.ToggleLight).DeviceStatusReport; + onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport; //璁板綍銆佹洿鏂扮姸鎬� if (onOffOutputLight.DeviceStatusReport.AttriBute == null || onOffOutputLight.DeviceStatusReport.AttriBute.Count == 0) @@ -140,19 +153,18 @@ } onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData; (rowFL.GetChildren(0) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1; - (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = CommonFormResouce.GetSwitchStatu(onOffOutputLight.OnOffStatus == 1); + (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); //璁板綍鍥炲鏃堕棿 onOffOutputLight.LastDateTime = DateTime.Now; - } break; case DeviceType.AirSwitch: //寮�鍏冲姛鑳� - if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.DeviceStatusReport = (common as ZigBee.Device.AirSwitch).DeviceStatusReport; + airSwitch.DeviceStatusReport = common.DeviceStatusReport; for (int j = 0; j < frameLayout.ChildrenCount; j++) { var tempView = frameLayout.GetChildren(j); @@ -168,164 +180,138 @@ return; } airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; - (tempView as Button).IsSelected = airSwitch.OnOffStatus == 1; + (rowFL.GetChildren(0) as FunctionMainView).IsSelected = airSwitch.OnOffStatus == 1; + (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); //璁板綍鍥炲鏃堕棿 airSwitch.LastDateTime = DateTime.Now; } } } //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { - var airSwitch = deviceUI.CommonDevice as AirSwitch; - airSwitch.IsOnline = 1; - for (int j = 0; j < frameLayout.ChildrenCount; j++) - { - var tempView = frameLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = airSwitch.IsOnline == 1; - //璁板綍鍥炲鏃堕棿 - airSwitch.LastDateTime = DateTime.Now; - } - } + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; } break; case DeviceType.WindowCoveringDevice: - if ((common as Rollershade).DeviceStatusReport.CluterID == 258) + if (common.DeviceStatusReport.CluterID == 258) { - if ((common as Rollershade).DeviceStatusReport.AttriBute[0].AttributeId == 0) + if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0) { //绐楀笜绫诲瀷 var rollerShade = deviceUI.CommonDevice as Rollershade; - rollerShade.DeviceStatusReport = (common as Rollershade).DeviceStatusReport; - rollerShade.WcdType = (common as Rollershade).DeviceStatusReport.AttriBute[0].AttriButeData; + rollerShade.DeviceStatusReport = common.DeviceStatusReport; + rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData; rollerShade.LastDateTime = DateTime.Now; + (rowFL.GetChildren(0) as FunctionMainView).IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; + (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); } } - if ((common as ZigBee.Device.Rollershade).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { - var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade; - rollershade.IsOnline = 1; - for (int j = 0; j < frameLayout.ChildrenCount; j++) - { - var tempView = frameLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = rollershade.IsOnline == 1; - //璁板綍鍥炲鏃堕棿 - rollershade.LastDateTime = DateTime.Now; - } - } + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; } break; case DeviceType.Thermostat: //AC鍔熻兘 - if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 513) + if (common.DeviceStatusReport.CluterID == 513) { var ac = deviceUI.CommonDevice as ZigBee.Device.AC; - ac.DeviceStatusReport = (common as ZigBee.Device.AC).DeviceStatusReport; + ac.DeviceStatusReport = common.DeviceStatusReport; var attriButeList = ac.DeviceStatusReport.AttriBute; if (attriButeList == null || attriButeList.Count == 0) { continue; } + + var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; switch (attriButeList[0].AttributeId) { case 0: //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝 - ac.currentLocalTemperature = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.currentLocalTemperature = curTemp; ac.LastDateTime = DateTime.Now; break; case 17: //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentCoolingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.currentCoolingSetpoint = curTemp; ac.LastDateTime = DateTime.Now; break; case 18: //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentHeatingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.currentHeatingSetpoint = curTemp; ac.LastDateTime = DateTime.Now; break; case 4096: //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.currentAutoSetpoint = curTemp; ac.LastDateTime = DateTime.Now; break; case 28: //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡 - //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 ac.currentSystemMode = attriButeList[0].AttriButeData; ac.LastDateTime = DateTime.Now; - - for (int j = 0; j < frameLayout.ChildrenCount; j++) - { - var tempView = frameLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == "Temparetrue") - { - - (tempView as Button).Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�"; - } - - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - (tempView as Button).IsSelected = ac.currentSystemMode != 0; - } - } 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(); + } + if (common.DeviceStatusReport.CluterID == 514) + { + var ac = deviceUI.CommonDevice as ZigBee.Device.AC; + var attriButeList = common.DeviceStatusReport.AttriBute; + if (attriButeList == null || attriButeList.Count == 0) + { + return; + } + ac.DeviceStatusReport = common.DeviceStatusReport; + switch (attriButeList[0].AttributeId) + { + case 0: + ac.currentFanMode = attriButeList[0].AttriButeData; + ac.LastDateTime = DateTime.Now; + break; + case 4096: + ac.currentFanSwingMode = attriButeList[0].AttriButeData; + ac.LastDateTime = DateTime.Now; + break; + } + (rowFL.GetChildren(0) as FunctionMainView).IsSelected = ac.currentSystemMode != 0; + (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); } //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { var ac = deviceUI.CommonDevice as AC; ac.IsOnline = 1; - for (int j = 0; j < frameLayout.ChildrenCount; j++) - { - var tempView = frameLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = ac.IsOnline == 1; - //璁板綍鍥炲鏃堕棿 - ac.LastDateTime = DateTime.Now; - } - } - + ac.LastDateTime = DateTime.Now; } break; case DeviceType.DimmableLight: //璋冨厜鐏姛鑳� //寮�鍏冲姛鑳� - if ((common as DimmableLight).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var dimmableLight = deviceUI.CommonDevice as DimmableLight; - dimmableLight.DeviceStatusReport = (common as DimmableLight).DeviceStatusReport; + dimmableLight.DeviceStatusReport = common.DeviceStatusReport; //璁板綍銆佹洿鏂扮姸鎬� if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0) { @@ -333,16 +319,16 @@ } dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; (rowFL.GetChildren(0) as FunctionMainView).IsSelected = dimmableLight.OnOffStatus == 1; - (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = CommonFormResouce.GetSwitchStatu(dimmableLight.OnOffStatus == 1); + (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); //璁板綍鍥炲鏃堕棿 dimmableLight.LastDateTime = DateTime.Now; } //浜害 - if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 8) + if (common.DeviceStatusReport.CluterID == 8) { - var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; - dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport; + var dimmableLight = deviceUI.CommonDevice as DimmableLight; + dimmableLight.DeviceStatusReport = common.DeviceStatusReport; var attriButeList = dimmableLight.DeviceStatusReport.AttriBute; if (attriButeList == null || attriButeList.Count == 0) { @@ -352,25 +338,14 @@ { case 0: //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴� - dimmableLight.Level = attriButeList[0].AttriButeData ; + dimmableLight.Level = attriButeList[0].AttriButeData; dimmableLight.LastDateTime = DateTime.Now; - for (int j = 0; j < frameLayout.ChildrenCount; j++) - { - var tempView = frameLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == "LevelSeekBar") - { - (tempView as HorizontalSeekBar).Progress = dimmableLight.Level; - } - } + (rowFL.GetChildren(0) as FunctionMainView).IsSelected = true; + (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); break; } } break; - } } } @@ -380,7 +355,7 @@ } }); } - + } /// <summary> /// Changeds the IL ogic status. @@ -436,7 +411,7 @@ #region topview var topFrameLayout = new FrameLayout() { - Y=Application.GetRealHeight(60), + Y = Application.GetRealHeight(60), Height = Application.GetRealHeight(127), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, }; @@ -452,15 +427,15 @@ }; topFrameLayout.AddChidren(floor); - var floorBtn = new Button + 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); @@ -471,13 +446,13 @@ 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), @@ -486,24 +461,14 @@ TextSize = 24, TextColor = ZigbeeColor.Current.GXCTextBlackColor }; - 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); - EventHandler<MouseEventArgs> selectFloor = (send, e) => - { - var floorFL = new Phone.Device.Category.SelectFloor(); - AddChidren(floorFL); - floorFL.Init(35,153); - floorFL.FloorAction = (floorName) => - { - floorBtn.Text = floorName; - }; - }; - floor.MouseUpEventHandler += selectFloor; - floorBtn.MouseUpEventHandler += selectFloor; + floor.MouseUpEventHandler += SelectFloor; + floorBtn.MouseUpEventHandler += SelectFloor; //鍒囨崲浣忓畢 residecneName.MouseLongEventHandler += (send, e) => { @@ -566,7 +531,7 @@ var scrolView = new VerticalScrolViewLayout() { Y = changeHomeBtn.Bottom, - Height = Application.GetMinRealAverage(305-10) + Height = Application.GetMinRealAverage(305 - 10) }; changeHomeFL.AddChidren(scrolView); @@ -586,7 +551,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, @@ -605,9 +570,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); @@ -623,9 +588,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; @@ -644,7 +609,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 @@ -658,15 +623,12 @@ //娑堟伅 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() { @@ -680,78 +642,20 @@ AddChidren(roomPageView); //褰撳墠鎴块棿 - if (Shared.Common.Room.CanInitAllRoom == true) - { - //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; - Room.CurrentRoom = Room.Lists[0]; - foreach (var room in Room.Lists) - { - 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(); - //}; - - var editRoom = new Device.Room.EditRoom(); - HomePage.Instance.AddChidren(editRoom); - HomePage.Instance.PageIndex += 1; - editRoom.Show(room); - editRoom.action += () => - { - Show(); - }; - - }; - } - } - else + //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; + var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom(); + Room.CurrentRoom = rList[0]; + foreach (var room in rList) { var roomBackView = new FrameLayout() { - BackgroundImagePath = "Room/r0.png" + BackgroundImagePath = room.BackgroundImage }; roomPageView.AddChidren(roomBackView); var roomBG = new Button() { UnSelectedImagePath = "Room/HomeBG.png", + //UnSelectedImagePath = room.BackgroundImage }; roomBackView.AddChidren(roomBG); var roomName = new Button() @@ -760,53 +664,52 @@ Y = Application.GetRealHeight(20), Width = Application.GetRealWidth(500), Height = Application.GetRealHeight(80), - Text = Language.StringByID(R.MyInternationalizationString.Favorite), + Text = room.Name, TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, TextSize = 18, }; roomBackView.AddChidren(roomName); - var roomListBtn = new Button() + 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" + UnSelectedImagePath = "Item/List.png", }; roomBackView.AddChidren(roomListBtn); + + roomListBtn.MouseUpEventHandler += (send, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var editRoom = new Device.Room.EditRoom(); + HomePage.Instance.AddChidren(editRoom); + HomePage.Instance.PageIndex += 1; + editRoom.Show(room); + editRoom.action += () => + { + Show(); + }; + }; } 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); - - //鍔熻兘 - functionBtn = new Button() - { - X = Application.GetRealWidth(30), - Y=Application.GetRealHeight(12), - Width = Application.GetRealWidth(350), - Height = Application.GetRealHeight(100), - TextColor = ZigbeeColor.Current.GXCTextGrayColor3, - SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextID = R.MyInternationalizationString.Function, - IsSelected = true - }; - functionSceneView.AddChidren(functionBtn); //鍦烘櫙 var sceneBtn = new Button() { - X = Application.GetRealWidth(430), + X = Application.GetRealWidth(30), Y = Application.GetRealHeight(12), - Width = Application.GetRealWidth(360), + Width = Application.GetRealWidth(350), Height = Application.GetRealHeight(100), TextColor = ZigbeeColor.Current.GXCTextGrayColor3, SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, @@ -815,13 +718,27 @@ }; functionSceneView.AddChidren(sceneBtn); + //鍦烘櫙 + functionBtn = new Button() + { + X = Application.GetRealWidth(430), + Y = Application.GetRealHeight(12), + Width = Application.GetRealWidth(360), + Height = Application.GetRealHeight(100), + TextColor = ZigbeeColor.Current.GXCTextGrayColor3, + SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextID = R.MyInternationalizationString.Function, + IsSelected = false + }; + functionSceneView.AddChidren(functionBtn); + //鍔熻兘鍜屽満鏅痓odyView functionSceneBodyView = new FrameLayout() { Y = functionSceneView.Bottom, Height = Application.GetRealHeight(750), Gravity = Gravity.CenterHorizontal, - BackgroundColor=ZigbeeColor.Current.GXCGrayBackgroundColor + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; AddChidren(functionSceneBodyView); @@ -845,7 +762,7 @@ roomPageView.PageChange += (sender, e) => { //鍒囨崲褰撳墠鎴块棿 - Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.Lists[roomPageView.PageIndex]; + Room.CurrentRoom = rList[roomPageView.PageIndex]; RefreshBodyView(); }; } @@ -853,19 +770,17 @@ { ShowNoGatewayTip(); } - + } #endregion #region 鈼� 鍒锋柊____________________________ - + /// <summary> + /// RefreshBodyView + /// </summary> public void RefreshBodyView() { - if (Room.CanInitAllRoom == false) - { - return; - } functionSceneBodyView.RemoveAll(); if (functionBtn.IsSelected) { @@ -875,6 +790,24 @@ { ShowScene(); } + } + + /// <summary> + /// SelectFloor + /// </summary> + /// <param name="sender"></param> + /// <param name="mouseEventArgs"></param> + public void SelectFloor(object sender, MouseEventArgs mouseEventArgs) + { + var floorFL = new Phone.Device.Category.SelectFloor(); + AddChidren(floorFL); + floorFL.Init(35, 153); + floorFL.changeFloor = true; + floorFL.FloorAction = (floorId) => + { + floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); + Show(); + }; } #endregion @@ -975,8 +908,8 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void GoToAddGateWay(object sender, MouseEventArgs mouseEventArgs) { - var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWaySelectForm { }; - selectNewGateWayForm.AddForm(selectNewGateWayForm); + var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm { }; + selectNewGateWayForm.AddForm(); } #endregion @@ -1000,11 +933,13 @@ 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).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - IsMoreLines=true + IsMoreLines = true, + TextAlignment=TextAlignment.Center, + }; functionSceneBodyView.AddChidren(noFunctionTip); } @@ -1028,9 +963,9 @@ else { 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; @@ -1052,33 +987,17 @@ 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) => { if ((sender as Button).IsSelected) { - Shared.Common.Room.GetLoveRoom().DeleteDevice(device.FileName); + Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName); (sender as Button).IsSelected = false; } else { - Shared.Common.Room.GetLoveRoom().AddDevice(device.FileName); + Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName); (sender as Button).IsSelected = true; } if (Room.CurrentRoom.IsLove) @@ -1090,17 +1009,6 @@ //////鍒ゆ柇璁惧鏄惁鏀寔鐨勫睘鎬� 濡傚紑鍏崇瓑鎺у埗 if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) { - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText("寮�"); - lightView.SetDeviceName("lightee"); - //lightView.SetStatu(true); - lightView.IsSelected = true; - lightView.SetCollect(true); - - continue; //绐楀笜 鍗峰笜 var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice; //涓嶄笂闈炶繙绋� @@ -1123,327 +1031,85 @@ rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); } } + var lightView = new FunctionMainView(xx, yy); + itemView.AddChidren(lightView); + lightView.Init(); + lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + lightView.SetStatuText(device.GetDeviceStatu()); + lightView.SetDeviceName(rollerShade.DeviceEpointName); + //lightView.SetStatu(true); + lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; + lightView.SetCollect(true); - var deviceFL = new FrameLayout + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = rollerShade.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - - var closeBtnBG = new Device.CommonForm.SelectedStatuButton() - { - X = deviceName.Right, - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical, - }; - deviceItemFL.AddChidren(closeBtnBG); - - var closeBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(50) + deviceName.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeClose.png", - SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png", - //Visible=false - }; - deviceItemFL.AddChidren(closeBtn); - - var stopBtnBG = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(120) + closeBtn.Right, - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical, - }; - deviceItemFL.AddChidren(stopBtnBG); - var stopBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(120) + closeBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeStop.png", - SelectedImagePath = "WindowCovering/RollerShadeStopSelected.png", - //Visible=false - }; - deviceItemFL.AddChidren(stopBtn); - - var openBtnBG = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(20) + stopBtn.Right, - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical, - }; - deviceItemFL.AddChidren(openBtnBG); - var openBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(120) + stopBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png", - SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png", - //Visible=false - }; - deviceItemFL.AddChidren(openBtn); - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //*****鍏堥殣钘�***** - //deviceItemFL.AddChidren(collectionBtn); - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = device, - IsMoreLines = true - }; - - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if (Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - if (rollerShade.WcdType == -1) - { - CommonPage.Loading.Start(); - new System.Threading.Thread(() => + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) { - ZigBee.Device.Rollershade.ReadWcdTypeAction(rollerShade, () => + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => { - Application.RunOnMainThread(() => + if (Parent == null) { - if (rollerShade.WcdType == 0) - { - closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeDown.png"; - closeBtn.SelectedImagePath = "WindowCovering/RollerShadeDownSelected.png"; - openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeUp.png"; - openBtn.SelectedImagePath = "WindowCovering/RollerShadeUpSelected.png"; - } - else - { - closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeClose.png"; - closeBtn.SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png"; - openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png"; - openBtn.SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png"; - } - CommonPage.Loading.Hide(); - }); + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } }); - }) - { IsBackground = true }.Start(); - } - else if (rollerShade.WcdType == 0) - { - closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeDown.png"; - closeBtn.SelectedImagePath = "WindowCovering/RollerShadeDownSelected.png"; - openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeUp.png"; - openBtn.SelectedImagePath = "WindowCovering/RollerShadeUpSelected.png"; - } - else - { - closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeClose.png"; - closeBtn.SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png"; - openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png"; - openBtn.SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png"; - } + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); - EventHandler<MouseEventArgs> curtainHandler = (sender, e) => + ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + lightView.CardBG.MouseUpEventHandler += (sender, e) => { - var curtain = new Phone.Device.Curtain.RollerShadeControl(); - UserView.HomePage.Instance.ScrollEnabled = false; - UserView.HomePage.Instance.AddChidren(curtain); + CommonPage.Instance.IsDrawerLockMode = true; + var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); + UserView.HomePage.Instance.AddChidren(rollerShadeControl); UserView.HomePage.Instance.PageIndex += 1; - curtain.action = RefreshBodyView; - curtain.Show(device, Room.CurrentRoom); + UserView.HomePage.Instance.ScrollEnabled = false; + //rollerShadeControl.action = RefreshBodyView; + rollerShadeControl.Show(device, Room.CurrentRoom); }; - deviceItemFL.MouseUpEventHandler += curtainHandler; - //deviceItemFL.MouseLongEventHandler += curtainHandler; - deviceIMG.MouseUpEventHandler += curtainHandler; - deviceName.MouseUpEventHandler += curtainHandler; - //绐楀笜鍏� - closeBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - rollerShade.CurtainUpDownStopControl(1); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //绐楀笜鍋� - stopBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - rollerShade.CurtainUpDownStopControl(2); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //绐楀笜寮� - openBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - rollerShade.CurtainUpDownStopControl(0); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //collectionBtn.MouseUpEventHandler += (sender, e) => - //{ - // if (collectionBtn.IsSelected) - // { - // Room.Lists[0].DeleteDevice(device.FilePath); - // collectionBtn.IsSelected = false; - // } - // else - // { - // Room.Lists[0].AddDevice(device.FilePath); - // collectionBtn.IsSelected = true; - // } - // //RefreshBodyView(); - //}; - collectionBtn.MouseUpEventHandler += collectionEvent; - //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj==device.FilePath); - //if(dev==null) - //{ - // collectionBtn.IsSelected = false; - //} - //else - //{ - // collectionBtn.IsSelected = true; - //} - - ////寮�鍏冲仠鎸夐挳鏄惁鏄剧ず - //foreach(var command in commandList) - //{ - // if (command == null) - // { - // continue; - // } - // if (command.commandId==0) - // { - // openBtn.Visible = true; - // } - // else if(command.commandId==1) - // { - // openBtn.Visible = true; - // } - // else if(command.commandId==2) - // { - // stopBtn.Visible = true; - // } - //} + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) { @@ -1473,14 +1139,14 @@ } } - 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(CommonFormResouce.GetSwitchStatu(light.OnOffStatus==1)); + 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) @@ -1504,7 +1170,7 @@ light.SwitchControl(1); - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); ((sender as Button).Parent as FunctionMainView).IsSelected = true; //鎺у埗寤舵椂鍥炶皟 @@ -1530,7 +1196,7 @@ light.SwitchControl(0); - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); ((sender as Button).Parent as FunctionMainView).IsSelected = false; //鎺у埗寤舵椂鍥炶皟 @@ -1551,11 +1217,31 @@ lightView.CardBG.MouseUpEventHandler += (sender, e) => { - var lightControl = new Phone.Device.Light.LightControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); + CommonPage.Instance.IsDrawerLockMode = true; + if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + var lightControl = new Phone.Device.Light.OnOffControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + } + else if (device.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(device, 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(device, Room.CurrentRoom); + } }; lightView.CollectButton.MouseUpEventHandler += collectionEvent; @@ -1563,22 +1249,8 @@ } else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) { - - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText("寮�"); - lightView.SetDeviceName("airSwitch"); - //lightView.SetStatu(true); - lightView.IsSelected = true; - lightView.SetCollect(true); - - continue; - //绌烘皵寮�鍏� var airSwitch = device.CommonDevice as AirSwitch; - //琛ヤ笂闈炶繙绋� if (airSwitch.Gateway == null) { @@ -1598,99 +1270,25 @@ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - airSwitch.ReadOnOffStatus(); airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + airSwitch.ReadOnOffStatus(); } } - var deviceFL = new FrameLayout - { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); + var lightView = new FunctionMainView(xx, yy); + itemView.AddChidren(lightView); + lightView.Init(); + lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + lightView.SetStatuText(device.GetDeviceStatu()); + lightView.SetDeviceName(airSwitch.DeviceEpointName); + //lightView.SetStatu(true); + lightView.IsSelected = airSwitch.OnOffStatus == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - var deviceItemFL = new FrameLayout() + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = airSwitch.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //***鍏堥殣钘�****** - //deviceItemFL.AddChidren(collectionBtn); - var switchBtnBG = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(250), - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtnBG); - var switchBtn = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(200), - //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = airSwitch.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - //Visible=false - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => - { - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) { zbGateway = device.CommonDevice.Gateway; sendedControlCommand = false; @@ -1699,8 +1297,11 @@ airSwitch.SwitchControl(1); - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => { if (Parent == null) { @@ -1722,8 +1323,11 @@ airSwitch.SwitchControl(0); - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => { if (Parent == null) { @@ -1738,86 +1342,20 @@ } }; - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton + lightView.CardBG.MouseUpEventHandler += (sender, e) => { - Tag = device, - IsMoreLines = true - }; - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if (Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - - EventHandler<MouseEventArgs> airSwitchHandler = (sender, e) => - { - var airSwitchControl = new Phone.Device.AirSwitch.AirSwitchControl(); - UserView.HomePage.Instance.AddChidren(airSwitchControl); + CommonPage.Instance.IsDrawerLockMode = true; + var lightControl = new Phone.Device.Light.AirSwitchControl(); + UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - airSwitchControl.action = RefreshBodyView; - airSwitchControl.Show(device, Room.CurrentRoom); + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); }; - //deviceItemFL.MouseLongEventHandler += airSwitchHandler; - deviceItemFL.MouseUpEventHandler += airSwitchHandler; - deviceName.MouseUpEventHandler += airSwitchHandler; - deviceIMG.MouseUpEventHandler += airSwitchHandler; - //collectionBtn.MouseUpEventHandler += (sender, e) => - //{ - // if (collectionBtn.IsSelected) - // { - // Room.Lists[0].DeleteDevice(device.FilePath); - // collectionBtn.IsSelected = false; - // if(Room.CurrentRoom==Room.Lists[0]) - // { - // RefreshBodyView(); - // } - // } - // else - // { - // Room.Lists[0].AddDevice(device.FilePath); - // collectionBtn.IsSelected = true; - // } - // //RefreshBodyView(); - //}; - collectionBtn.MouseUpEventHandler += collectionEvent; - - //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); - //if (dev == null) - //{ - // collectionBtn.IsSelected = false; - //} - //else - //{ - // collectionBtn.IsSelected = true; - //} + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) { - - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText("寮�"); - lightView.SetDeviceName("绌鸿皟"); - //lightView.SetStatu(true); - lightView.IsSelected = true; - lightView.SetCollect(true); - - continue; //鎭掓俯鍣�-AC-绌鸿皟 var ac = device.CommonDevice as AC; @@ -1838,6 +1376,8 @@ ac.ReadAutoSetpoint(); ac.ReadFanMode(); ac.ReadSystemMode(); + ac.ReadSystemFansSwingMode(); + ac.ReadModeSupport(); }); } else @@ -1852,239 +1392,23 @@ ac.ReadAutoSetpoint(); ac.ReadFanMode(); ac.ReadSystemMode(); + ac.ReadSystemFansSwingMode(); + ac.ReadModeSupport(); } } + 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 = ac.currentSystemMode != 0; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - var deviceFL = new FrameLayout + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); - - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = ac.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //***鍏堥殣钘�****** - //deviceItemFL.AddChidren(collectionBtn); - - //鍑� - var reduceBtnBG = new Device.CommonForm.SelectedStatuButton() - { - X = deviceName.Right, - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical, - }; - deviceItemFL.AddChidren(reduceBtnBG); - - var reduceBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(30) + deviceName.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Reduce.png", - SelectedImagePath = "Item/ReduceSelected.png", - }; - deviceItemFL.AddChidren(reduceBtn); - //褰撳墠娓╁害 - var currentTemperatureBtn = new Button() - { - X = Application.GetRealWidth(50) + reduceBtn.Right, - Width = Application.GetRealWidth(200), - Height = Application.GetRealHeight(110), - Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.TextBlack, - TextSize = 16, - Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} 掳C", - Tag = "Temparetrue" - }; - deviceItemFL.AddChidren(currentTemperatureBtn); - reduceBtn.MouseUpEventHandler += (send2, e2) => - { - if (Device.AC.ACControlBase.IsOpen(ac) == false) - { - Device.AC.ACControlBase.ShowACIsCloseTip(); - return; - } - //cool - if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) - { - if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low) - { - return; - } - ac.currentCoolingSetpoint -= 1; - ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; - } - //heat - else if (ac.currentSystemMode == 4) - { - if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low) - { - return; - } - ac.currentHeatingSetpoint -= 1; - ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; - } - else if (ac.currentSystemMode == 1) - { - if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low) - { - return; - } - ac.currentAutoSetpoint -= 1; - ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; - } - //auto - //dry - //currentTemperatureBtn.Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} 掳C"; - }; - - var addBtnBG = new Device.CommonForm.SelectedStatuButton() - { - X = currentTemperatureBtn.Right, - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(addBtnBG); - - var addBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(30) + currentTemperatureBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Add.png", - SelectedImagePath = "Item/AddSelected.png", - }; - deviceItemFL.AddChidren(addBtn); - - addBtn.MouseUpEventHandler += (send2, e2) => - { - if (Device.AC.ACControlBase.IsOpen(ac) == false) - { - Device.AC.ACControlBase.ShowACIsCloseTip(); - return; - } - //cool - if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) - { - if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High) - { - return; - } - ac.currentCoolingSetpoint += 1; - ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; - } - //heat - else if (ac.currentSystemMode == 4) - { - if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High) - { - return; - } - ac.currentHeatingSetpoint += 1; - ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; - } - else if (ac.currentSystemMode == 1) - { - if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High) - { - return; - } - ac.currentAutoSetpoint += 1; - ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; - } - - }; - - var switchBtnBG = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(250), - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(250), - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtnBG); - var switchBtn = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(200), - //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = ac.currentSystemMode != 0, - Tag = deviceStatus_OnOffStatus, - //Visible=false - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => - { - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) { zbGateway = device.CommonDevice.Gateway; sendedControlCommand = false; @@ -2093,20 +1417,23 @@ ac.Open(); - //鎺у埗寤舵椂鍥炶皟 - //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - //{ - // if (Parent == null) - // { - // return; - // } - // RemoveUpdateControlDeviceStatuAction(zbGateway); - // if (sendedControlCommand == false) - // { - // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - // } - //}); - } + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } else { zbGateway = device.CommonDevice.Gateway; @@ -2116,57 +1443,36 @@ ac.Close(); - //鎺у埗寤舵椂鍥炶皟 - //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - //{ - // if (Parent == null) - // { - // return; - // } - // RemoveUpdateControlDeviceStatuAction(zbGateway); - // if (sendedControlCommand == false) - // { - // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - // } - //}); - } + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } }; - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton + lightView.CardBG.MouseUpEventHandler += (sender, e) => { - Tag = device, - IsMoreLines = true - }; - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if (Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - - EventHandler<MouseEventArgs> acHandler = (sender, e) => - { - var acControl = new Phone.Device.AC.ACControl { }; - UserView.HomePage.Instance.AddChidren(acControl); + CommonPage.Instance.IsDrawerLockMode = true; + var lightControl = new Phone.Device.AC.ACControl(); + UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - acControl.action = RefreshBodyView; - acControl.Show(device, Room.CurrentRoom); + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); }; - //deviceItemFL.MouseLongEventHandler += acHandler; - deviceItemFL.MouseUpEventHandler += acHandler; - deviceName.MouseUpEventHandler += acHandler; - deviceIMG.MouseUpEventHandler += acHandler; + + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) { @@ -2200,7 +1506,7 @@ itemView.AddChidren(lightView); lightView.Init(); lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(CommonFormResouce.GetSwitchStatu(dimmableLight.OnOffStatus == 1)); + lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.IsSelected = dimmableLight.OnOffStatus == 1; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); @@ -2227,7 +1533,7 @@ dimmableLight.SwitchControl(1); - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); ((sender as Button).Parent as FunctionMainView).IsSelected = true; //鎺у埗寤舵椂鍥炶皟 @@ -2253,7 +1559,7 @@ dimmableLight.SwitchControl(0); - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); ((sender as Button).Parent as FunctionMainView).IsSelected = false; //鎺у埗寤舵椂鍥炶皟 @@ -2274,32 +1580,91 @@ 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.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; + } + 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); + 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); lightView.Init(); lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText("寮�"); - lightView.SetDeviceName("鎸夐敭"); - //lightView.SetStatu(true); - lightView.IsSelected = true; - lightView.SetCollect(true); + lightView.SetStatuText(device.GetDeviceStatu()); + lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); + lightView.CanControl(false); + lightView.IsSelected = device.CommonDevice.IsOnline == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - continue; - //鎸夐敭 - var panel = (Panel)device.CommonDevice; - + 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; } } } @@ -2326,11 +1691,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).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - IsMoreLines=true + IsMoreLines = true }; functionSceneBodyView.AddChidren(noScenceTip); } @@ -2352,9 +1717,9 @@ } 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); @@ -2376,95 +1741,73 @@ var sceneView = new SceneMainView(xx, yy); itemView.AddChidren(sceneView); - sceneView.Init(); - sceneView.SetSceneNameText(scene.Name); - sceneView.SetIcon($"SceneIcon/{i}.png"); - sceneView.SetCollect(scene.IsCollected); - - 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) => - { - 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