From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径
---
ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs | 752 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 490 insertions(+), 262 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
old mode 100755
new mode 100644
index 2dfd8a5..ae83791
--- a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
@@ -16,6 +16,14 @@
#region 鈻� 鍙橀噺澹版槑___________________________
/// <summary>
+ /// The instance.
+ /// </summary>
+ public static HomeMainPageForm Instance;
+ /// <summary>
+ /// 鏁翠釜鐣岄潰鐨勪笂涓嬫粦鍔ㄦ帶浠�
+ /// </summary>
+ private VerticalFrameControl listBodyContr = null;
+ /// <summary>
/// 鎴块棿鐨勬粦鍔ㄥ鍣ㄦ帶浠�
/// </summary>
private HorizontalPages roomPageView = null;
@@ -45,16 +53,26 @@
/// </summary>
public void ShowForm()
{
- //鍏堝垵濮嬪寲宸︽粦鎴块棿鍒楄〃鐣岄潰
- if (ListRoomViewFrom.Instance == null)
+ this.FormID = "HomeMainPageForm";
+ Instance = this;
+
+ //鍏堝垵濮嬪寲宸︽粦鎴块棿鍒楄〃鐣岄潰(鍦ㄥ弽灏勯噷闈㈠垵濮嬪寲)
+ if (LeftListRoomViewFrom.Instance == null) { }
+
+ //鏁翠釜鑳屾櫙鐨勪笂涓嬫粦鍔ㄦ帶浠�
+ if (this.listBodyContr == null)
{
- var roomList = new ListRoomViewFrom();
- CommonPage.Instance.AddLeftView(roomList);
- roomList.ShowForm();
+ this.listBodyContr = new VerticalFrameControl();
+ listBodyContr.Height = this.Height;
+ listBodyContr.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
+ this.AddChidren(listBodyContr);
}
- this.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
- //娓呴櫎鍏ㄩ儴
- this.RemoveAll();
+ else
+ {
+ //娓呴櫎鍏ㄩ儴
+ this.listBodyContr.frameTable.RemoveAll();
+ listBodyContr.RecoverTableHeight();
+ }
//鍒濆鍖栧ご閮ㄦ帶浠�
this.InitTopFrameLayoutControl();
@@ -64,8 +82,10 @@
this.AddNormalDeviceReportEvent();
//娣诲姞浼犳劅鍣ㄧ姸鎬佷笂鎶ヤ簨浠�
this.AddSensorDeviceReportEvent();
- //灏嗗綋鍓嶇殑鐢婚潰淇濆瓨鍒板唴瀛樺綋涓�
- UserCenterLogic.AddActionForm(this);
+ //寮�鍚紶鎰熷櫒鐘舵�佽繕鍘熺殑绾跨▼
+ this.StartRecoverSenorStatuThread();
+ //鏄剧ずApp鍏憡
+ this.ShowAppNotice();
}
/// <summary>
@@ -74,27 +94,30 @@
private void InitTopFrameLayoutControl()
{
//澶撮儴瀹瑰櫒
- base.topFrameLayout = new FrameLayout();
+ base.topFrameLayout = new NormalFrameLayout();
topFrameLayout.Y = Application.GetRealHeight(60);
topFrameLayout.Height = Application.GetRealHeight(127);
topFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
- this.AddChidren(topFrameLayout);
+ listBodyContr.frameTable.AddChidren(topFrameLayout);
+
+ //妤煎眰鍥炬爣
+ var btnFloorIcon = new IconViewControl(69);
+ btnFloorIcon.X = ControlCommonResourse.XXLeft;
+ btnFloorIcon.Gravity = Gravity.CenterVertical;
+ btnFloorIcon.UnSelectedImagePath = "Item/Floor.png";
+ topFrameLayout.AddChidren(btnFloorIcon);
//鎷ユ湁妤煎眰
this.btnFloorName = null;
if (Config.Instance.Home.FloorDics.Count > 0)
{
- //妤煎眰鍥炬爣
- var btnFloorIcon = new IconViewControl(69);
- btnFloorIcon.X = ControlCommonResourse.XXLeft;
- btnFloorIcon.Gravity = Gravity.CenterVertical;
- btnFloorIcon.UnSelectedImagePath = "Item/Floor.png";
- topFrameLayout.AddChidren(btnFloorIcon);
+ //鎷ユ湁妤煎眰鐨勬椂鍊�,鐐瑰嚮鎵嶆湁鏁�
btnFloorIcon.ButtonClickEvent += (sender, e) =>
{
//鏄剧ず閫夋嫨妤煎眰鐨勭晫闈�
this.ShowSelectFloorForm(btnFloorName);
};
+
//妤煎眰鍚�
this.btnFloorName = new NormalViewControl(500, 100, true);
btnFloorName.X = btnFloorIcon.Right;
@@ -110,6 +133,9 @@
this.ShowSelectFloorForm(btnFloorName);
};
}
+
+ //鍙瀵硅蹇嵎鏂瑰紡
+ Shared.Phone.Device.VideoIntercom.VideoMachine.AccountSupportVideo(topFrameLayout);
//瀹夐槻蹇嵎鏂瑰紡
if (UserCenterResourse.ResidenceOption.SafetyShortcut)
{
@@ -134,8 +160,8 @@
btnHouseName.TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor;
btnHouseName.IsBold = true;
btnHouseName.Text = Config.Instance.Home.Name;
- btnHouseName.Width = btnHouseName.GetRealWidthByText();
- this.AddChidren(btnHouseName);
+ btnHouseName.Width = btnHouseName.GetRealWidthByText() + Application.GetRealWidth(100);
+ this.listBodyContr.frameTable.AddChidren(btnHouseName);
//鍒囨崲浣忓畢
btnHouseName.MouseLongEventHandler += (sender, e) =>
@@ -147,11 +173,12 @@
}
else
{
- var selectHouse = new Device.Category.SelectHouse();
+ var selectHouse = new Category.SelectHouseForm();
selectHouse.Init();
selectHouse.HouseAction = (houseId) =>
{
- ChangeResidence(House.GetHouseByHouseId(houseId));
+ //鍒囨崲浣忓畢
+ this.ChangeResidence(HdlResidenceLogic.Current.GetHouseByHouseId(houseId));
};
}
};
@@ -162,8 +189,18 @@
/// </summary>
private void InitMidFrameLayoutControl()
{
+ //鎴愬憳韬唤涓嶅厑璁告坊鍔犵綉鍏�
+ if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+ {
+ //鍒濆鍖栧満鏅�,鍔熻兘鐨勫垏鎹㈡帶浠�
+ this.InitSceneFunctionSwitchControl();
+ //鍒濆鍖栨埧闂存粦鍔ㄦ帶浠�
+ this.InitRoomHorizontalPagesControl();
+ return;
+ }
+
//妫�娴嬫槸鍚︾粦瀹氭湁缃戝叧
- if (this.CheckHadBindGateway() == false)
+ if (Common.Config.Instance.Home.IsVirtually == false && this.CheckHadBindGateway() == false)
{
//鏄剧ず娌℃湁缁戝畾杩囩綉鍏崇殑鐣岄潰
this.ShowNoGatewayTip();
@@ -172,7 +209,6 @@
{
//鍒濆鍖栧満鏅�,鍔熻兘鐨勫垏鎹㈡帶浠�
this.InitSceneFunctionSwitchControl();
-
//鍒濆鍖栨埧闂存粦鍔ㄦ帶浠�
this.InitRoomHorizontalPagesControl();
}
@@ -190,7 +226,7 @@
functionSceneView.Height = Application.GetRealHeight(167);
functionSceneView.Gravity = Gravity.CenterHorizontal;
functionSceneView.BackgroundImagePath = "Item/SceneFunctionBG.png";
- this.AddChidren(functionSceneView);
+ this.listBodyContr.frameTable.AddChidren(functionSceneView);
//鍦烘櫙
var btnScene = new NormalViewControl(350, 100, true);
@@ -216,25 +252,22 @@
if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 1)
{
btnScene.IsSelected = true;
- btnScene.TextSize = 16;
+ btnScene.TextSize = 17;
btnScene.IsBold = true;
}
else if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2)
{
btnFunction.IsSelected = true;
- btnFunction.TextSize = 16;
+ btnFunction.TextSize = 17;
btnFunction.IsBold = true;
}
//鍔熻兘鍜屽満鏅痓odyView
- this.bodyFrameLayout = new FrameLayout()
- {
- Y = functionSceneView.Bottom,
- Height = Application.GetRealHeight(750),
- Gravity = Gravity.CenterHorizontal,
- BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
- };
- this.AddChidren(bodyFrameLayout);
+ this.bodyFrameLayout = new NormalFrameLayout();
+ bodyFrameLayout.Y = functionSceneView.Bottom;
+ bodyFrameLayout.Height = this.listBodyContr.frameTable.Height - functionSceneView.Bottom;
+ bodyFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
+ this.listBodyContr.frameTable.AddChidren(bodyFrameLayout);
//閫夋嫨鍔熻兘鍒嗘爮
btnFunction.ButtonClickEvent += (sender, e) =>
@@ -251,7 +284,7 @@
btnScene.IsBold = false;
btnFunction.IsSelected = true;
- btnFunction.TextSize = 16;
+ btnFunction.TextSize = 17;
btnFunction.IsBold = true;
//鍒锋柊璁惧妗屽竷鎺т欢
this.RefreshBodyView();
@@ -267,7 +300,7 @@
UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1;
btnScene.IsSelected = true;
- btnScene.TextSize = 16;
+ btnScene.TextSize = 17;
btnScene.IsBold = true;
btnFunction.IsSelected = false;
@@ -287,27 +320,27 @@
bg.Y = Application.GetRealHeight(302);
bg.Gravity = Gravity.CenterHorizontal;
bg.UnSelectedImagePath = "Item/NoBindGW.png";
- this.AddChidren(bg);
+ this.listBodyContr.frameTable.AddChidren(bg);
- var tip = new NormalViewControl(Application.GetMinRealAverage(717), Application.GetMinRealAverage(58), false);
- tip.Y = Application.GetRealHeight(815);
+ var tip = new NormalViewControl(this.GetPictrueRealSize(717), this.GetPictrueRealSize(58), false);
+ tip.Y = bg.Bottom + Application.GetRealHeight(35);
tip.Gravity = Gravity.CenterHorizontal;
tip.TextID = R.MyInternationalizationString.NewAccountNeedBingGW;
tip.TextColor = ZigbeeColor.Current.GXCTextGrayColor;
tip.TextAlignment = TextAlignment.Center;
- this.AddChidren(tip);
+ this.listBodyContr.frameTable.AddChidren(tip);
var addBG = new PicViewControl(971, 366);
- addBG.Y = Application.GetRealHeight(1048);
+ addBG.Y = tip.Bottom + Application.GetRealHeight(176);
addBG.UnSelectedImagePath = "Item/VirtualFrame.png";
addBG.Gravity = Gravity.CenterHorizontal;
- this.AddChidren(addBG);
+ this.listBodyContr.frameTable.AddChidren(addBG);
var addGatewayBtn = new IconViewControl(89);
- addGatewayBtn.Y = Application.GetRealHeight(1143);
+ addGatewayBtn.Y = tip.Bottom + Application.GetRealHeight(271);
addGatewayBtn.UnSelectedImagePath = "Item/Add_GW.png";
addGatewayBtn.Gravity = Gravity.CenterHorizontal;
- this.AddChidren(addGatewayBtn);
+ this.listBodyContr.frameTable.AddChidren(addGatewayBtn);
addGatewayBtn.ButtonClickEvent += (sender, e) =>
{
var form = new UserCenter.GatewayAdd.NewGateWayMenuSelectForm();
@@ -315,12 +348,12 @@
};
var addTip = new PicViewControl(717, 58);
- addTip.Y = Application.GetRealHeight(1256);
+ addTip.Y = addGatewayBtn.Bottom + Application.GetRealHeight(23);
addTip.Gravity = Gravity.CenterHorizontal;
addTip.TextID = R.MyInternationalizationString.AddSmartGW;
addTip.TextColor = ZigbeeColor.Current.GXCTextBlackColor;
addTip.TextAlignment = TextAlignment.Center;
- AddChidren(addTip);
+ this.listBodyContr.frameTable.AddChidren(addTip);
addTip.ButtonClickEvent += (sender, e) =>
{
@@ -341,9 +374,22 @@
//宸﹀彸婊戝姩鎺т欢鐨勮儗鏅鍣�
var frameBack = new FrameLayout();
frameBack.Y = Application.GetRealHeight(302);
- frameBack.Width = Application.GetRealWidth(CommonPage.AppRealWidth);
+ frameBack.Width = this.Width;
frameBack.Height = Application.GetRealHeight(478);
- this.AddChidren(frameBack);
+ this.listBodyContr.frameTable.AddChidren(frameBack);
+
+ //鎴块棿婊戝姩鎺т欢宸﹁竟鐨勮櫄鎷熷浘鐗�
+ var mLeftImageView = new ImageView();
+ mLeftImageView.ImagePath = "RoomIcon/19.jpg";
+ mLeftImageView.Radius = (uint)Application.GetRealHeight(17);
+ mLeftImageView.Width = Application.GetRealWidth(717);
+ mLeftImageView.Height = Application.GetRealHeight(478);
+ //鎴块棿婊戝姩鎺т欢鍙宠竟鐨勮櫄鎷熷浘鐗�
+ var mRightImageView = new ImageView();
+ mRightImageView.ImagePath = "RoomIcon/19.jpg";
+ mRightImageView.Radius = (uint)Application.GetRealHeight(17);
+ mRightImageView.Width = mLeftImageView.Width;
+ mRightImageView.Height = mLeftImageView.Height;
this.roomPageView = new HorizontalPages();
roomPageView.Width = frameBack.Width;
@@ -358,18 +404,25 @@
btnRoomBottomShadow.Y = frameBack.Bottom;
btnRoomBottomShadow.Gravity = Gravity.CenterHorizontal;
btnRoomBottomShadow.UnSelectedImagePath = "Room/RoomCardShadow.png";
- this.AddChidren(btnRoomBottomShadow);
+ this.listBodyContr.frameTable.AddChidren(btnRoomBottomShadow);
+
+ //璁剧疆鎺у埗鏈�宸﹀拰鏈�鍙�2杈瑰~鍏呯殑鍋囪儗鏅疺iew锛屼笉璁剧疆涓嶆樉绀猴紝闇�瑕佸湪AddChidren 鍓嶈皟鐢ㄨ鏂规硶
+ roomPageView.SetLeftAndRightImageView(mLeftImageView, mRightImageView);
//褰撳墠鎴块棿
- var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+ var listRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId);
+ if (HdlRoomLogic.Current.NowMainPageRoom == null)
+ {
+ HdlRoomLogic.Current.NowMainPageRoom = listRoom[0];
+ }
var curIndex = 0;
for (int i = 0; i < listRoom.Count; i++)
{
var roomView = new RoomView(0, 0);
roomPageView.AddChidren(roomView);
roomView.Init(listRoom[i]);
-
- if (listRoom[i].Id == HdlRoomLogic.Current.CurrentRoom.Id)
+
+ if (listRoom[i].Id == HdlRoomLogic.Current.NowMainPageRoom.Id)
{
//褰撳墠鎴块棿,鍒欐樉绀洪偅浜涙暟鎹嚭鏉�
roomView.HideName(false);
@@ -381,42 +434,34 @@
roomView.HideName(true);
}
}
- //璁剧疆鎴块棿鐨勫垵濮嬮�夋嫨
- roomPageView.PageIndex = curIndex;
- //鎴块棿鑳藉婊戝姩鐨勬椂鍊欐墠鏄剧ず
- FrameLayout btnRoomLeftShadow = null;
- FrameLayout btnRoomRightShadow = null;
- if (listRoom.Count > 1)
- {
- //鍦ㄦ埧闂村崱鐗囧乏杈规坊鍔犻伄缃�
- btnRoomLeftShadow = new FrameLayout();
- btnRoomLeftShadow.Width = Application.GetRealWidth(124);
- btnRoomLeftShadow.Height = roomPageView.Height - roomPageView.JMBJ * 2;
- btnRoomLeftShadow.Gravity = Gravity.CenterVertical;
- btnRoomLeftShadow.BackgroundColor = 0x1c000000;
- btnRoomLeftShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
- btnRoomLeftShadow.Visible = curIndex >= 1;
- frameBack.AddChidren(btnRoomLeftShadow);
- //鍦ㄦ埧闂村崱鐗囧彸杈规坊鍔犻伄缃�
- btnRoomRightShadow = new FrameLayout();
- btnRoomRightShadow.Width = btnRoomLeftShadow.Width;
- btnRoomRightShadow.Height = btnRoomLeftShadow.Height;
- btnRoomRightShadow.X = Application.GetRealWidth(956);
- btnRoomRightShadow.Gravity = Gravity.CenterVertical;
- btnRoomRightShadow.BackgroundColor = btnRoomLeftShadow.BackgroundColor;
- btnRoomRightShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
- btnRoomRightShadow.Visible = curIndex < listRoom.Count - 1;
- frameBack.AddChidren(btnRoomRightShadow);
- }
+ //鍦ㄦ埧闂村崱鐗囧乏杈规坊鍔犻伄缃�
+ var btnRoomLeftShadow = new FrameLayout();
+ btnRoomLeftShadow.Width = Application.GetRealWidth(124);
+ btnRoomLeftShadow.Height = roomPageView.Height - roomPageView.JMBJ * 2;
+ btnRoomLeftShadow.Gravity = Gravity.CenterVertical;
+ btnRoomLeftShadow.BackgroundColor = 0x1c000000;
+ btnRoomLeftShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
+ //frameBack.AddChidren(btnRoomLeftShadow);//鏆傛椂涓嶅姞閬僵
+
+ //鍦ㄦ埧闂村崱鐗囧彸杈规坊鍔犻伄缃�
+ var btnRoomRightShadow = new FrameLayout();
+ btnRoomRightShadow.Width = btnRoomLeftShadow.Width;
+ btnRoomRightShadow.Height = btnRoomLeftShadow.Height;
+ btnRoomRightShadow.X = Application.GetRealWidth(956);
+ btnRoomRightShadow.Gravity = Gravity.CenterVertical;
+ btnRoomRightShadow.BackgroundColor = btnRoomLeftShadow.BackgroundColor;
+ btnRoomRightShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
+ //frameBack.AddChidren(btnRoomRightShadow);//鏆傛椂涓嶅姞閬僵
+
//鎺т欢寮�濮嬫粦鍔ㄧ殑浜嬩欢
roomPageView.StartScrollAction += () =>
{
this.isRoomChanging = true;
//寮�濮嬫粦鍔ㄦ椂,闅愯棌褰撳墠鐨勬暟鎹樉绀�
(roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(true);
- if (btnRoomLeftShadow != null) { btnRoomLeftShadow.Visible = false; }
- if (btnRoomRightShadow != null) { btnRoomRightShadow.Visible = false; }
+ btnRoomLeftShadow.Visible = false;
+ btnRoomRightShadow.Visible = false;
btnRoomBottomShadow.Visible = false;
};
roomPageView.EndScrollAction += () =>
@@ -438,15 +483,22 @@
(roomPageView.GetChildren(curIndex + 1) as RoomView).HideName(true);
}
- if (btnRoomLeftShadow != null) { btnRoomLeftShadow.Visible = curIndex >= 1; }
- if (btnRoomRightShadow != null) { btnRoomRightShadow.Visible = curIndex < listRoom.Count - 1; }
+ btnRoomLeftShadow.Visible = true;
+ btnRoomRightShadow.Visible = true;
btnRoomBottomShadow.Visible = true;
//鍒囨崲褰撳墠鎴块棿
- HdlRoomLogic.Current.CurrentRoom = listRoom[curIndex];
+ HdlRoomLogic.Current.NowMainPageRoom = listRoom[curIndex];
//鍒锋柊璁惧妗屽竷鎺т欢
this.isRoomChanging = false;
this.RefreshBodyView();
};
+ //璁剧疆鎴块棿鐨勫垵濮嬮�夋嫨
+ roomPageView.PageIndex = curIndex;
+ //濡傛灉绱㈠紩鏄涓�涓椂锛屽畠瑙﹀彂涓嶄簡浜嬩欢,闇�瑕佹墜鍔ㄨЕ鍙�
+ if (curIndex == 0)
+ {
+ roomPageView.EndScrollAction();
+ }
}
/// <summary>
@@ -455,7 +507,12 @@
/// <param name="room"></param>
public void SetRoomPageViewSelect(Room room)
{
- var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+ if (roomPageView == null)
+ {
+ //褰撴病鏈夌粦瀹氭湁缃戝叧,宸︽粦鏃�,鐐瑰嚮鎴块棿鍒楄〃,鍒欎笉楦熷畠
+ return;
+ }
+ var listRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId);
for (int i = 0; i < listRoom.Count; i++)
{
if (room.Id == listRoom[i].Id)
@@ -471,7 +528,7 @@
//閲嶇疆涓�涓嬫ゼ灞傚悕瀛�
if (this.btnFloorName != null)
{
- btnFloorName.Text = HdlResidenceLogic.Current.GetFloorNameById(Config.Instance.Home.CurrentFloorId);
+ btnFloorName.Text = Config.Instance.Home.GetCurrentFloorName;
}
}
@@ -486,17 +543,18 @@
{
//鍏堟竻绌虹紦瀛�
bodyFrameLayout.RemoveAll();
- this.dicSceneCardControl.Clear();
- this.dicDeviceCardControl.Clear();
+ bodyFrameLayout.Height = Application.GetRealHeight(750);
+ this.listBodyContr.RecoverTableHeight();
+ this.dicSceneCardControl = new Dictionary<int, Controls.SceneCardControl>();
+ this.dicDeviceCardControl = new Dictionary<string, Controls.DeviceCardCommon>();
var listDevice = new List<CommonDevice>();
- foreach (var mainkeys in HdlRoomLogic.Current.CurrentRoom.ListDevice)
+ foreach (var mainkeys in HdlRoomLogic.Current.NowMainPageRoom.ListDevice)
{
var device = LocalDevice.Current.GetDevice(mainkeys);
- if (device == null
- || device.Type == DeviceType.OnOffSwitch)//骞叉帴鐐�
+ //鍒ゆ柇璇ヨ澶囪兘鍚︽樉绀哄湪涓婚〉
+ if (LocalDevice.Current.CanShowInHomeHomeMainPage(device) == false)
{
- //杩欎釜璁惧涓嶈浜�
continue;
}
listDevice.Add(device);
@@ -505,37 +563,38 @@
//褰撳墠鎴块棿鐨勮澶囨暟
if (listDevice.Count == 0)
{
- ShowNoFunctionTip();
+ //杩樻病鏈夊姛鑳藉摝
+ this.ShowNotDataImage(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.NoFunction_Tip));
return;
}
- //鍒楄〃鎺т欢
- var listView = new VerticalFrameControl();
- listView.Height = bodyFrameLayout.Height;
- bodyFrameLayout.AddChidren(listView);
+ //璁惧鍒楄〃瀹瑰櫒鎺т欢
+ var listDeviceBackContr = new FrameLayout();
+ listDeviceBackContr.Height = bodyFrameLayout.Height;
+ bodyFrameLayout.AddChidren(listDeviceBackContr);
HdlThreadLogic.Current.RunThread(() =>
{
//鍒濆鍖栬澶囧崱鐗囧垪琛ㄦ帶浠�
- this.InitDeviceListCardControl(listView, listDevice);
+ this.InitDeviceListCardControl(listDeviceBackContr, listDevice);
});
}
/// <summary>
/// 鍒濆鍖栬澶囧崱鐗囧垪琛ㄦ帶浠�
/// </summary>
- /// <param name="listView"></param>
- private void InitDeviceListCardControl(VerticalFrameControl listView, List<CommonDevice> listDevice)
+ /// <param name="listDeviceBackContr"></param>
+ private void InitDeviceListCardControl(FrameLayout listDeviceBackContr, List<CommonDevice> listDevice)
{
//璁惧璁℃暟
int contrCount = 0;
//X杞村潗鏍�(鍥剧墖宸﹁竟鏈変綑鐧�)
- int XX = Application.GetMinRealAverage(44);
+ int XX = this.GetPictrueRealSize(44);
//Y杞村潗鏍�
int YY = 0;
var listContr = new List<Controls.DeviceCardCommon>();
foreach (var device in listDevice)
{
- if (this.isRoomChanging == true || listView.Parent == null)
+ if (this.isRoomChanging == true || listDeviceBackContr.Parent == null)
{
//鏀惧純鍒濆鍖栨帶浠�
return;
@@ -563,6 +622,21 @@
{
cardContr = new Controls.DeviceAcCardControl();
}
+ //鏂伴
+ else if (device.Type == DeviceType.FreshAir)
+ {
+ cardContr = new Controls.DeviceFreshAirCardControl();
+ }
+ // PM2.5
+ else if (device.Type == DeviceType.PMSensor)
+ {
+ cardContr = new Controls.DevicePmSensorCardControl();
+ }
+ // 鏅捐。鏋�
+ else if (device.Type == DeviceType.Airer)
+ {
+ cardContr = new Controls.DeviceAirerCardControl();
+ }
//褰╃伅(璋冨厜鍣�)
else if (device.Type == DeviceType.DimmableLight)
{
@@ -576,15 +650,30 @@
//娓╂箍搴�
else if (device.Type == DeviceType.TemperatureSensor)
{
- cardContr = new Controls.DeviceTemperatureCardControl();
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ //鑾峰彇璁惧绫诲瀷
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+ {
+ cardContr = new Controls.DeviceAirQualitySensorCardControl();
+ }
+ else
+ {
+ cardContr = new Controls.DeviceTemperatureCardControl();
+ }
}
//闂ㄩ攣
else if (device.Type == DeviceType.DoorLock)
{
cardContr = new Controls.DeviceDoorLockCardControl();
}
+ //鑹叉俯鐏�
+ else if (device.Type == DeviceType.ColorTemperatureLight)
+ {
+ cardContr = new Controls.DeviceColorTemperatureCardControl();
+ }
//鏃犳硶璇嗗埆
- else
+ if (cardContr == null)
{
cardContr = new Controls.DeviceCardCommon();
}
@@ -592,8 +681,8 @@
//鍒濆鍖栧崱鐗�
cardContr.X = XX;
cardContr.Y = YY;
- listView.frameTable.AddChidren(cardContr);
- cardContr.InitControl(device);
+ listDeviceBackContr.AddChidren(cardContr);
+ cardContr.InitControl(device, HdlRoomLogic.Current.NowMainPageRoom);
//鍗$墖闇�瑕佽绉婚櫎鐨勪簨浠�
cardContr.CardNeedRemoveEvent += () =>
{
@@ -603,11 +692,11 @@
//璁惧璁℃暟
contrCount++;
//鍗$墖宸﹀彸涓よ竟鏈�14鐨勪綑鐧�,姣忎袱涓悗,X杞撮噸缃�
- XX = contrCount % 2 == 0 ? Application.GetMinRealAverage(44) : cardContr.Right + Application.GetMinRealAverage(20);
+ XX = contrCount % 2 == 0 ? this.GetPictrueRealSize(44) : cardContr.Right + this.GetPictrueRealSize(20);
if (contrCount % 2 == 0)
{
//娌′袱涓箣鍚�,Y杞撮�掑
- YY = cardContr.Bottom + Application.GetMinRealAverage(15);
+ YY = cardContr.Bottom + this.GetPictrueRealSize(15);
}
//鎺т欢璁板綍鍒扮紦瀛樹腑
this.dicDeviceCardControl[LocalDevice.Current.GetDeviceMainKeys(device)] = cardContr;
@@ -617,53 +706,55 @@
if (contrCount == listDevice.Count)
{
//璋冩暣妗屽竷澶у皬
- listView.AdjustTableHeight();
+ if (contrCount > 4)
+ {
+ bodyFrameLayout.Height = listDeviceBackContr.GetChildren(listDeviceBackContr.ChildrenCount - 1).Bottom;
+ listDeviceBackContr.Height = bodyFrameLayout.Height;
+ this.listBodyContr.frameTable.Height = bodyFrameLayout.Bottom;
+ }
HdlThreadLogic.Current.RunThread(() =>
{
- for (int i = 0; i < listContr.Count; i++)
+ int sendCount = 0;
+ while (listDeviceBackContr.Parent != null)
{
- if (listView.Parent == null)
+ bool hadSend = false;
+ for (int i = 0; i < listContr.Count; i++)
{
- return;
+ if (listDeviceBackContr.Parent == null)
+ {
+ return;
+ }
+ //濡傛灉杩樻病鏈夋帴鏀跺埌鏁版嵁,鍒欏啀娆″彂閫�
+ if (listContr[i].ReceiveResponeResultStatu() == false)
+ {
+ //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护
+ listContr[i].SendStatuComand();
+ hadSend = true;
+ System.Threading.Thread.Sleep(300);
+ }
}
- System.Threading.Thread.Sleep(20);
- //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护
- listContr[i].SendStatuComand();
+ if (hadSend == false)
+ {
+ //濡傛灉宸茬粡鍏ㄩ儴鍥炶矾閮芥帴鏀朵簡缃戝叧鍥炲,鍒欎笉鍐嶄簩娆″彂閫�
+ break;
+ }
+ sendCount++;
+ if (sendCount == 2)
+ {
+ //灏卞彂2娆�
+ break;
+ }
+ System.Threading.Thread.Sleep(5000);
}
-
}, ShowErrorMode.NO);
}
});
-
- System.Threading.Thread.Sleep(50);
+ if (contrCount > 6)
+ {
+ //璁╁畠鍛堢幇涓�绉嶇洿鎺ヤ竴娆℃�у埛鍑烘潵鐨勬晥鏋�
+ System.Threading.Thread.Sleep(50);
+ }
}
- }
-
- /// <summary>
- /// 鏄剧ず娌℃湁鍔熻兘
- /// </summary>
- private void ShowNoFunctionTip()
- {
- var noFunction = new Button
- {
- Y = Application.GetRealHeight(69),
- Width = Application.GetMinRealAverage(683),
- Height = Application.GetMinRealAverage(392),
- Gravity = Gravity.CenterHorizontal,
- UnSelectedImagePath = "Item/NoFunction.png"
- };
- bodyFrameLayout.AddChidren(noFunction);
-
- var noFunctionTip = new Button()
- {
- Y = noFunction.Bottom,
- Height = Application.GetRealHeight(200),
- Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"),
- TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
- TextAlignment = TextAlignment.Center,
- IsMoreLines = true
- };
- bodyFrameLayout.AddChidren(noFunctionTip);
}
#endregion
@@ -685,7 +776,7 @@
//璁惧璁℃暟
int contrCount = 0;
-
+
bool canMove = false;
int YY = 0;
foreach (var mainkey in this.dicDeviceCardControl.Keys)
@@ -703,12 +794,12 @@
if (contrCount % 2 == 1)
{
//绗竴涓浐瀹�44
- XX = Application.GetMinRealAverage(44);
+ XX = this.GetPictrueRealSize(44);
}
else
{
//绗簩涓槸44+鎺т欢瀹藉害+20浣欑櫧
- XX = Application.GetMinRealAverage(44) + this.dicDeviceCardControl[mainkey].Width + Application.GetMinRealAverage(20);
+ XX = this.GetPictrueRealSize(44) + this.dicDeviceCardControl[mainkey].Width + this.GetPictrueRealSize(20);
}
//姣忎袱涓箣鍚�,骞朵笖鏄涓�涓殑鏃跺��,Y杞撮�掑
@@ -717,7 +808,7 @@
//姹傚晢
int value = contrCount / 2;
//鎺т欢鐨勫簳閮ㄦ湁15鐨勯棿闅�
- YY = value * (this.dicDeviceCardControl[mainkey].Height + Application.GetMinRealAverage(15));
+ YY = value * (this.dicDeviceCardControl[mainkey].Height + this.GetPictrueRealSize(15));
}
if (canMove == true)
{
@@ -727,14 +818,19 @@
}
}
//鍘绘壘涓�涓嬭繖涓帶浠剁殑鍒楄〃瀹瑰櫒
- var listView = deleteContr.Parent.Parent as VerticalFrameControl;
+ var listView = deleteContr.Parent as FrameLayout;
//鍒犻櫎鎺夐偅寮犲崱鐗囩殑涓婚敭
deleteContr.RemoveFromParent();
this.dicDeviceCardControl.Remove(deleteKey);
//璋冩暣妗屽竷楂樺害
- listView?.AdjustTableHeight();
+ if (listView.ChildrenCount >= 4)
+ {
+ bodyFrameLayout.Height = listView.GetChildren(listView.ChildrenCount - 1).Bottom;
+ listView.Height = bodyFrameLayout.Height;
+ this.listBodyContr.frameTable.Height = bodyFrameLayout.Bottom;
+ }
}
#endregion
@@ -748,11 +844,13 @@
{
//鍏堟竻绌虹紦瀛�
bodyFrameLayout.RemoveAll();
- this.dicSceneCardControl.Clear();
- this.dicDeviceCardControl.Clear();
+ bodyFrameLayout.Height = Application.GetRealHeight(750);
+ this.listBodyContr.RecoverTableHeight();
+ this.dicSceneCardControl = new Dictionary<int, Controls.SceneCardControl>();
+ this.dicDeviceCardControl = new Dictionary<string, Controls.DeviceCardCommon>();
var listScene = new List<SceneUI>();
- foreach (int sceneId in HdlRoomLogic.Current.CurrentRoom.ListSceneId)
+ foreach (int sceneId in HdlRoomLogic.Current.NowMainPageRoom.ListSceneId)
{
var sceneUi = HdlSceneLogic.Current.GetSceneUIBySceneId(sceneId);
if (sceneUi == null)
@@ -765,37 +863,37 @@
if (listScene.Count == 0)
{
- //鏄剧ず娌″満鏅�
- this.ShowNoSceneTip();
+ //杩樻病鏈夊満鏅摝
+ this.ShowNotDataImage(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.NoScene_Tip));
return;
}
//鍒楄〃鎺т欢
- var listView = new VerticalFrameControl();
- listView.Height = bodyFrameLayout.Height;
- bodyFrameLayout.AddChidren(listView);
+ var listSceneBackContr = new FrameLayout();
+ listSceneBackContr.Height = bodyFrameLayout.Height;
+ bodyFrameLayout.AddChidren(listSceneBackContr);
HdlThreadLogic.Current.RunThread(() =>
{
- //鍒濆鍖栬澶囧崱鐗囧垪琛ㄦ帶浠�
- this.InitSceneListCardControl(listView, listScene);
+ //鍒濆鍖栧満鏅崱鐗囧垪琛ㄦ帶浠�
+ this.InitSceneListCardControl(listSceneBackContr, listScene);
});
}
/// <summary>
/// 鍒濆鍖栧満鏅崱鐗囧垪琛ㄦ帶浠�
/// </summary>
- /// <param name="listView"></param>
- private void InitSceneListCardControl(VerticalFrameControl listView, List<SceneUI> listScene)
+ /// <param name="listSceneBackContr"></param>
+ private void InitSceneListCardControl(FrameLayout listSceneBackContr, List<SceneUI> listScene)
{
//鍦烘櫙璁℃暟
int contrCount = 0;
//X杞村潗鏍�(鍥剧墖宸﹁竟鏈変綑鐧�)
- int XX = Application.GetMinRealAverage(44);
+ int XX = this.GetPictrueRealSize(44);
//Y杞村潗鏍�
int YY = 0;
foreach (var sceneUi in listScene)
{
- if (this.isRoomChanging == true || listView.Parent == null)
+ if (this.isRoomChanging == true || listSceneBackContr.Parent == null)
{
//鏀惧純鍒濆鍖栨帶浠�
return;
@@ -806,7 +904,7 @@
var cardContr = new Controls.SceneCardControl();
cardContr.X = XX;
cardContr.Y = YY;
- listView.frameTable.AddChidren(cardContr);
+ listSceneBackContr.AddChidren(cardContr);
cardContr.InitControl(sceneUi);
//鍗$墖闇�瑕佽绉婚櫎鐨勪簨浠�
cardContr.CardNeedRemoveEvent += () =>
@@ -817,63 +915,47 @@
//璁惧璁℃暟
contrCount++;
//姣忎袱涓悗,X杞撮噸缃�
- XX = contrCount % 2 == 0 ? Application.GetMinRealAverage(44) : cardContr.Right + Application.GetMinRealAverage(20);
+ XX = contrCount % 2 == 0 ? this.GetPictrueRealSize(44) : cardContr.Right + this.GetPictrueRealSize(20);
if (contrCount % 2 == 0)
{
//娌′袱涓箣鍚�,Y杞撮�掑
- YY = cardContr.Bottom + Application.GetMinRealAverage(15);
+ YY = cardContr.Bottom + this.GetPictrueRealSize(15);
}
//鎺т欢璁板綍鍒扮紦瀛樹腑
this.dicSceneCardControl[sceneUi.Id] = cardContr;
+
if (contrCount == listScene.Count)
{
//璋冩暣妗屽竷楂樺害
- listView.AdjustTableHeight();
+ if (contrCount > 4)
+ {
+ bodyFrameLayout.Height = listSceneBackContr.GetChildren(listSceneBackContr.ChildrenCount - 1).Bottom;
+ listSceneBackContr.Height = bodyFrameLayout.Height;
+ this.listBodyContr.frameTable.Height = bodyFrameLayout.Bottom;
+ }
HdlThreadLogic.Current.RunThread(() =>
{
//璁剧疆鐩墠鍦烘櫙鐨勫欢杩熺姸鎬�
- this.SetSceneDelayTime(listView);
+ this.SetSceneDelayTime(listSceneBackContr);
});
}
});
- System.Threading.Thread.Sleep(50);
+ if (contrCount > 6)
+ {
+ //璁╁畠鍛堢幇涓�绉嶄竴娆℃�ф樉绀哄嚭鏉ョ殑鏁堟灉
+ System.Threading.Thread.Sleep(50);
+ }
}
- }
-
- /// <summary>
- /// 鏄剧ず娌″満鏅�
- /// </summary>
- private void ShowNoSceneTip()
- {
- var noScene = new Button
- {
- Y = Application.GetRealHeight(69),
- Width = Application.GetMinRealAverage(683),
- Height = Application.GetMinRealAverage(392),
- Gravity = Gravity.CenterHorizontal,
- UnSelectedImagePath = "Item/NoFunction.png"
- };
- bodyFrameLayout.AddChidren(noScene);
- var noScenceTip = new Button()
- {
- Y = noScene.Bottom,
- Height = Application.GetRealHeight(200),
- Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"),
- TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
- TextAlignment = TextAlignment.Center,
- IsMoreLines = true
- };
- bodyFrameLayout.AddChidren(noScenceTip);
}
/// <summary>
/// 璁剧疆鍦烘櫙鐨勫欢杩熺姸鎬�
/// </summary>
- /// <param name="listView"></param>
- private async void SetSceneDelayTime(VerticalFrameControl listView)
+ /// <param name="listSceneBackContr"></param>
+ private async void SetSceneDelayTime(FrameLayout listSceneBackContr)
{
await System.Threading.Tasks.Task.Delay(1500);
- if (listView.Parent == null)
+ if (listSceneBackContr.Parent == null)
{
//鎺т欢宸茬粡琚Щ闄�
return;
@@ -884,7 +966,7 @@
{
return;
}
- if (listView.Parent == null)
+ if (listSceneBackContr.Parent == null)
{
//鎺т欢宸茬粡琚Щ闄�
return;
@@ -946,12 +1028,12 @@
if (contrCount % 2 == 1)
{
//绗竴涓浐瀹�44
- XX = Application.GetMinRealAverage(44);
+ XX = this.GetPictrueRealSize(44);
}
else
{
//绗簩涓槸44+鎺т欢瀹藉害+20浣欑櫧
- XX = Application.GetMinRealAverage(44) + this.dicSceneCardControl[sceneId].Width + Application.GetMinRealAverage(20);
+ XX = this.GetPictrueRealSize(44) + this.dicSceneCardControl[sceneId].Width + this.GetPictrueRealSize(20);
}
//姣忎袱涓箣鍚�,骞朵笖鏄涓�涓椂,Y杞撮�掑
@@ -960,7 +1042,7 @@
//姹傚晢
int value = contrCount / 2;
//鎺т欢鐨勫簳閮ㄦ湁15鐨勯棿闅�
- YY = value * (this.dicSceneCardControl[sceneId].Height + Application.GetMinRealAverage(15));
+ YY = value * (this.dicSceneCardControl[sceneId].Height + this.GetPictrueRealSize(15));
}
if (canMove == true)
{
@@ -970,14 +1052,19 @@
}
}
//鍘绘壘涓�涓嬭繖涓帶浠剁殑鍒楄〃瀹瑰櫒
- var listView = deleteContr.Parent.Parent as VerticalFrameControl;
+ var listView = deleteContr.Parent as FrameLayout;
//鍒犻櫎鎺夐偅寮犲崱鐗囩殑涓婚敭
deleteContr.RemoveFromParent();
this.dicSceneCardControl.Remove(deleteId);
//璋冩暣妗屽竷楂樺害
- listView?.AdjustTableHeight();
+ if (listView.ChildrenCount >= 4)
+ {
+ bodyFrameLayout.Height = listView.GetChildren(listView.ChildrenCount - 1).Bottom;
+ listView.Height = bodyFrameLayout.Height;
+ this.listBodyContr.frameTable.Height = bodyFrameLayout.Bottom;
+ }
}
#endregion
@@ -1016,36 +1103,23 @@
/// <param name="home">Home.</param>
private void ChangeResidence(House home)
{
- try
+ HdlThreadLogic.Current.RunThread(() =>
{
- CommonPage.Loading.Start();
- new System.Threading.Thread(async () =>
- {
- Config.Instance.HomeId = home.Id;
- Config.Instance.Home = House.GetHouseByFilePath(home.FileName);
- Global.CreateHomeDirectory(home.Id);
- Config.Instance.Save();
- //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
- await UserCenterLogic.InitUserCenterMenmoryAndThread();
- //鍒濆鍖栧叏閮ㄦ埧闂�
- HdlRoomLogic.Current.InitAllRoom();
+ this.ShowProgressBar();
- Application.RunOnMainThread(() =>
- {
- ShowForm();
- CommonPage.Loading.Hide();
- });
- })
- { IsBackground = true }.Start();
- }
- catch (Exception ex)
- {
- Application.RunOnMainThread(() =>
+ //鍒囨崲浣忓畢
+ var result = HdlResidenceLogic.Current.SwitchResidence(home.Id);
+
+ HdlThreadLogic.Current.RunMain(() =>
{
- CommonPage.Loading.Hide();
- Console.WriteLine(ex.Message);
+ if (result == true)
+ {
+ //鍒锋柊鐣岄潰
+ this.ShowForm();
+ }
+ this.CloseProgressBar();
});
- }
+ });
}
#endregion
@@ -1064,11 +1138,35 @@
{
//澶勭悊涓�鑸澶囩殑涓婃姤鏁版嵁
string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
+
+ //鏅捐。鏋朵笂鎶ラ渶瑕佺壒娈婂鐞嗭紝鍏朵粬涓婃姤鐨勫洖璺粺涓�杞负绔偣1
+ var tempList = LocalDevice.Current.GetDevicesByMac(report.DeviceAddr);
+ if (tempList.Count > 0)
+ {
+ var tempDeviceEnum = LocalDevice.Current.GetMyDeviceEnumInfo(tempList);
+ if (tempDeviceEnum.ConcreteType == Common.DeviceConcreteType.Airer)
+ {
+ mainKeys = report.DeviceAddr + "_" + 1;
+ }
+ }
+
if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
{
//鍒锋柊鍗$墖淇℃伅
var locadevice = LocalDevice.Current.GetDevice(mainKeys);
- this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice);
+ //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 2020.05.09:鍒犻櫎Ack涓婚
+ this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu();
+ //鍒锋柊鎺т欢
+ if (locadevice.Type != DeviceType.IASZone)
+ {
+ //浼犳劅鍣ㄤ笉闇�瑕佸睘鎬т笂鎶�(浣嗘槸閭d釜鐞冨瀷浼犳劅鍣ㄥ眳鐒朵細灞炴�т笂鎶�)
+ this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice);
+ }
+ else if (report.DeviceStatusReport.CluterID == 1)
+ {
+ //杩欎釜鏄數閲忔帹閫�
+ this.dicDeviceCardControl[mainKeys].RefreshBatteryStatu();
+ }
}
}, ShowErrorMode.NO);
});
@@ -1082,25 +1180,9 @@
if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
{
//鍒锋柊鍗$墖鐘舵��
- this.dicDeviceCardControl[mainKeys].SetCardOnlineStatu(report.IsOnline == 1);
+ bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(report);
+ this.dicDeviceCardControl[mainKeys].SetCardOnlineStatu(bolOnline);
return;
- }
-
- }, ShowErrorMode.NO);
- });
-
- //璁惧鎺у埗鍙嶉涓婃姤
- HdlGatewayReceiveLogic.Current.AddAttributeEvent("UserHomeViewDeviceRespone", ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, (report) =>
- {
- HdlThreadLogic.Current.RunMain(() =>
- {
- string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
- if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
- {
- //璁惧鍗$墖
- var deviceCardContr = this.dicDeviceCardControl[mainKeys];
- //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉
- deviceCardContr.SetHadGetResponeResultStatu();
}
}, ShowErrorMode.NO);
@@ -1125,13 +1207,51 @@
string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
{
- //鏈湴璁惧瀵硅薄
- var locadevice = LocalDevice.Current.GetDevice(mainKeys);
- //鍒锋柊鍗$墖淇℃伅
- this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice);
+ //寮�鍚崱鐗囬棯鐑佺壒鏁�
+ this.dicDeviceCardControl[mainKeys].StartCardLightAppeal();
}
}, ShowErrorMode.NO);
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 浼犳劅鍣ㄧ姸鎬佽繕鍘焈____________________
+
+ /// <summary>
+ /// 寮�鍚紶鎰熷櫒鐘舵�佽繕鍘熺殑绾跨▼
+ /// </summary>
+ private void StartRecoverSenorStatuThread()
+ {
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ while (this.Parent != null)
+ {
+ try
+ {
+ var dicControl = this.dicDeviceCardControl;
+ foreach (var contr in dicControl.Values)
+ {
+ //濡傛灉鏄紶鎰熷櫒,鍒欏埛鏂扮姸鎬�
+ if (contr.device.Type == DeviceType.IASZone && contr.Parent != null
+ && ((IASZone)contr.device).iASInfo == null)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //璁惧鐘舵�佸繀椤诲埛鏂�
+ string statuText = HdlDeviceOtherLogic.Current.GetDeviceStatu(contr.device);
+ contr.SetDeviceStatuText(statuText);
+ //浼犳劅鍣ㄥ垏鎹负鐏拌壊鐘舵��
+ contr.SwitchCardStatuAppeal(false);
+
+ }, ShowErrorMode.NO);
+ }
+ }
+ System.Threading.Thread.Sleep(8000);
+ }
+ catch { System.Threading.Thread.Sleep(3000); }
+ }
});
}
@@ -1144,14 +1264,17 @@
/// </summary>
private void ShowSelectFloorForm(NormalViewControl btnFloor)
{
- var floorFL = new Device.Category.SelectFloor();
+ var floorFL = new Category.SelectFloorForm();
+ floorFL.CurFloorId = Config.Instance.Home.CurrentFloorId;
this.AddChidren(floorFL);
floorFL.Init(35, 153);
- floorFL.changeFloor = true;
floorFL.FloorAction = (floorId) =>
{
- btnFloor.Text = Config.Instance.Home.GetFloorNameById(floorId);
- HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom();
+ btnFloor.Text = HdlResidenceLogic.Current.GetFloorNameById(floorId);
+ Config.Instance.Home.CurrentFloorId = floorId;
+ HdlRoomLogic.Current.NowMainPageRoom = HdlRoomLogic.Current.GetLoveRoom();
+ //鍒嗙被鐣岄潰闇�瑕佸埛鏂�
+ UserView.UserPage.Instance.RefreshCategoryForm = true;
this.ShowForm();
};
}
@@ -1165,8 +1288,10 @@
/// </summary>
public override void CloseFormBefore()
{
+ //鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖
+ Instance = null;
+
HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceOnline");
- HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceRespone");
HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceStatus");
HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewSensor");
@@ -1191,6 +1316,109 @@
return true;
}
+ /// <summary>
+ /// 鏄剧ずApp鍏憡
+ /// </summary>
+ private void ShowAppNotice()
+ {
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ if (HdlFirmwareUpdateLogic.CheckCanShowNotice() == true)
+ {
+ while (this.IsFormOpen("HdlAutoBackupForm") == true)
+ {
+ //鑷姩澶囦唤鐨勭晫闈㈡鍦ㄦ墦寮�涓�
+ System.Threading.Thread.Sleep(1000);
+ }
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鍔犺浇绯荤粺鍏憡
+ var form2 = new AppNoticeForm();
+ UserView.UserPage.Instance.AddChidren(form2);
+ form2.Show();
+ form2.FinishEvent += () =>
+ {
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ System.Threading.Thread.Sleep(1000);
+ //鏄剧ずApp鍗囩骇鐨勫脊绐�
+ this.ShowUpdateAppDialog();
+
+ }, ShowErrorMode.NO);
+ };
+
+ }, ShowErrorMode.NO);
+ }
+ else
+ {
+ //鏄剧ずApp鍗囩骇鐨勫脊绐�
+ this.ShowUpdateAppDialog();
+ }
+ }, ShowErrorMode.NO);
+ }
+
+ /// <summary>
+ /// 鏄剧ずApp鍗囩骇鐨勫脊绐�
+ /// </summary>
+ private void ShowUpdateAppDialog()
+ {
+ //App鍗囩骇鎻愮ず
+ if (string.IsNullOrEmpty(FirmwareUpdateResourse.AppNeedUpdateUrl) == false)
+ {
+ //鏁翠簡涓�娆′箣鍚庡氨涓嶆暣浜�
+ string updateUrl = FirmwareUpdateResourse.AppNeedUpdateUrl;
+ FirmwareUpdateResourse.AppNeedUpdateUrl = string.Empty;
+
+ while (this.IsFormOpen("HdlAutoBackupForm") == true)
+ {
+ //鑷姩澶囦唤鐨勭晫闈㈡鍦ㄦ墦寮�涓�
+ System.Threading.Thread.Sleep(1000);
+ }
+ //鍙戠幇APP鏂扮増鏈�,椹笂鍗囩骇{0}寮�鍚柊浣撻獙鍝
+ this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uAppUpdateMsg1).Replace("{0}", "\r\n"), () =>
+ {
+#if iOS
+ Uri url = new Uri(updateUrl);
+ UIKit.UIApplication.SharedApplication.OpenUrl(url);
+#endif
+#if Android
+ HDLUtils.OpenUrl(updateUrl);
+#endif
+ }, Language.StringByID(R.MyInternationalizationString.uLevelUp));
+ //App鍗囩骇鎻愮ず浼樺厛
+ return;
+ }
+ //缃戝叧鍗囩骇鎻愮ず
+ if (FirmwareUpdateResourse.ListGatewayNeedUpdate.Count > 0)
+ {
+ //鏁村畬涔嬪悗灏辨竻绌�
+ var listGateway = new List<string>();
+ listGateway.AddRange(FirmwareUpdateResourse.ListGatewayNeedUpdate);
+ FirmwareUpdateResourse.ListGatewayNeedUpdate = new List<string>();
+
+ while (this.IsFormOpen("HdlAutoBackupForm") == true)
+ {
+ //鑷姩澶囦唤鐨勭晫闈㈡鍦ㄦ墦寮�涓�
+ System.Threading.Thread.Sleep(1000);
+ }
+ foreach (var gwId in listGateway)
+ {
+ //鐩墠鍙暣涓�涓�
+ if (HdlGatewayLogic.Current.IsGatewayExist(gwId) == true)
+ {
+ //鍙戠幇缃戝叧鏂扮増鏈�,椹笂鍗囩骇{0}寮�鍚柊浣撻獙鍝
+ this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uGatewayUpdateMsg1).Replace("{0}", "\r\n"), () =>
+ {
+ var form = new UserCenter.GatewayUpdate.GatewayFirmwareUpdateForm();
+ form.AddForm(HdlGatewayLogic.Current.GetLocalGateway(gwId));
+ });
+ break;
+ }
+ }
+ return;
+ }
+ }
+
#endregion
#region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
@@ -1204,6 +1432,6 @@
return 1;
}
- #endregion
+#endregion
}
}
--
Gitblit v1.8.0