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/UserView/UserHomeView.cs | 283 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 153 insertions(+), 130 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index 0ffd195..44eaab9 100644
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -1,13 +1,13 @@
锘縰sing System;
using System.Collections.Generic;
+using System.Timers;
using Shared.Common;
using Shared.Phone.Device.AC;
-using ZigBee.Device;
using Shared.Phone.Device.CommonForm;
-using Shared.Phone.UserCenter.DoorLock;
-using System.Timers;
using Shared.Phone.Device.DeviceLogic;
using Shared.Phone.UserCenter;
+using Shared.Phone.UserCenter.DoorLock;
+using ZigBee.Device;
namespace Shared.Phone.UserView
{
@@ -254,14 +254,6 @@
//姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
ac.currentSystemMode = attList.AttriButeData;
ac.LastDateTime = DateTime.Now;
- break;
- case 4099:
- var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0');
- var modeStr = value.Substring(value.Length - 5, 5);
- for (int k = 0; k < modeStr.Length; k++)
- {
- ac.listSupportMode[k] = Convert.ToInt32(modeStr[k]) == 49 ? 1 : 0;
- }
break;
}
}
@@ -637,7 +629,7 @@
if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
{
(roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
-
+
}
var functionSceneView = new FrameLayout()
@@ -733,7 +725,7 @@
//鍒囨崲褰撳墠鎴块棿
Room.CurrentRoom = rList[roomPageView.PageIndex];
RefreshBodyView();
-
+
};
}
else
@@ -919,6 +911,7 @@
/// </summary>
private void ShowFunction()
{
+ functionSceneBodyView.RemoveAll();
//閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
var deviceList = Room.CurrentRoom.DeviceUIList;
if (deviceList == null)
@@ -935,7 +928,7 @@
var dList = new List<DeviceUI> { };
foreach(var device in deviceList)
{
- var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice });
+ var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice);
if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�)
{
continue;
@@ -1011,18 +1004,17 @@
})
{ IsBackground = true }.Start();
- var lightView = new FunctionMainView(xx, yy);
- lightView.Tag = device;
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(rollerShade.DeviceEpointName);
- //lightView.SetStatu(true);
- lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
- lightView.SetCollect(true);
+ var functionView = new FunctionMainView(xx, yy);
+ functionView.Tag = device;
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(rollerShade));
+ functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
+ functionView.SetCollect(true);
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1079,18 +1071,22 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
{
CommonPage.Instance.IsDrawerLockMode = true;
var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl();
UserView.HomePage.Instance.AddChidren(rollerShadeControl);
UserView.HomePage.Instance.PageIndex += 1;
UserView.HomePage.Instance.ScrollEnabled = false;
- //rollerShadeControl.action = RefreshBodyView;
+ rollerShadeControl.IsDrawerLockMode = true;
rollerShadeControl.Show(device, Room.CurrentRoom);
+ rollerShadeControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.OnOffOutput)
@@ -1119,27 +1115,26 @@
})
{ IsBackground = true }.Start();
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- 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));
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.IsSelected = light.OnOffStatus == 1;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
- lightView.CollectButton.IsSelected = false;
+ functionView.CollectButton.IsSelected = false;
}
else
{
- lightView.CollectButton.IsSelected = true;
+ functionView.CollectButton.IsSelected = true;
}
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1196,36 +1191,22 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
{
CommonPage.Instance.IsDrawerLockMode = true;
- if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�)
+
+ var lightControl = new Phone.Device.Light.OnOffControl();
+ UserView.HomePage.Instance.AddChidren(lightControl);
+ UserView.HomePage.Instance.PageIndex += 1;
+ lightControl.IsDrawerLockMode = true;
+ lightControl.Show(device, Room.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
{
- var lightControl = new Phone.Device.Light.OnOffControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- }
- else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇)
- {
- var lightControl = new Phone.Device.Light.PlugControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- }
- else
- {
- var lightControl = new Phone.Device.Light.LightControl();
- UserView.HomePage.Instance.AddChidren(lightControl);
- UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
- lightControl.Show(device, Room.CurrentRoom);
- }
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.AirSwitch)
@@ -1254,18 +1235,17 @@
})
{ IsBackground = true }.Start();
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(airSwitch.DeviceEpointName);
- //lightView.SetStatu(true);
- lightView.IsSelected = airSwitch.OnOffStatus == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(airSwitch));
+ functionView.IsSelected = airSwitch.OnOffStatus == 1;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom( device.FileName));
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1322,17 +1302,22 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
{
CommonPage.Instance.IsDrawerLockMode = true;
var lightControl = new Phone.Device.Light.AirSwitchControl();
UserView.HomePage.Instance.AddChidren(lightControl);
UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
+ lightControl.IsDrawerLockMode = true;
lightControl.Show(device, Room.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
+
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.Thermostat)
@@ -1361,17 +1346,17 @@
})
{ IsBackground = true }.Start();
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.IsSelected = ac.currentSystemMode != 0;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.IsSelected = ac.currentSystemMode != 0;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1428,17 +1413,21 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
{
CommonPage.Instance.IsDrawerLockMode = true;
var lightControl = new Phone.Device.AC.ACControl();
UserView.HomePage.Instance.AddChidren(lightControl);
UserView.HomePage.Instance.PageIndex += 1;
- //lightControl.action = RefreshBodyView;
+ lightControl.IsDrawerLockMode = true;
lightControl.Show(device, Room.CurrentRoom);
+ lightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.DimmableLight)
@@ -1469,27 +1458,26 @@
})
{ IsBackground = true }.Start();
- var lightView = new FunctionMainView(xx, yy);
- itemView.AddChidren(lightView);
- lightView.Init();
- lightView.Tag = device;
- lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
- lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
- lightView.IsSelected = dimmableLight.OnOffStatus == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ var functionView = new FunctionMainView(xx, yy);
+ itemView.AddChidren(functionView);
+ functionView.Init();
+ functionView.Tag = device;
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetStatuText(device.GetDeviceStatu());
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.IsSelected = dimmableLight.OnOffStatus == 1;
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
- lightView.CollectButton.IsSelected = false;
+ functionView.CollectButton.IsSelected = false;
}
else
{
- lightView.CollectButton.IsSelected = true;
+ functionView.CollectButton.IsSelected = true;
}
- lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+ functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
{
(sender as Button).IsSelected = !(sender as Button).IsSelected;
if ((sender as Button).IsSelected)
@@ -1546,16 +1534,20 @@
}
};
- lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+ functionView.CardBG.MouseUpEventHandler += (sender, e) =>
{
CommonPage.Instance.IsDrawerLockMode = true;
var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
UserView.HomePage.Instance.AddChidren(dimmableLightControl);
UserView.HomePage.Instance.PageIndex += 1;
- //dimmableLightControl.action = RefreshBodyView;
+ dimmableLightControl.IsDrawerLockMode = true;
dimmableLightControl.Show(device, Room.CurrentRoom);
+ dimmableLightControl.action += (curDev, curRoom) =>
+ {
+ ReFreshEditDeviceAction(device, curRoom, functionView);
+ };
};
- lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+ functionView.CollectButton.MouseUpEventHandler += collectionEvent;
}
}
else if (device.CommonDevice.Type == DeviceType.IASZone)
@@ -1569,12 +1561,11 @@
lightView.Tag = device;
lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
lightView.IsSelected = ias.iASInfo?.Alarm1 == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
lightView.CanControl(false);
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1630,12 +1621,11 @@
lightView.Tag = device;
lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
lightView.IsSelected = false;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
lightView.CanControl(false);
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1657,12 +1647,11 @@
lightView.Tag = device;
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.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ lightView.IsSelected = false;
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
lightView.CanControl(false);
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1689,13 +1678,11 @@
lightView.Tag = device;
lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
lightView.SetStatuText(device.GetDeviceStatu());
- lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+ lightView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
lightView.CanControl(false);
- lightView.IsSelected = device.CommonDevice.IsOnline == 1;
- lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+ lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
- var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
- if (dev == null)
+ if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
{
lightView.CollectButton.IsSelected = false;
}
@@ -1713,6 +1700,40 @@
});
//})
//{ IsBackground = true }.Start();
+ }
+ }
+ }
+
+ /// <summary>
+ /// ReFreshEditDeviceAction
+ /// </summary>
+ /// <param name="device"></param>
+ /// <param name="curRoom"></param>
+ /// <param name="functionView"></param>
+ private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView)
+ {
+ if (Common.Room.CurrentRoom.IsLove)
+ {
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ if (Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
+ {
+ ShowFunction();
+ }
+ }
+ else
+ {
+ if (curRoom.Id != Common.Room.CurrentRoom.Id)
+ {
+
+ Common.Room.CurrentRoom.DeleteDevice(device.FileName);
+ ShowFunction();
+ }
+ else
+ {
+ functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+ functionView.SetDeviceName(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice));
+ functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName));
}
}
}
@@ -1752,6 +1773,7 @@
/// </summary>
private void ShowScene()
{
+ functionSceneBodyView.RemoveAll();
//閫夋嫨鍦烘櫙
var sceneList = Room.CurrentRoom.SceneUIList;
if (sceneList == null)
@@ -1787,8 +1809,9 @@
}
var sceneView = new SceneMainView(xx, yy);
- itemView.AddChidren(sceneView);
sceneView.Init(scene);
+ itemView.AddChidren(sceneView);
+ sceneView.CollectionAction += ShowScene;
}
GetDelayScene(sceneScrolView);
}
--
Gitblit v1.8.0