From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 21 七月 2020 09:46:53 +0800
Subject: [PATCH] 请合并最新多功能面板代码
---
ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs | 112 +++++++++++++++++++++++++++-----------------------------
1 files changed, 54 insertions(+), 58 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
index 99ce126..7be9dbd 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
@@ -15,7 +15,7 @@
/// <summary>
/// 妗屽竷鎺т欢锛岀敤浜庡瓨鏀炬垨鑰呯Щ闄ゅ姛鑳藉潡鎺т欢(Tab鎺т欢涓撶敤)
/// </summary>
- private FrameLayout frameLayoutDraw = null;
+ private NormalFrameLayout frameLayoutDraw = null;
/// <summary>
/// 瀹夐槻鎺т欢
/// </summary>
@@ -73,13 +73,13 @@
bodyFrameLayout.AddChidren(frameBack);
//妗屽竷鎺т欢
- frameLayoutDraw = new FrameLayout();
+ frameLayoutDraw = new NormalFrameLayout();
frameLayoutDraw.Y = Application.GetRealHeight(181);
frameLayoutDraw.Height = frameBack.Height - Application.GetRealHeight(181);
frameBack.AddChidren(frameLayoutDraw);
//瀹夐槻璁板綍(鐐瑰嚮鑼冨洿鏈夌偣灏忥紝闇�瑕佹墿澶у畠鐨勭偣鍑昏寖鍥�)
- var frameLog = new FrameLayoutControl();
+ var frameLog = new FrameLayoutStatuControl();
frameLog.UseClickStatu = false;
frameLog.Height = Application.GetRealHeight(123);
frameLog.Width = Application.GetRealWidth(273);
@@ -92,18 +92,18 @@
btnLog.TextAlignment = TextAlignment.Center;
btnLog.TextID = R.MyInternationalizationString.uSecurityLog;
btnLog.TextColor = UserCenterColor.Current.TextGrayColor3;
- frameLog.AddChidren(btnLog, ChidrenBindMode.BindEventOnly);
+ frameLog.AddChidren(btnLog, ChidrenBindMode.BindEvent);
//搴曠嚎
var btnLogLine = new NormalViewControl(40, 10, true);
btnLogLine.Y = Application.GetRealHeight(86);
btnLogLine.X = btnLog.X + btnLog.Width / 2 - Application.GetRealWidth(40) / 2;
btnLogLine.Radius = (uint)Application.GetRealHeight(10) / 2;
btnLogLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
- frameLog.AddChidren(btnLogLine, ChidrenBindMode.BindEventOnly);
+ frameLog.AddChidren(btnLogLine, ChidrenBindMode.BindEvent);
btnLogLine.Visible = false;
//浼犳劅鍣ㄧ姸鎬�(鐐瑰嚮鑼冨洿鏈夌偣灏忥紝闇�瑕佹墿澶у畠鐨勭偣鍑昏寖鍥�)
- var frameSensor = new FrameLayoutControl();
+ var frameSensor = new FrameLayoutStatuControl();
frameSensor.UseClickStatu = false;
frameSensor.Height = frameLog.Height;
frameSensor.Width = frameLog.Width;
@@ -118,14 +118,14 @@
btnSensor.TextAlignment = TextAlignment.Center;
btnSensor.TextColor = UserCenterColor.Current.TextColor2;
btnSensor.IsBold = true;
- frameSensor.AddChidren(btnSensor, ChidrenBindMode.BindEventOnly);
+ frameSensor.AddChidren(btnSensor, ChidrenBindMode.BindEvent);
//搴曠嚎
var btnSensorLine = new NormalViewControl(40, 10, true);
btnSensorLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
btnSensorLine.Y = btnLogLine.Y;
btnSensorLine.X = btnSensor.X + btnSensor.Width / 2 - Application.GetRealWidth(40) / 2;
btnSensorLine.Radius = (uint)Application.GetRealHeight(10) / 2;
- frameSensor.AddChidren(btnSensorLine, ChidrenBindMode.BindEventOnly);
+ frameSensor.AddChidren(btnSensorLine, ChidrenBindMode.BindEvent);
//瀹夐槻璁板綍Tab
frameLog.ButtonClickEvent += (sender, e) =>
@@ -190,7 +190,7 @@
btnIcon.ButtonClickEvent += (sender, e) =>
{
//鑿滃崟鎺т欢
- var frameMenu = new TopRightMenuControl(2);
+ var frameMenu = new TopRightMenuControl(2, 2);
//闃插尯鍒楄〃
string menu1 = Language.StringByID(R.MyInternationalizationString.uGarrisonAreaList);
frameMenu.AddRowMenu(menu1, "Item/GarrisonList.png", "Item/GarrisonListSelected.png", () =>
@@ -238,7 +238,7 @@
topFrameLayout.AddChidren(btnShortCut);
btnShortCut.InitControl();
- if (UserCenterResourse.Option.SafetyShortcut == true)
+ if (UserCenterResourse.ResidenceOption.SafetyShortcut == true)
{
//浣跨敤蹇嵎鏂瑰紡
btnShortCut.IsSelected = true;
@@ -250,9 +250,11 @@
//纭畾鍙栨秷涓婚〉鐨勩�屽畨闃层�嶆嵎寰勶紵
this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uCancelSafetyShortcutMsg), () =>
{
- UserCenterResourse.Option.SafetyShortcut = false;
- UserCenterResourse.Option.Save();
+ UserCenterResourse.ResidenceOption.SafetyShortcut = false;
+ UserCenterResourse.ResidenceOption.Save();
btnShortCut.IsSelected = false;
+ //鍙栨秷涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
+ UserView.UserPage.Instance.RefreshAllForm = true;
});
}
else
@@ -260,9 +262,11 @@
//纭畾鍒涘缓銆屽畨闃层�嶆嵎寰勫埌涓婚〉锛�
this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uCreatSafetyShortcutMsg), () =>
{
- UserCenterResourse.Option.SafetyShortcut = true;
- UserCenterResourse.Option.Save();
+ UserCenterResourse.ResidenceOption.SafetyShortcut = true;
+ UserCenterResourse.ResidenceOption.Save();
btnShortCut.IsSelected = true;
+ //鍒涘缓涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
+ UserView.UserPage.Instance.RefreshAllForm = true;
});
}
};
@@ -428,6 +432,8 @@
}
}
}
+ //璋冩暣鍒楄〃鎺т欢楂樺害
+ listView.AdjustChidrenFrameHeight(listView.frameTable, Application.GetRealHeight(46));
//寮�鍚紶鎰熷櫒鎶ヨ鐩戣
this.StartCheckDeviceAlarm();
//寮�鍚澶囧湪绾跨洃娴�
@@ -452,7 +458,7 @@
//鑷畾涔変紶鎰熷櫒鐘舵�佹帶浠�
var frameDevice = new SafetySensorStatuControl();
- listView.AddChidrenFrame(frameDevice);
+ listView.AddChidren(frameDevice);
frameDevice.InitControl(device);
//娣诲姞闃村奖鐗规晥
frameDevice.SetViewShadow(true);
@@ -488,7 +494,7 @@
var control = this.dicSensorStatuView[mainkey];
//鑾峰彇浼犳劅鍣ㄦ姤璀︿俊鎭殑缈昏瘧鏂囨湰
var msgInfo = HdlAlarmsLogic.Current.GetSensorAlarmInfo(device);
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
control?.SetSensoReportInfo(msgInfo);
});
@@ -528,69 +534,59 @@
//浠庤澶囧垪琛ㄤ腑鑾峰彇鍦ㄧ嚎鐘舵��
HdlThreadLogic.Current.RunThread(() =>
{
- //棣栧厛鑾峰彇杩欎簺浼犳劅鍣ㄦ墍鍦ㄧ殑缃戝叧
- var listWay = new List<ZbGateway>();
foreach (var device in listDevice)
- {
- ZbGateway realWay = null;
- //鏄惁瀛樺湪鐪熷疄鐗╃悊缃戝叧
- if (HdlGatewayLogic.Current.GetRealGateway(ref realWay, device.CurrentGateWayId) == false)
- {
- continue;
- }
- listWay.Add(realWay);
- }
- foreach (var zbway in listWay)
{
if (this.Parent == null)
{
//鐣岄潰鍏抽棴
return;
}
- Common.LocalDevice.Current.GetDeviceListFromGateway(zbway, false, this.ReceiveDeviceStatuPush, ShowErrorMode.NO);
+ var deviceInfo = Common.LocalDevice.Current.ReadDeviceEpointDeviceInfo(device);
+ if (deviceInfo != null)
+ {
+ //璁剧疆璁惧鍦ㄧ嚎鐘舵��
+ this.ReceiveDeviceStatuPush(device, deviceInfo);
+ }
+ System.Threading.Thread.Sleep(50);
}
- });
+ }, ShowErrorMode.NO);
}
/// <summary>
/// 鎺ュ彈璁惧鍦ㄧ嚎鎺ㄩ��
/// </summary>
/// <param name="device"></param>
- private void ReceiveDeviceStatuPush(CommonDevice device)
+ private void ReceiveDeviceStatuPush(CommonDevice device, CommonDevice.DeviceInfoData deviceInfo)
{
if (this.Parent == null)
{
//鐣岄潰鍏抽棴
return;
}
-
- lock (objOnlineLock)
+ string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
+ if (this.dicSensorStatuView.ContainsKey(mainkeys) == true)
{
- string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
- if (this.dicSensorStatuView.ContainsKey(mainkeys) == true)
+ CommonDevice Loacldevice = Common.LocalDevice.Current.GetDevice(mainkeys);
+ if (Loacldevice == null)
{
- CommonDevice Loacldevice = Common.LocalDevice.Current.GetDevice(mainkeys);
- if (Loacldevice == null)
- {
- return;
- }
- //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂�
- if (Loacldevice.IsOnline == device.IsOnline)
- {
- return;
- }
- //淇濆瓨鐘舵��
- Loacldevice.IsOnline = device.IsOnline;
- Loacldevice.ReSave();
-
- //鍥犱负杩欐槸鎺ㄩ�佽繃鏉ョ殑锛屾垜涓嶄繚璇侀偅涓�鐬棿杩欎釜涓滆タ浼氫笉浼氳绉婚櫎
- var control = this.dicSensorStatuView[mainkeys];
- Application.RunOnMainThread(() =>
- {
- //璁剧疆鎺т欢鐨勫湪绾跨姸鎬佹枃鏈晥鏋�
- control?.SetOnlineStatu(device.IsOnline == 1);
- });
+ return;
}
+ //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂�
+ if (Loacldevice.IsOnline == deviceInfo.IsOnline)
+ {
+ return;
+ }
+ //淇濆瓨鐘舵��
+ Loacldevice.IsOnline = deviceInfo.IsOnline;
+
+ //鍥犱负杩欐槸鎺ㄩ�佽繃鏉ョ殑锛屾垜涓嶄繚璇侀偅涓�鐬棿杩欎釜涓滆タ浼氫笉浼氳绉婚櫎
+ var control = this.dicSensorStatuView[mainkeys];
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //璁剧疆鎺т欢鐨勫湪绾跨姸鎬佹枃鏈晥鏋�
+ bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(device);
+ control?.SetOnlineStatu(bolOnline);
+ });
}
}
@@ -674,7 +670,7 @@
//鎵ц鍒濆鍖�
TodaySafeguardFrame = new SafeguardLogControl();
TodaySafeguardFrame.Y = Application.GetRealHeight(10);
- listView.AddChidrenFrame(TodaySafeguardFrame);
+ listView.AddChidren(TodaySafeguardFrame);
TodaySafeguardFrame.InitControl(nowDayKey, nowDayData);
//鍒濆鍖栧叾浠栨棩鏈熺殑瀹夐槻璁板綍鎺т欢
@@ -682,7 +678,7 @@
{
otherDaySafeguardFrame = new FrameLayout();
otherDaySafeguardFrame.Height = Application.GetRealHeight(10);
- listView.AddChidrenFrame(otherDaySafeguardFrame);
+ listView.AddChidren(otherDaySafeguardFrame);
foreach (var dayText in dicInfo.Keys)
{
//鎵ц鍒濆鍖�
--
Gitblit v1.8.0