From 163777d8a2cb7cfa469f54a7042528870ebc10a3 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 09 十二月 2019 17:46:20 +0800 Subject: [PATCH] 一个新版本 --- ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 196 ++++++++++++++++++++++++++---------------------- 1 files changed, 107 insertions(+), 89 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs index 777c8a8..4aaf309 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -7,6 +7,7 @@ using Shared.Phone.Device.CommonForm; using Shared.Phone.Device.AC; using Shared.Phone.UserCenter.DoorLock; +using Shared.Phone.Device.DeviceLogic; namespace Shared.Phone.Device.Category { @@ -828,6 +829,7 @@ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; functionSceneBodyView.AddChidren(functionTypeScrowView); + //functionSceneBodyView.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerBottomLeft); deviceListScrolView = new VerticalScrolViewLayout { @@ -838,7 +840,10 @@ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; functionSceneBodyView.AddChidren(deviceListScrolView); + //deviceListScrolView.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft); + tempFunctionTypeBtn = new FunctionButton(); + tempFunctionTypeBtn.Init("",""); EventHandler<MouseEventArgs> ShowSameTypeFunction = (object typeSender, MouseEventArgs mouseEventArgs) => { @@ -907,8 +912,7 @@ { UserHomeView.ReadStatus(light, () => { - light.ReadOnOffStatus(); - light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); }); } else @@ -916,8 +920,7 @@ //闃叉鐭椂闂村唴澶氭璇诲彇鐘舵�� if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds) { - light.ReadOnOffStatus(); - light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); } } @@ -1002,16 +1005,18 @@ Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) { @@ -1026,16 +1031,14 @@ { UserHomeView.ReadStatus(airSwitch, () => { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); }); } else { if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); } } @@ -1102,16 +1105,19 @@ Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } + } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) { @@ -1126,18 +1132,14 @@ { UserHomeView.ReadStatus(dimmableLight, () => { - dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - dimmableLight.ReadOnOffStatus(); - dimmableLight.ReadLevel(); + ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice); }); } else { if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - dimmableLight.ReadOnOffStatus(); - dimmableLight.ReadLevel(); + ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice); } } @@ -1204,17 +1206,18 @@ Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; - + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) { @@ -1230,16 +1233,7 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� UserView.UserHomeView.ReadStatus(ac, () => { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - ac.ReadAutoSetpoint(); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadSystemFansSwingMode(); - ac.ReadModeSupport(); - ac.ReadCleanStatu(); + ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice); }); } else @@ -1247,16 +1241,7 @@ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - ac.ReadAutoSetpoint(); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadSystemFansSwingMode(); - ac.ReadModeSupport(); - ac.ReadCleanStatu(); + ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice); } } @@ -1313,16 +1298,18 @@ Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { @@ -1347,8 +1334,7 @@ { UserHomeView.ReadStatus(rollerShade, () => { - rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - rollerShade.ReadWcdCurrentPositionLiftPercentage(); + ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice); }); } else @@ -1356,8 +1342,7 @@ //闃叉鐭椂闂村唴澶氭璇诲彇 if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - rollerShade.ReadWcdCurrentPositionLiftPercentage(); + ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice); } } @@ -1400,16 +1385,18 @@ Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI, Radius = 0 }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { @@ -1452,15 +1439,17 @@ { Tag = deviceUI }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } } else { @@ -1484,15 +1473,17 @@ { Tag = deviceUI }; - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() { Tag = deviceUI }; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; + if (room.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } } } }; @@ -1644,7 +1635,6 @@ var sceneView = new SceneCategoryView(0, 0); sceneScrolView.AddChidren(sceneView); sceneView.Init(scene, room); - sceneView.SetViewShadow(true); GetDelayScene(sceneScrolView); } } @@ -1737,14 +1727,26 @@ { IsBackground = true }.Start(); } + /// <summary> + /// GetExecScene + /// </summary> + /// <param name="scrolViewLayout"></param> + private void GetExecScene(VerticalScrolViewLayout scrolViewLayout) + { + new System.Threading.Thread(() => + { + + }) + { IsBackground = true }.Start(); + } #endregion #region 鈼� 鑷姩鍖朹_________________________ - + /// <summary> - /// 鑷姩鍖� + /// 鑷姩鍖栧姛鑳戒唬鐮佸叆鍙� /// </summary> - private async void ShowAutotion() + private void ShowAutotion() { functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; @@ -1758,7 +1760,7 @@ Y = Application.GetRealHeight(30), }; functionSceneAutoBodyView.AddChidren(bjFrameLayout); - bjFrameLayout.SetCornerWithSameRadius(25, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft); + bjFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft); var sigBtn = new Button { Width = Application.GetMinRealAverage(84), @@ -1779,7 +1781,7 @@ TextID = MyInternationalizationString.logictemplate, Gravity = Gravity.CenterVertical, TextColor = ZigbeeColor.Current.LogicBtnSelectedColor, - TextSize=15, + TextSize = 15, }; bjFrameLayout.AddChidren(recommendtextBtn); @@ -1804,7 +1806,7 @@ }; functionSceneAutoBodyView.AddChidren(scenehorizontalScrol); - var logicScrolView = new VerticalScrolViewLayout + var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout { Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, @@ -1813,8 +1815,7 @@ Y = scenehorizontalScrol.Bottom, }; functionSceneAutoBodyView.AddChidren(logicScrolView); - logicScrolView.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft); - + logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); recommendswitchBtn.MouseUpEventHandler += (sender, e) => { @@ -1905,14 +1906,31 @@ logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; Automationview(logicScrolView); }; + logicScrolView.BeginHeaderRefreshingAction += () => + { + //閲嶆柊鍒锋柊logic鍒楄〃 + Common.Logic.LogicList.Clear(); + Read(logicScrolView); + //鍏抽棴鍒锋柊View锛� + logicScrolView.EndHeaderRefreshing(); + }; + + Read(logicScrolView); + } + /// <summary> + /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱 + /// </summary> + /// <param name="logicScrolView"></param> + private async void Read(VerticalRefreshLayout logicScrolView) + { CommonPage.Loading.Start(); if (Common.Logic.LogicList.Count == 0) { var Idlist = await Logic.Send.GetLogicId(0); if (Idlist.Count != 0) { - var listlogic = await Logic.Send.ReadList(Idlist.Count,0); + var listlogic = await Logic.Send.ReadList(Idlist.Count, 0); //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆� for (int j = 0; j < listlogic.Count; j++) { @@ -1928,14 +1946,13 @@ //鑷姩鍖� Automationview(logicScrolView); CommonPage.Loading.Hide(); - - } + } /// <summary> - /// 鑷姩鍖栧垪琛ㄧ晫闈� + /// 鍔犺浇鑷姩鍖栧垪琛ㄧ晫闈� /// </summary> /// <param name="refresview">Refresview.</param> - private async void Automationview(VerticalScrolViewLayout refresview) + private async void Automationview(VerticalRefreshLayout refresview) { refresview.RemoveAll(); foreach (var logic in Common.Logic.LogicList) @@ -2064,7 +2081,7 @@ } /// <summary> - /// 鏄剧ず鍥炬爣鐨勯鑹� + /// 鏄剧ず鑷姩鍖栬緭鍑哄姛鑳芥ā鍧楀浘鏍囩殑棰滆壊 /// </summary> /// <param name="logic"></param> /// <param name="logicRowlayout"></param> @@ -2463,6 +2480,7 @@ } } } + #endregion #region 鈼� 鎺у埗鐘舵�乢________________________ -- Gitblit v1.8.0