From 98c998ca98ee014266f65a517d672df0cd97f244 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期三, 25 三月 2020 17:51:18 +0800
Subject: [PATCH] 2020-03-25-1
---
ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs | 108 ++++++++++++++++++++++-------------------------------
1 files changed, 45 insertions(+), 63 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
index 5ffffc4..504214d 100755
--- a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
@@ -20,7 +20,7 @@
/// <summary>
/// The action.
/// </summary>
- public Action action;
+ public Action<CommonDevice, Common.Room> action;
/// <summary>
/// The light image.
@@ -33,7 +33,7 @@
/// <summary>
/// 浼犺繃鏉ョ殑璁惧
/// </summary>
- private DeviceUI device;
+ private CommonDevice device;
/// <summary>
/// 浼犺繃鏉ョ殑鎴块棿
/// </summary>
@@ -70,31 +70,7 @@
#endregion
#region 鈼� 鎺ュ彛__________________________
- /// <summary>
- /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
- /// </summary>
- /// <returns>The changed.</returns>
- /// <param name="common">Common.</param>
- public void Changed(CommonDevice common)
- {
-
- }
- /// <summary>
- /// Changeds the IL ogic status.
- /// </summary>
- /// <param name="logic">Logic.</param>
- public void ChangedILogicStatus(ZigBee.Device.Logic logic)
- {
- //throw new NotImplementedException();
- }
- /// <summary>
- /// Changeds the IS cene status.
- /// </summary>
- /// <param name="scene">Scene.</param>
- public void ChangedISceneStatus(Scene scene)
- {
- //throw new NotImplementedException();
- }
+
/// <summary>
/// 璁惧鐘舵�佹洿鏂版帴鍙�
/// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para>
@@ -115,20 +91,20 @@
{
var deviceUI = device;
//璁惧涓虹┖
- if (deviceUI.CommonDevice == null)
+ if (deviceUI == null)
{
return;
}
//鏄惁涓哄綋鍓嶈澶�
- if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr)
+ if (deviceUI.DeviceEpoint != common.DeviceEpoint || deviceUI.DeviceAddr != common.DeviceAddr)
{
return;
}
- if (deviceUI.CommonDevice.Type == DeviceType.OnOffOutput)
+ if (deviceUI.Type == DeviceType.OnOffOutput)
{
if (common.DeviceStatusReport.CluterID == 6)
{
- var light = deviceUI.CommonDevice as ToggleLight;
+ var light = deviceUI as ToggleLight;
light.DeviceStatusReport = common.DeviceStatusReport;
//璁板綍銆佹洿鏂扮姸鎬�
if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0)
@@ -137,7 +113,7 @@
}
light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
- StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
+ StatuBtn.Text = Language.StringByID(R.MyInternationalizationString.Current) + " " + UserCenter.HdlDeviceOtherLogic.Current.GetDeviceStatu(device);
light.LastDateTime = DateTime.Now;
}
}
@@ -156,18 +132,17 @@
{
var deviceUI = device;
//璁惧涓虹┖
- if (deviceUI.CommonDevice == null)
+ if (deviceUI == null)
{
return;
}
//鏄惁涓哄綋鍓嶈澶�
- if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr)
+ if (deviceUI.DeviceEpoint != common.DeviceEpoint || deviceUI.DeviceAddr != common.DeviceAddr)
{
return;
}
- deviceUI.CommonDevice.IsOnline = common.IsOnline;
- //deviceIMG.IsSelected = switchBtn.IsSelected = deviceUI.CommonDevice.IsOnline == 1;
- deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ deviceUI.IsOnline = common.IsOnline;
+ deviceUI.LastDateTime = DateTime.Now;
}
catch (Exception ex)
{
@@ -185,8 +160,8 @@
public override void RemoveFromParent()
{
ZbGateway.StatusList.Remove(this);
- //action();
- //action = null;
+ action(device, room);
+ action = null;
if (IsDrawerLockMode)
{
CommonPage.Instance.IsDrawerLockMode = false;
@@ -208,10 +183,10 @@
/// </summary>
/// <param name="dev">Device.</param>
/// <param name="room">Room.</param>
- public void Show(DeviceUI dev,Shared.Common.Room room)
+ public void Show(CommonDevice dev,Shared.Common.Room room)
{
device = dev;
- zbGateway = this.device.CommonDevice.Gateway;
+ zbGateway = this.device.Gateway;
this.room = room;
AddTop();
@@ -219,7 +194,7 @@
AddBodyView(device);
- var light = dev.CommonDevice as ToggleLight;
+ var light = dev as ToggleLight;
//琛ヤ笂闈炶繙绋�
if (light.Gateway == null)
{
@@ -229,7 +204,7 @@
{
UserHomeView.ReadStatus(light, () =>
{
- ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device);
});
}
else
@@ -237,12 +212,11 @@
//闃叉鐭椂闂村唴澶氭璇诲彇鐘舵��
if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
{
- ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device);
}
}
- var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (de == null)
+ if(UserCenter.HdlRoomLogic.Current.IsCollectInRoom(device) == false)
{
collectionBtn.IsSelected = false;
}
@@ -290,7 +264,7 @@
/// <summary>
/// AddBodyView
/// </summary>
- public void AddBodyView(DeviceUI device)
+ public void AddBodyView(CommonDevice device)
{
bodyFrameLayout = new FrameLayout()
{
@@ -328,7 +302,7 @@
Width=Application.GetRealWidth(500),
Height = Application.GetRealHeight(60),
Gravity = Gravity.CenterHorizontal,
- Text = device.CommonDevice.DeviceEpointName,
+ Text = Common.LocalDevice.Current.GetDeviceEpointName(device),
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
TextSize=15,
IsBold=true
@@ -342,8 +316,8 @@
Height = Application.GetRealHeight(60),
Gravity = Gravity.CenterHorizontal,
TextColor = ZigbeeColor.Current.GXCTextGrayColor,
- Text= $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
- TextSize =10
+ Text = Language.StringByID(R.MyInternationalizationString.Current) + " " + UserCenter.HdlDeviceOtherLogic.Current.GetDeviceStatu(device),
+ TextSize = 10
};
itemView.AddChidren(StatuBtn);
@@ -356,7 +330,7 @@
Gravity = Gravity.CenterHorizontal,
UnSelectedImagePath = "Light/DeskLamp.png",
SelectedImagePath = "Light/DeskLampSelected.png",
- IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1
+ IsSelected = (device as ToggleLight).OnOffStatus == 1
};
itemView.AddChidren(deviceIMG);
@@ -368,7 +342,7 @@
Gravity = Gravity.CenterHorizontal,
UnSelectedImagePath = "Item/Switch.png",
SelectedImagePath = "Item/SwitchSelected.png",
- IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1
+ IsSelected = (device as ToggleLight).OnOffStatus == 1
};
itemView.AddChidren(switchBtn);
@@ -441,18 +415,26 @@
zbGateway.ReportAction += UpdateDeviceControllStatu;
switchBtn.IsSelected = !switchBtn.IsSelected;
deviceIMG.IsSelected = !deviceIMG.IsSelected;
- StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
+ StatuBtn.Text = Language.StringByID(R.MyInternationalizationString.Current) + " ";
+ if (deviceIMG.IsSelected == true)
+ {
+ StatuBtn.Text += Language.StringByID(R.MyInternationalizationString.uOpen1);
+ }
+ else
+ {
+ StatuBtn.Text += Language.StringByID(R.MyInternationalizationString.Close);
+ }
if (switchBtn.IsSelected == true)
{
- (device.CommonDevice as ToggleLight).SwitchControl(1);
+ (device as ToggleLight).SwitchControl(1);
}
else
{
- (device.CommonDevice as ToggleLight).SwitchControl(0);
+ (device as ToggleLight).SwitchControl(0);
}
//鎺у埗寤舵椂鍥炶皟
- DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
+ UserCenter.HdlDeviceOtherLogic.Current.SendCommandDelayAction(device, () =>
{
if(Parent==null)
{
@@ -461,7 +443,7 @@
RemoveUpdateControlDeviceStatuAction();
if (sendedControlCommand==false)
{
- DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+ UserCenter.HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL);
}
});
}
@@ -482,9 +464,9 @@
UserView.HomePage.Instance.AddChidren(detailInfo);
UserView.HomePage.Instance.PageIndex += 1;
detailInfo.Show(device, room);
- detailInfo.action = () =>
+ detailInfo.EditAction += (curDev, curRoom) =>
{
- Show(device, room);
+ Show(curDev, curRoom);
};
}
@@ -501,12 +483,12 @@
//collection
if ((sender as Button).IsSelected)
{
- Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName);
+ UserCenter.HdlRoomLogic.Current.DeleteLoveDevice(device);
(sender as Button).IsSelected = false;
}
else
- {
- Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName);
+ {
+ UserCenter.HdlRoomLogic.Current.AddLoveDevice(device);
(sender as Button).IsSelected = true;
}
}
@@ -531,7 +513,7 @@
return;
}
var tempDevice = (CommonDevice)objValue;
- if (tempDevice.DeviceEpoint != this.device.CommonDevice.DeviceEpoint || tempDevice.DeviceAddr != this.device.CommonDevice.DeviceAddr)
+ if (tempDevice.DeviceEpoint != this.device.DeviceEpoint || tempDevice.DeviceAddr != this.device.DeviceAddr)
{
//涓嶆槸褰撳墠璁惧鐨勬帹閫侊紝鍒欎笉澶勭悊
return;
--
Gitblit v1.8.0