From 9c607e921ca7c379799e4dd88b140265a1d5d5c5 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 22 十一月 2019 16:35:30 +0800
Subject: [PATCH] 需要合并
---
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 478 +++++++++++++++++++++++++++++------------------------------
1 files changed, 236 insertions(+), 242 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index e31d18c..b20b6e1 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,11 +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 鈼� 鎺ュ彛____________________________
@@ -208,7 +218,7 @@
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.DeviceStatusReport;
@@ -217,29 +227,31 @@
{
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;
@@ -252,8 +264,31 @@
(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;
@@ -294,7 +329,7 @@
{
case 0:
//姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
- dimmableLight.Level = attriButeList[0].AttriButeData ;
+ dimmableLight.Level = attriButeList[0].AttriButeData;
dimmableLight.LastDateTime = DateTime.Now;
(rowFL.GetChildren(0) as FunctionMainView).IsSelected = true;
(rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
@@ -311,7 +346,7 @@
}
});
}
-
+
}
/// <summary>
/// Changeds the IL ogic status.
@@ -367,7 +402,7 @@
#region topview
var topFrameLayout = new FrameLayout()
{
- Y=Application.GetRealHeight(60),
+ Y = Application.GetRealHeight(60),
Height = Application.GetRealHeight(127),
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
};
@@ -385,13 +420,13 @@
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);
@@ -402,13 +437,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),
@@ -417,9 +452,9 @@
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);
@@ -487,7 +522,7 @@
var scrolView = new VerticalScrolViewLayout()
{
Y = changeHomeBtn.Bottom,
- Height = Application.GetMinRealAverage(305-10)
+ Height = Application.GetMinRealAverage(305 - 10)
};
changeHomeFL.AddChidren(scrolView);
@@ -507,7 +542,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,
@@ -526,9 +561,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);
@@ -544,9 +579,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;
@@ -565,7 +600,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
@@ -587,7 +622,7 @@
#endregion
- if(CanBindGateway()==false)
+ if (CanBindGateway() == false)
{
var roomPageView = new PageLayout()
{
@@ -601,82 +636,20 @@
AddChidren(roomPageView);
//褰撳墠鎴块棿
- if (Shared.Common.Room.CanInitAllRoom == true)
+ //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom;
+ var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom();
+ Room.CurrentRoom = rList[0];
+ foreach (var room in rList)
{
- //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom;
- Room.CurrentRoom = Room.Lists[0];
- foreach (var room in Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom())
- {
- 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();
- //};
- if(room.IsLove)
- {
- return;
- }
- var editRoom = new Device.Room.EditRoom();
- HomePage.Instance.AddChidren(editRoom);
- HomePage.Instance.PageIndex += 1;
- editRoom.Show(room);
- editRoom.action += () =>
- {
- Show();
- };
-
- };
- }
- }
- else
- {
- Room.CurrentRoom = Room.Lists[0];
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()
@@ -685,30 +658,42 @@
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) =>
+ {
+ 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);
@@ -746,7 +731,7 @@
Y = functionSceneView.Bottom,
Height = Application.GetRealHeight(750),
Gravity = Gravity.CenterHorizontal,
- BackgroundColor=ZigbeeColor.Current.GXCGrayBackgroundColor
+ BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
AddChidren(functionSceneBodyView);
@@ -770,7 +755,7 @@
roomPageView.PageChange += (sender, e) =>
{
//鍒囨崲褰撳墠鎴块棿
- Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.Lists[roomPageView.PageIndex];
+ Room.CurrentRoom = rList[roomPageView.PageIndex];
RefreshBodyView();
};
}
@@ -789,10 +774,6 @@
/// </summary>
public void RefreshBodyView()
{
- if (Room.CanInitAllRoom == false)
- {
- return;
- }
functionSceneBodyView.RemoveAll();
if (functionBtn.IsSelected)
{
@@ -809,7 +790,7 @@
/// </summary>
/// <param name="sender"></param>
/// <param name="mouseEventArgs"></param>
- public void SelectFloor(object sender,MouseEventArgs mouseEventArgs)
+ public void SelectFloor(object sender, MouseEventArgs mouseEventArgs)
{
var floorFL = new Phone.Device.Category.SelectFloor();
AddChidren(floorFL);
@@ -919,7 +900,7 @@
/// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
private void GoToAddGateWay(object sender, MouseEventArgs mouseEventArgs)
{
- var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWaySelectForm { };
+ var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm { };
selectNewGateWayForm.AddForm(selectNewGateWayForm);
}
@@ -944,11 +925,11 @@
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
};
functionSceneBodyView.AddChidren(noFunctionTip);
}
@@ -972,9 +953,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;
@@ -996,22 +977,6 @@
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) =>
{
@@ -1163,14 +1128,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(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)
@@ -1398,6 +1363,7 @@
ac.ReadAutoSetpoint();
ac.ReadFanMode();
ac.ReadSystemMode();
+ ac.ReadSystemFansSwingMode();
});
}
else
@@ -1412,6 +1378,7 @@
ac.ReadAutoSetpoint();
ac.ReadFanMode();
ac.ReadSystemMode();
+ ac.ReadSystemFansSwingMode();
}
}
var lightView = new FunctionMainView(xx, yy);
@@ -1600,14 +1567,65 @@
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.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) =>
+ {
+ 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);
@@ -1615,9 +1633,20 @@
lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
lightView.SetStatuText(device.GetDeviceStatu());
lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- //lightView.SetStatu(true);
- lightView.IsSelected = true;
+ lightView.CanControl(false);
+ lightView.IsSelected = device.CommonDevice.IsOnline == 1;
lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+
+ 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;
}
}
}
@@ -1644,11 +1673,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);
}
@@ -1670,9 +1699,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);
@@ -1694,108 +1723,73 @@
var sceneView = new SceneMainView(xx, yy);
itemView.AddChidren(sceneView);
- sceneView.Init();
- sceneView.SetSceneNameText(scene.Name);
- sceneView.SetIcon($"SceneIcon/{i}.png");
- sceneView.SetCollect(Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName));
-
- 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) =>
- {
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
- {
- //scene.IsCollected = true;
- Room.CurrentRoom.GetLoveRoom().AddScene(scene);
- }
- else
- {
- //scene.IsCollected = false;
- Room.CurrentRoom.GetLoveRoom().RemoveScene(scene);
- }
- scene.Save();
-
- //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