From 26d1cdf2f5246c1ad7890e6740444c4a6a80e6fb Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 11 八月 2020 13:21:10 +0800
Subject: [PATCH] 合并了新代码
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs | 117 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 64 insertions(+), 53 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
index 4e36633..899ed8e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -151,7 +151,7 @@
listView.BeginHeaderRefreshingAction += () =>
{
//鍒锋柊璁惧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
- UserView.UserPage.Instance.RefreshForm = true;
+ UserView.UserPage.Instance.RefreshAllForm = true;
HdlThreadLogic.Current.RunThread(() =>
{
@@ -269,7 +269,8 @@
btnRight.ButtonClickEvent += (sender, e) =>
{
//鍥炶矾鏁板ぇ浜�1鎵嶅睍寮�
- if (Common.LocalDevice.Current.GetDevicesCountByMac(deviceMac) > 1)
+ var listMacDevice = LocalDevice.Current.GetDevicesByMac(deviceMac, false);
+ if (listMacDevice.Count > 1)
{
btnRight.IsSelected = !btnRight.IsSelected;
//灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛�
@@ -277,9 +278,20 @@
}
else
{
+ if (LocalDevice.Current.IsMiniLight(listMacDevice[0]) == true)
+ {
+ //mini澶滅伅鐨勫姛鑳借缃晫闈�
+ var room = HdlRoomLogic.Current.GetRoomByDevice(listMacDevice[0]);
+ var form = new MainPage.DeviceDetailInfoForm();
+ form.AddForm(listMacDevice[0], room);
+ }
+ else
+ {
+ //璁惧淇℃伅鐣岄潰
+ var form = new DeviceMacInfoEditorForm();
+ form.AddForm(deviceMac);
+ }
btnNew.Visible = false;
- var form = new DeviceMacInfoEditorForm();
- form.AddForm(deviceMac);
//鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
this.nowActionDeviceMac = deviceMac;
}
@@ -296,9 +308,22 @@
form2.AddForm(deviceMac);
return;
}
+ var listMacDevice = LocalDevice.Current.GetDevicesByMac(deviceMac, false);
+ if (LocalDevice.Current.IsMiniLight(listMacDevice[0]) == true)
+ {
+ //mini澶滅伅鐨勫姛鑳借缃晫闈�
+ var room = HdlRoomLogic.Current.GetRoomByDevice(listMacDevice[0]);
+ var form = new MainPage.DeviceDetailInfoForm();
+ form.AddForm(listMacDevice[0], room);
+ }
+ else
+ {
+ //璁惧淇℃伅鐣岄潰
+ var form = new DeviceMacInfoEditorForm();
+ form.AddForm(deviceMac);
+ }
+
btnNew.Visible = false;
- var form = new DeviceMacInfoEditorForm();
- form.AddForm(deviceMac);
//鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃
this.nowActionDeviceMac = deviceMac;
};
@@ -352,7 +377,8 @@
}
}
else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
- || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
+ || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment
+ || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
{
var listTemp = Common.LocalDevice.Current.GetPanelMatchEpointByMac(listDevice);
//灞曞紑妯″紡鏃讹紝鎵╁ぇ渚濇嵁涓�:瀹冩湁鍑犱釜瀛愭帶浠�
@@ -493,12 +519,6 @@
var form = new DeviceAirConditioner.IndoorUnitSettionForm();
form.AddForm((AC)device);
}
- //鐜闈㈡澘
- else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
- {
- var form = new DeviceFunctionSettionForm();
- form.AddForm(device, true);
- }
//鏂伴闈㈡澘
else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
{
@@ -506,7 +526,7 @@
//骞叉帴鐐�
if (device.Type == DeviceType.FreshAir)
{
- var form = new DevicePanel.PanelFangyueFreshAirButtonSettionForm();
+ var form = new DevicePanel.PanelSettionWithSourceForm();
form.AddForm(device);
}
else
@@ -521,7 +541,7 @@
if (device.Type == DeviceType.FreshAir || device.Type == DeviceType.Thermostat)
{
- var form = new DevicePanel.PanelSimpleEnvironmentButtonSettionForm();
+ var form = new DevicePanel.PanelSettionWithSourceForm();
form.AddForm(device);
}
else
@@ -530,7 +550,7 @@
form.AddForm(device, true);
}
}
- //绠�绾︾幆澧冮潰鏉跨殑鎸夐敭閰嶇疆
+ //绠�绾﹀鍔熻兘闈㈡澘鐨勬寜閿厤缃�
else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
{
var form = new DeviceFunctionSettionForm();
@@ -625,7 +645,7 @@
{
lock (dicRowInfo)
{
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
if (this.listView == null)
{
@@ -674,7 +694,7 @@
/// <summary>
/// 婊戝姩鎺т欢涓嬫媺鍒锋柊
/// </summary>
- private async void ListViewBeginHeaderRefreshing()
+ private void ListViewBeginHeaderRefreshing()
{
//濡傛灉褰撳墠浣忓畢鏄櫄鎷熺殑
if (Common.Config.Instance.Home.IsVirtually == true)
@@ -701,7 +721,7 @@
{
//鏄剧ず杩涘害鏉�
ProgressBar.Show();
- int result2 = await HdlGatewayLogic.Current.ReBindNewGateway(realWay);
+ int result2 = HdlGatewayLogic.Current.ReBindNewGateway(realWay);
//鍏抽棴杩涘害鏉�
ProgressBar.Close();
if (result2 == -1)
@@ -717,7 +737,7 @@
}
//鑾峰彇鍏ㄩ儴璁惧
- int result = LocalDevice.Current.SetDeviceToMemmoryByGateway(nowGateway);
+ int result = LocalDevice.Current.SetDeviceToMemmoryByGateway(nowGateway, false);
if (this.Parent == null)
{
return;
@@ -754,7 +774,7 @@
//鍒锋柊缃戝叧鍦ㄧ嚎鐘舵��
HdlGatewayLogic.Current.RefreshGatewayOnlineStatu(new List<ZbGateway>() { zbGateway });
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
if (this.gatewayViewRow != null && this.gatewayViewRow.zbGatewayId == selectGwId)
{
@@ -782,7 +802,7 @@
}
if (gateWay.GwId == this.gatewayViewRow.zbGatewayId)
{
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
//鐩稿悓鐨勭姸鎬�,涓嶉渶瑕佸啀娆″埛鏂�
if (this.gatewayViewRow.isOnline != online)
@@ -848,7 +868,7 @@
this.ReceiveDeviceStatu(device);
}, ShowErrorMode.NO);
}
- System.Threading.Thread.Sleep(30);
+ System.Threading.Thread.Sleep(50);
}
}
});
@@ -1034,14 +1054,27 @@
{
if (this.dicRowInfo.ContainsKey(deviceAddr) == true)
{
- var row = this.dicRowInfo[deviceAddr];
- row.MenuRow?.RefreshControlInfo(true);
- //鏄庣粏
- if (row.dicDetailRow != null)
+ var rowInfo = this.dicRowInfo[deviceAddr];
+ //妫�娴嬭繖涓澶囨槸鍚﹁鍒犻櫎 2020.01.13鍙樻洿:杩藉姞Ota璁惧鐨勫垽鏂�
+ if (LocalDevice.Current.GetDevicesByMac(deviceAddr).Count == 0
+ && LocalDevice.Current.GetOTADevice(deviceAddr) == null)
{
- foreach (var detailRow in row.dicDetailRow.Values)
+ //绉婚櫎鎺т欢
+ rowInfo.dicDetailRow = null;
+ rowInfo.frameTable.RemoveFromParent();
+
+ this.dicRowInfo.Remove(deviceAddr);
+ }
+ else
+ {
+ //鍒锋柊璁惧淇℃伅
+ rowInfo.MenuRow?.RefreshControlInfo(true);
+ if (rowInfo.dicDetailRow != null)
{
- detailRow.RefreshControlInfo();
+ foreach (var contr in rowInfo.dicDetailRow.Values)
+ {
+ contr?.RefreshControlInfo();
+ }
}
}
}
@@ -1107,30 +1140,8 @@
{
if (this.nowActionDeviceMac != null)
{
- var rowInfo = this.dicRowInfo[nowActionDeviceMac];
- //妫�娴嬭繖涓澶囨槸鍚﹁鍒犻櫎 2020.01.13鍙樻洿:杩藉姞Ota璁惧鐨勫垽鏂�
- if (Common.LocalDevice.Current.GetDevicesByMac(nowActionDeviceMac).Count == 0
- && Common.LocalDevice.Current.GetOTADevice(nowActionDeviceMac) == null)
- {
- //绉婚櫎鎺т欢
- rowInfo.dicDetailRow = null;
- rowInfo.frameTable.RemoveFromParent();
-
- this.dicRowInfo.Remove(nowActionDeviceMac);
- rowInfo = null;
- }
- else
- {
- //鍒锋柊璁惧淇℃伅
- rowInfo.MenuRow?.RefreshControlInfo(true);
- if (rowInfo.dicDetailRow != null)
- {
- foreach (var contr in rowInfo.dicDetailRow.Values)
- {
- contr?.RefreshControlInfo();
- }
- }
- }
+ //鍒锋柊鎸囧畾璁惧琛岀殑淇℃伅
+ this.RefreshDeviceRow(this.nowActionDeviceMac);
}
//娓呯┖璁板綍
this.nowActionDeviceMac = null;
--
Gitblit v1.8.0