From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28
---
ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs | 81 ++++++++++++++++++++++++++--------------
1 files changed, 53 insertions(+), 28 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
index 54e4f18..8e5497c 100644
--- a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using Shared.Common;
using Shared.Phone.Device.CommonForm;
+using Shared.Phone.Device.DeviceLogic;
using Shared.Phone.UserView;
using ZigBee.Device;
namespace Shared.Phone.Device.Light
@@ -19,7 +20,7 @@
/// <summary>
/// The action.
/// </summary>
- public Action action;
+ public Action<DeviceUI, Common.Room> action;
/// <summary>
/// The light image.
@@ -62,6 +63,10 @@
private Button StatuBtn;
+ /// <summary>
+ /// IsDrawerLockMode
+ /// </summary>
+ public bool IsDrawerLockMode;
#endregion
#region 鈼� 鎺ュ彛__________________________
@@ -121,10 +126,10 @@
}
if (deviceUI.CommonDevice.Type == DeviceType.OnOffOutput)
{
- if ((common as ToggleLight).DeviceStatusReport.CluterID == 6)
+ if (common.DeviceStatusReport.CluterID == 6)
{
var light = deviceUI.CommonDevice as ToggleLight;
- light.DeviceStatusReport = (common as ToggleLight).DeviceStatusReport;
+ light.DeviceStatusReport = common.DeviceStatusReport;
//璁板綍銆佹洿鏂扮姸鎬�
if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0)
{
@@ -132,7 +137,7 @@
}
light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
- StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+ StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
light.LastDateTime = DateTime.Now;
}
}
@@ -145,7 +150,30 @@
}
else if (typeTag == "OnlineStatusChange")
{
-
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ var deviceUI = device;
+ //璁惧涓虹┖
+ if (deviceUI.CommonDevice == null)
+ {
+ return;
+ }
+ //鏄惁涓哄綋鍓嶈澶�
+ if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr)
+ {
+ return;
+ }
+ deviceUI.CommonDevice.IsOnline = common.IsOnline;
+ //deviceIMG.IsSelected = switchBtn.IsSelected = deviceUI.CommonDevice.IsOnline == 1;
+ deviceUI.CommonDevice.LastDateTime = DateTime.Now;
+ }
+ catch (Exception ex)
+ {
+ System.Console.WriteLine($"Error:{ex.Message}");
+ }
+ });
}
}
#endregion
@@ -157,8 +185,12 @@
public override void RemoveFromParent()
{
ZbGateway.StatusList.Remove(this);
- action();
+ action(device, room);
action = null;
+ if (IsDrawerLockMode)
+ {
+ CommonPage.Instance.IsDrawerLockMode = false;
+ }
RemoveUpdateControlDeviceStatuAction();
base.RemoveFromParent();
}
@@ -197,8 +229,7 @@
{
UserHomeView.ReadStatus(light, () =>
{
- light.ReadOnOffStatus();
- light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
});
}
else
@@ -206,13 +237,11 @@
//闃叉鐭椂闂村唴澶氭璇诲彇鐘舵��
if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds)
{
- light.ReadOnOffStatus();
- light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+ ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
}
}
- var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (de == null)
+ if(Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
collectionBtn.IsSelected = false;
}
@@ -243,15 +272,6 @@
RemoveFromParent();
};
- var sharedBtn = new Button
- {
- X = Application.GetRealWidth(850),
- Width = Application.GetMinReal(69),
- Height = Application.GetMinReal(69),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = "Item/Shared.png"
- };
- top.topView.AddChidren(sharedBtn);
var moreBtn = new Button
{
@@ -307,9 +327,10 @@
Width=Application.GetRealWidth(500),
Height = Application.GetRealHeight(60),
Gravity = Gravity.CenterHorizontal,
- Text = device.CommonDevice.DeviceEpointName,
+ Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice),
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
- TextSize=15
+ TextSize=15,
+ IsBold=true
};
itemView.AddChidren(deviceNameBtn);
@@ -320,9 +341,11 @@
Height = Application.GetRealHeight(60),
Gravity = Gravity.CenterHorizontal,
TextColor = ZigbeeColor.Current.GXCTextGrayColor,
- Text=CommonFormResouce.GetSwitchStatu(device.CommonDevice.IsOnline==1)
+ Text= $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
+ TextSize =10
};
itemView.AddChidren(StatuBtn);
+
deviceIMG = new Button()
{
@@ -383,7 +406,8 @@
Height = Application.GetRealHeight(50),
Text = room.Name,
TextAlignment = TextAlignment.CenterLeft,
- TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+ TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+ TextSize=12
};
itemView.AddChidren(roomName);
}
@@ -416,7 +440,8 @@
zbGateway.ReportAction += UpdateDeviceControllStatu;
switchBtn.IsSelected = !switchBtn.IsSelected;
deviceIMG.IsSelected = !deviceIMG.IsSelected;
- StatuBtn.Text = CommonFormResouce.GetSwitchStatu(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)}";
+
if (switchBtn.IsSelected == true)
{
(device.CommonDevice as ToggleLight).SwitchControl(1);
@@ -456,9 +481,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);
};
}
--
Gitblit v1.8.0