From 03ff92ba7d9f06583f3a292ecb2077cf01e5a5ca Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 10 一月 2020 12:00:15 +0800
Subject: [PATCH] 2019.1.10
---
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 3
ZigbeeApp/Shared/Common/SceneUI.cs | 1
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml | 35 ++++--
ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs | 103 +++++++++++---------
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide | 0
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs | 24 +++-
ZigbeeApp/Shared/Common/Room.cs | 121 ++++++++++++++++++++----
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs | 3
ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs | 2
9 files changed, 205 insertions(+), 87 deletions(-)
diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
index 6fcc2d4..c2a0c08 100644
--- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
+++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -2,18 +2,18 @@
<MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.M7BBB18B19152766" />
<MonoDevelop.Ide.ItemProperties.GateWay.Ios automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.8c0bdb303f25d82c2a42fb8bfca449bfaca00260" />
<MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" />
- <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserView/UserPage.cs">
+ <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Room/RoomManagement.cs">
<Files>
- <File FileName="Shared/R.cs" Line="1366" Column="1" />
+ <File FileName="Shared/R.cs" Line="1364" Column="1" />
<File FileName="GateWay.Droid/Assets/Language.ini" />
<File FileName="Shared/Phone/UserView/UserHomeView.cs" />
- <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1835" Column="16" />
- <File FileName="Shared/Phone/Device/CommonForm/SceneCategoryView.cs" Line="434" Column="37" />
- <File FileName="Shared/Phone/Device/CommonForm/SceneMainView.cs" Line="293" Column="22" />
- <File FileName="Shared/Phone/Device/CommonForm/SelectZone.cs" Line="23" Column="34" />
- <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" Line="86" Column="29" />
- <File FileName="Shared/Phone/Device/Room/EditRoom.cs" Line="110" Column="29" />
- <File FileName="Shared/Phone/UserView/UserPage.cs" Line="1" Column="1" />
+ <File FileName="Shared/Phone/Device/Category/Category.cs" />
+ <File FileName="Shared/Phone/Device/CommonForm/SceneCategoryView.cs" />
+ <File FileName="Shared/Phone/Device/CommonForm/SceneMainView.cs" />
+ <File FileName="Shared/Phone/Device/Category/CategoryAddScene.cs" />
+ <File FileName="Shared/Common/SceneUI.cs" />
+ <File FileName="Shared/Common/Room.cs" />
+ <File FileName="Shared/Phone/Device/Room/RoomManagement.cs" Line="1" Column="1" />
</Files>
<Pads>
<Pad Id="ProjectPad">
@@ -36,10 +36,16 @@
<Node name="CommonForm" expanded="True" />
<Node name="Curtain" expanded="True" />
<Node name="Light" expanded="True" />
- <Node name="Room" expanded="True" />
+ <Node name="Room" expanded="True">
+ <Node name="RoomManagement.cs" selected="True" />
+ </Node>
</Node>
- <Node name="UserView" expanded="True">
- <Node name="UserPage.cs" selected="True" />
+ <Node name="UserCenter" expanded="True">
+ <Node name="Guide" expanded="True" />
+ </Node>
+ <Node name="UserView" expanded="True" />
+ <Node name="ZigBee" expanded="True">
+ <Node name="Common" expanded="True" />
</Node>
</Node>
</Node>
@@ -52,7 +58,10 @@
<MonoDevelop.Ide.DebuggingService.PinnedWatches />
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhoneSimulator" />
<MonoDevelop.Ide.DebuggingService.Breakpoints>
- <BreakpointStore />
+ <BreakpointStore>
+ <Breakpoint file="/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Room.cs" relfile="Shared/Common/Room.cs" line="508" column="1" />
+ <Breakpoint file="/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs" relfile="Shared/Phone/Device/Category/SelectFloor.cs" line="137" column="1" />
+ </BreakpointStore>
</MonoDevelop.Ide.DebuggingService.Breakpoints>
<MultiItemStartupConfigurations />
</Properties>
\ No newline at end of file
diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
index 9f64ad8..c81cc3b 100644
--- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
+++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index df0c48c..ce9e8b9 100644
--- a/ZigbeeApp/Shared/Common/Room.cs
+++ b/ZigbeeApp/Shared/Common/Room.cs
@@ -193,6 +193,10 @@
var sceneList = new List<SceneUI> { };
foreach (var r in Shared.Common.Room.Lists)
{
+ if(r.IsLove)
+ {
+ continue;
+ }
if (r.SceneUIList.Count == 0)
{
continue;
@@ -222,6 +226,11 @@
var pathList = new List<string> { };
foreach (var r in Lists)
{
+ if(r.IsLove)
+ {
+ continue;
+ }
+
if (r.SceneUIFilePathList.Count == 0)
{
continue;
@@ -263,7 +272,7 @@
for (int i = 0; i < Lists.Count; i++)
{
var room = Lists[i];
- if (room.IsSharedRoom)
+ if (room.IsSharedRoom || room.IsLove)
{
continue;
}
@@ -335,6 +344,7 @@
}
}
+
Config.Instance.Home.InitFloor();
CurrentRoom.RefreshRoomListView();
@@ -709,11 +719,24 @@
/// <returns></returns>
public List<Room> GetRoomsByFloorId(string id)
{
- if (Config.Instance.Home.FloorDics.Count == 0)
+ try
{
- return Lists;
+ if (Lists == null || Lists.Count == 0 || Lists.Count == 1)
+ {
+ return null;
+ }
+ if (Config.Instance.Home.FloorDics.Count == 0)
+ {
+ return Lists;
+ }
+ return Lists.FindAll((obj) => obj.FloorId == id);
}
- return Lists.FindAll((obj) => obj.FloorId == id);
+ catch(Exception ex)
+ {
+ System.Console.WriteLine(ex.Message);
+ return null;
+ }
+
}
/// <summary>
/// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂村悕绉�
@@ -1198,17 +1221,8 @@
/// <param name="scene">Scene.</param>
public void AddScene(SceneUI scene)
{
- //var sceneUI = new SceneUI
- //{
- // Name = scene.Name,
- // Id = scene.Id,
- // IconPath = scene.IconPath,
- // IconPathType = scene.IconPathType,
- // AddSceneMemberDataList = scene.AddSceneMemberDataList
- //};
SceneUIList.Add(scene);
SceneUIFilePathList.Add(scene.FileName);
- scene.Save();
Save();
}
@@ -1218,10 +1232,13 @@
/// <param name="scene"></param>
public void DeleteScene(SceneUI scene)
{
- //scene.IsCollected = false;
- scene.Save();
- SceneUIList.Remove(scene);
- SceneUIFilePathList.Remove(scene.FileName);
+ var curScene = SceneUIList.Find((obj) => obj.Id == scene.Id);
+ if (curScene == null)
+ {
+ return;
+ }
+ SceneUIList.Remove(curScene);
+ SceneUIFilePathList.Remove(curScene.FileName);
Save();
}
@@ -1310,9 +1327,61 @@
{
sceneUI.AddSceneMemberDataList = addCommons;
sceneUI.Save();
+ if (IsLove == false)
+ {
+ var curScene = Common.Room.CurrentRoom.GetLoveRoom().SceneUIList.Find((obj) => obj.Id == sceneUI.Id);
+ if (curScene != null)
+ {
+ curScene.Name = sceneUI.Name;
+ curScene.IconPath = sceneUI.IconPath;
+ curScene.IconPathType = sceneUI.IconPathType;
+ curScene.AddSceneMemberDataList = sceneUI.AddSceneMemberDataList;
+ curScene.SceneDelayTime = sceneUI.SceneDelayTime;
+ curScene.Save(false);
+ Common.Room.CurrentRoom.GetLoveRoom().Save();
+ }
+ }
return 1;
}
return 0;
+ }
+
+ /// <summary>
+ /// 璁剧疆銆佸悓姝ュ欢鏃舵椂闂�
+ /// </summary>
+ /// <param name="scene"></param>
+ public void ModifySceneDelayTime(SceneUI scene)
+ {
+ if (IsLove)
+ {
+ foreach (var r in Lists)
+ {
+ if (r.IsLove || r.SceneUIList.Count == 0)
+ {
+ continue;
+ }
+ foreach (var sce in r.SceneUIList)
+ {
+ if (sce.Id == scene.Id)
+ {
+ sce.SceneDelayTime = scene.SceneDelayTime;
+ sce.Save(false);
+ r.Save(false);
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ var curScene = Common.Room.CurrentRoom.GetLoveRoom().SceneUIList.Find((obj) => obj.Id == scene.Id);
+ if (curScene != null)
+ {
+ curScene.SceneDelayTime = scene.SceneDelayTime;
+ curScene.Save(false);
+ Common.Room.CurrentRoom.GetLoveRoom().Save(false);
+ }
+ }
}
#endregion
@@ -1329,9 +1398,16 @@
{
return;
}
- SceneUIList.Remove(sceneUI);
- SceneUIFilePathList.Remove(sceneUI.FileName);
- Save();
+
+ if (sceneUI.IconPathType == 1 || sceneUI.IconPathType == 2)
+ {
+ if (Global.IsExistsByHomeId(sceneUI.IconPath))
+ {
+ Global.DeleteFilebyHomeId(sceneUI.IconPath);
+ HdlAutoBackupLogic.DeleteFile(sceneUI.IconPath);
+ }
+ }
+
if (IsLove == false)
{
if (CurrentRoom.GetLoveRoom().SceneUIList.Find((obj) => obj.Id == sceneUI.Id) != null)
@@ -1339,6 +1415,11 @@
CurrentRoom.GetLoveRoom().DeleteScene(sceneUI);
}
}
+
+ SceneUIList.Remove(sceneUI);
+ SceneUIFilePathList.Remove(sceneUI.FileName);
+ Save();
+
Global.DeleteFilebyHomeId(sceneUI.FileName);
HdlAutoBackupLogic.DeleteFile(sceneUI.FileName);
}
diff --git a/ZigbeeApp/Shared/Common/SceneUI.cs b/ZigbeeApp/Shared/Common/SceneUI.cs
index 5d7b5a1..3f4cd40 100644
--- a/ZigbeeApp/Shared/Common/SceneUI.cs
+++ b/ZigbeeApp/Shared/Common/SceneUI.cs
@@ -232,6 +232,7 @@
}
});
}
+
#endregion
#region 鈼� 淇濆瓨____________________________
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs
index 965cad9..a45ccfe 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs
@@ -133,7 +133,7 @@
if(changeFloor)
{
Config.Instance.Home.CurrentFloorId = (sender as CommonForm.LeftIconButtonRow).Tag.ToString();
- Config.Instance.Home.Save();
+ Config.Instance.Home.Save(false);
Common.Room.CurrentRoom.RefreshRoomListView();
}
RemoveView();
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
index 7fe0130..5f8edaa 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -373,6 +373,8 @@
{
scene.SceneDelayTime = t;
delayTimeBtn.Text = CommonFormResouce.GetTimeString(t);
+
+ room.ModifySceneDelayTime(scene);
};
};
}
@@ -422,6 +424,7 @@
scene.RemainTime = scene.SceneDelayTime;
scene.SceneDelayTime = 0;
+ room.ModifySceneDelayTime(scene);
new System.Threading.Thread(() =>
{
while (scene.RemainTime > 0)
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
index 90b6b05..0defd1b 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
@@ -37,6 +37,10 @@
/// scene
/// </summary>
public SceneUI scene;
+ /// <summary>
+ /// CollectionAction
+ /// </summary>
+ public Action CollectionAction;
/// <summary>
/// IsSelected
@@ -284,6 +288,7 @@
scene.RemainTime = scene.SceneDelayTime;
scene.SceneDelayTime = 0;
+ Common.Room.CurrentRoom.ModifySceneDelayTime(scene);
new System.Threading.Thread(() =>
{
while (scene.RemainTime > 0)
@@ -310,16 +315,23 @@
/// <param name="mouseEventArgs"></param>
private void CollectionEvent(object sender,MouseEventArgs mouseEventArgs)
{
- (sender as Button).IsSelected = !(sender as Button).IsSelected;
- if ((sender as Button).IsSelected)
+ if (Common.Room.CurrentRoom.IsLove)
{
- Shared.Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene);
+ Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene);
+ CollectionAction?.Invoke();
}
else
{
- Shared.Common.Room.CurrentRoom.GetLoveRoom().RemoveScene(scene);
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene);
+ }
+ else
+ {
+ Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene);
+ }
}
- scene.Save();
}
/// <summary>
@@ -342,6 +354,8 @@
{
scene.SceneDelayTime = t;
SetTimeByDelayTime(t);
+
+ Common.Room.CurrentRoom.ModifySceneDelayTime(scene);
};
}
diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
index cae7db4..4013426 100644
--- a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
@@ -149,67 +149,76 @@
var roomScrolView = new VerticalScrolViewLayout { };
bodyFrameLayout.AddChidren(roomScrolView);
- var roomList = Common.Room.CurrentRoom.GetRoomsByFloorId(floorId);
- if (roomList == null)
+ try
{
- return;
- }
- for (int i = 0; i < roomList.Count+1; i++)
- {
- int xx = 43 + i % 2 * (20 + 487);
- int yy = 0;
- if (i == 0 || i == 1)
+ System.Console.WriteLine("roomlist0");
+ var roomList = Common.Room.CurrentRoom.GetRoomsByFloorId(floorId);
+ System.Console.WriteLine("roomlist" + roomList);
+ if (roomList == null || roomList.Count == 0)
{
- if (i % 2 == 0)
+ return;
+ }
+ for (int i = 0; i < roomList.Count + 1; i++)
+ {
+ int xx = 43 + i % 2 * (20 + 487);
+ int yy = 0;
+ if (i == 0 || i == 1)
+ {
+ if (i % 2 == 0)
+ {
+ itemView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(354 + 58)
+ };
+ roomScrolView.AddChidren(itemView);
+ }
+ yy = 58;
+ }
+ else if (i % 2 == 0)
{
itemView = new FrameLayout()
{
- Height = Application.GetRealHeight(354 + 58)
+ Height = Application.GetRealHeight(354)
};
roomScrolView.AddChidren(itemView);
}
- yy = 58;
- }
- else if (i % 2 == 0)
- {
- itemView = new FrameLayout()
- {
- Height = Application.GetRealHeight(354)
- };
- roomScrolView.AddChidren(itemView);
- }
- if (i< roomList.Count)
- {
- var room = roomList[i];
- var roomView = new RoomMainView(xx, yy);
- itemView.AddChidren(roomView);
- roomView.Init(this,room);
- roomView.SetRoomName(room.Name);
- roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage));
- roomView.ClickBtn.MouseUpEventHandler += (sender, e) =>
+ if (i < roomList.Count)
{
- if (CanClick == false)
+ var room = roomList[i];
+ var roomView = new RoomMainView(xx, yy);
+ itemView.AddChidren(roomView);
+ roomView.Init(this, room);
+ roomView.SetRoomName(room.Name);
+ roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage));
+ roomView.ClickBtn.MouseUpEventHandler += (sender, e) =>
{
- return;
- }
- CommonPage.Instance.CloseLeftMenu();
- Common.Room.CurrentRoom = room;
- Config.Instance.Home.CurrentFloorId = room.FloorId;
- UserPage.Instance.Fresh();
- };
- }
- else
- {
- var roomView = new RoomNoNameMainView(xx, yy);
- itemView.AddChidren(roomView);
- roomView.Init();
+ if (CanClick == false)
+ {
+ return;
+ }
+ CommonPage.Instance.CloseLeftMenu();
+ Common.Room.CurrentRoom = room;
+ Config.Instance.Home.CurrentFloorId = room.FloorId;
+ UserPage.Instance.Fresh();
+ };
+ }
+ else
+ {
+ var roomView = new RoomNoNameMainView(xx, yy);
+ itemView.AddChidren(roomView);
+ roomView.Init();
- roomView.Icon.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
- roomView.RoomNameButton.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
- roomView.iconFL.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
+ roomView.Icon.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
+ roomView.RoomNameButton.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
+ roomView.iconFL.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent;
+ }
}
}
+ catch (Exception ex)
+ {
+ string tt=ex.Message;
+ }
}
#endregion
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index 3accaa7..40422ba 100644
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -1813,8 +1813,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