From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs | 154 ++++++++++++++++++++++++++------------------------- 1 files changed, 79 insertions(+), 75 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs index d9e47fd..4bbe8a8 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs @@ -1,12 +1,11 @@ 锘縰sing System; using Shared.Common; -using Shared.Phone.Device.DeviceLogic; using Shared.Phone.UserCenter; using ZigBee.Device; namespace Shared.Phone.Device.CommonForm { - public class RoomView : FrameLayout + public class RoomView : FrameLayoutBase { /// <summary> /// Room @@ -22,12 +21,12 @@ Button temperatureText; Button humidityText; - /// <summary> - /// 娓╁害璁惧 + /// <summary> + /// 娓╁害璁惧 /// </summary> private CommonDevice temperDevice = null; - /// <summary> - /// 婀垮害璁惧 + /// <summary> + /// 婀垮害璁惧 /// </summary> private CommonDevice humidDevice = null; @@ -54,9 +53,9 @@ this.room = r; - this.temperDevice = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); + this.temperDevice = HdlDeviceCommonLogic.Current.GetDevice(room.TemperatrueDevice); - this.humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); + this.humidDevice = HdlDeviceCommonLogic.Current.GetDevice(room.HumidityDevice); var roomBackView = new FrameLayout() { @@ -122,8 +121,8 @@ var temperatureIcon = new Button { X = Application.GetRealWidth(12), - Width = Application.GetMinRealAverage(58), - Height = Application.GetMinRealAverage(58), + Width = this.GetPictrueRealSize(58), + Height = this.GetPictrueRealSize(58), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Room/Temperature.png" }; @@ -137,10 +136,11 @@ TextSize = 14, TextAlignment = TextAlignment.CenterLeft }; - if (LocalDevice.Current.GetDevice(room.TemperatrueDevice) != null) - { - //杩欎釜璁惧瑕佸瓨鍦ㄦ湰鍦版墠琛� - temperatureText.Text = room.Temperatrue == 0 ? "0.0鈩�" : room.Temperatrue.ToString() + "鈩�"; + if (this.temperDevice != null) + { + //杩欎釜璁惧瑕佸瓨鍦ㄦ湰鍦版墠琛� + decimal temperatrue = (decimal)temperDevice.GetType().InvokeMember("currentTemperature", System.Reflection.BindingFlags.GetField, null, temperDevice, null); + temperatureText.Text = temperatrue == 0 ? "0.0鈩�" : temperatrue.ToString() + "鈩�"; } roomTemperatureBackground.AddChidren(temperatureText); temperatureText.Width = temperatureText.GetTextWidth() + Application.GetRealWidth(60); @@ -148,8 +148,8 @@ var humidityIcon = new Button { X = temperatureText.Right, - Width = Application.GetMinRealAverage(58), - Height = Application.GetMinRealAverage(58), + Width = this.GetPictrueRealSize(58), + Height = this.GetPictrueRealSize(58), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Room/Humidity.png" }; @@ -163,34 +163,36 @@ TextSize = 14, TextAlignment = TextAlignment.CenterLeft }; - if (LocalDevice.Current.GetDevice(room.HumidityDevice) != null) - { - //杩欎釜璁惧瑕佸瓨鍦ㄦ湰鍦版墠琛� - humidityText.Text = room.Humidity == 0 ? "0.0%" : room.Humidity.ToString() + "%"; + + if (this.humidDevice != null) + { + //杩欎釜璁惧瑕佸瓨鍦ㄦ湰鍦版墠琛� + decimal humidity = (decimal)humidDevice.GetType().InvokeMember("currentHumidity", System.Reflection.BindingFlags.GetField, null, humidDevice, null); + humidityText.Text = humidity == 0 ? "0.0%" : humidity.ToString() + "%"; } roomTemperatureBackground.AddChidren(humidityText); humidityText.Width = humidityText.GetTextWidth() + Application.GetRealWidth(60); roomTemperatureBackground.Width = (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)) > Application.GetRealWidth(600) ? Application.GetRealWidth(600) : (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)); if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) - { + { //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 - var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); - ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev); + var dev = HdlDeviceCommonLogic.Current.GetDevice(room.TemperatrueDevice); + HdlDeviceAttributeLogic.Current.SendTemperatureStatuComand(dev); } if (string.IsNullOrEmpty(room.HumidityDevice) == false) { - var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); - ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev); + var dev = HdlDeviceCommonLogic.Current.GetDevice(room.HumidityDevice); + HdlDeviceAttributeLogic.Current.SendHumidityStatuComand(dev); } roomListBtn = new Button() { X = roomBackView.Width - Application.GetRealWidth(100 + 20), Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(100), - Height = Application.GetMinRealAverage(100), + Width = this.GetPictrueRealSize(100), + Height = this.GetPictrueRealSize(100), UnSelectedImagePath = "Room/List.png", }; roomBackView.AddChidren(roomListBtn); @@ -201,50 +203,52 @@ var form = new UserCenter.Residence.EditorRoomInforForm(); form.AddForm(room); - form.FinishEditorEvent += (roomName2) => - { - //閲嶆柊鍒锋柊鎺т欢 - this.Init(this.room); + form.FinishEditorEvent += (roomName2) => + { + //閲嶆柊鍒锋柊鎺т欢 + this.Init(this.room); }; }; //璁惧灞炴�т笂鎶� - HdlGatewayReceiveLogic.Current.AddAttributeEvent("RoomView" + this.room.Id, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) => + HdlGatewayReceiveLogic.Current.AddAttributeEvent("RoomView" + this.room.Id, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) => { - if (this.temperDevice != null) - { - //娓╁害璁惧 - if (report.DeviceAddr == temperDevice.DeviceAddr && report.DeviceEpoint == temperDevice.DeviceEpoint) - { - HdlThreadLogic.Current.RunMain(() => - { - if (((TemperatureSensor)temperDevice).Temperatrue == 0) - { - temperatureText.Text = "0.0鈩�"; - } - else - { - temperatureText.Text = ((TemperatureSensor)temperDevice).Temperatrue + "鈩�"; - } - }, ShowErrorMode.NO); - } + if (this.temperDevice != null) + { + //娓╁害璁惧 + if (report.DeviceAddr == temperDevice.DeviceAddr && report.DeviceEpoint == temperDevice.DeviceEpoint) + { + HdlThreadLogic.Current.RunMain(() => + { + decimal temperatrue = (decimal)temperDevice.GetType().InvokeMember("currentTemperature", System.Reflection.BindingFlags.GetField, null, temperDevice, null); + if (temperatrue == 0) + { + temperatureText.Text = "0.0鈩�"; + } + else + { + temperatureText.Text = temperatrue + "鈩�"; + } + }, ShowErrorMode.NO); + } } - if (this.humidDevice != null) - { - //婀垮害璁惧 - if (report.DeviceAddr == humidDevice.DeviceAddr && report.DeviceEpoint == humidDevice.DeviceEpoint) - { - HdlThreadLogic.Current.RunMain(() => - { - if (((TemperatureSensor)temperDevice).Humidity == 0) - { - humidityText.Text = "--%"; - } - else - { - humidityText.Text = ((TemperatureSensor)temperDevice).Humidity + "%"; - } - }, ShowErrorMode.NO); - } + if (this.humidDevice != null) + { + //婀垮害璁惧 + if (report.DeviceAddr == humidDevice.DeviceAddr && report.DeviceEpoint == humidDevice.DeviceEpoint) + { + HdlThreadLogic.Current.RunMain(() => + { + decimal humidity = (decimal)humidDevice.GetType().InvokeMember("currentHumidity", System.Reflection.BindingFlags.GetField, null, humidDevice, null); + if (humidity == 0) + { + humidityText.Text = "--%"; + } + else + { + humidityText.Text = humidity + "%"; + } + }, ShowErrorMode.NO); + } } }); } @@ -255,15 +259,15 @@ public void HideName(bool statu) { roomNameBackground.Visible = roomTemperatureBackground.Visible = roomListBtn.Visible = !statu; - } - - /// <summary> - /// - /// </summary> - public override void RemoveFromParent() - { - HdlGatewayReceiveLogic.Current.RemoveEvent("RoomView" + this.room.Id); - base.RemoveFromParent(); + } + + /// <summary> + /// + /// </summary> + public override void RemoveFromParent() + { + HdlGatewayReceiveLogic.Current.RemoveEvent("RoomView" + this.room.Id); + base.RemoveFromParent(); } } } -- Gitblit v1.8.0