From 2450c12c825ad4d78d1572da2fa421706db2df2f Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 18 六月 2020 16:01:14 +0800
Subject: [PATCH] 新代码
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs | 106 +++++++++++++++++++++++++---------------------------
1 files changed, 51 insertions(+), 55 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs
index 7af7f6f..d456bd7 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs
@@ -15,7 +15,7 @@
/// <summary>
/// 鏂颁笂鎶ョ殑璁惧
/// </summary>
- private Dictionary<string, List<CommonDevice>> dicNewDevice = new Dictionary<string, List<CommonDevice>>();
+ private List<CommonDevice> listNewDevice = new List<CommonDevice>();
/// <summary>
/// 鏄剧ず璁惧绾跨▼鏄惁宸茬粡寮�鍚�
/// </summary>
@@ -106,6 +106,7 @@
//杩涘害鏉�
this.btnProgressBar = new ProgressRowBar(559, 29);
+ btnProgressBar.ProgressBarGoback = false;
btnProgressBar.Gravity = Gravity.CenterHorizontal;
btnProgressBar.Y = Application.GetRealHeight(861);
bodyFrameLayout.AddChidren(btnProgressBar);
@@ -154,50 +155,42 @@
return;
}
- lock (this.dicNewDevice)
+ var jobject = Newtonsoft.Json.Linq.JObject.Parse(resultData);
+ CommonDevice.DeviceInfoData info = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.DeviceInfoData>(jobject["Data"].ToString());
+ if (info.DriveCode != 0)
{
- var jobject = Newtonsoft.Json.Linq.JObject.Parse(resultData);
- CommonDevice.DeviceInfoData info = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.DeviceInfoData>(jobject["Data"].ToString());
- if (info.DriveCode != 0)
- {
- //涓嶉渶瑕佽櫄鎷熻澶�
- return;
- }
- //鏍规嵁璁惧Type鍒涘缓瀵瑰簲鐨勮澶囧璞�
- var device = Common.LocalDevice.Current.NewDeviceObjectByDeviceId((DeviceType)jobject.Value<int>("Device_ID"));
- if (device == null)
- {
- return;
- }
- device.DeviceInfo = info;
-
- //缁欐柊璁惧璁剧疆涓婚敭灞炴��
- Common.LocalDevice.Current.SetNewDeviceMainKeys(device, jobject);
- device.CurrentGateWayId = this.realGateway.GwId;
- //灏咲eviceInfo鐨勫睘鎬ц缃埌涓诲睘鎬т腑
- Common.LocalDevice.Current.SetDeviceInfoToMain(device, device);
-
- //娣诲姞璁惧鐨勭紦瀛�
- device.IsOnline = 1;
- Common.LocalDevice.Current.AddDeviceToMemory(ref device);
-
- if (this.dicNewDevice.ContainsKey(device.DeviceAddr) == false)
- {
- this.dicNewDevice[device.DeviceAddr] = new List<CommonDevice>();
- }
-
- //鍒锋柊瓒呮椂鏃堕棿
- this.waitDeviceTimeOut = 20;
-
- //鑾峰彇璁惧鐨勫浐瀹氬睘鎬�
- HdlDeviceFixedAttributeLogic.Current.SetAllFixedAttributeToDevice(device);
-
- //涓嶉渶瑕�200绔偣鐨勯偅涓澶� 2020.01.13 鍙樻洿:ota涔熷姞杩涙潵
- this.dicNewDevice[device.DeviceAddr].Add(device);
-
- //鏈夋柊璁惧锛屽紑鍚樉绀鸿澶囦俊鎭晫闈㈢殑绾跨▼(閲岄潰浼氱瓑寰呬笁绉掕繖鏍�)
- this.StartShowDeviceAddSuccessFormThread();
+ //涓嶉渶瑕佽櫄鎷熻澶�
+ return;
}
+ //鏍规嵁璁惧Type鍒涘缓瀵瑰簲鐨勮澶囧璞�
+ var device = Common.LocalDevice.Current.NewDeviceObjectByDeviceId((DeviceType)jobject.Value<int>("Device_ID"));
+ if (device == null)
+ {
+ return;
+ }
+ device.DeviceInfo = info;
+
+ //缁欐柊璁惧璁剧疆涓婚敭灞炴��
+ Common.LocalDevice.Current.SetNewDeviceMainKeys(device, jobject);
+ device.CurrentGateWayId = this.realGateway.GwId;
+ //灏咲eviceInfo鐨勫睘鎬ц缃埌涓诲睘鎬т腑
+ Common.LocalDevice.Current.SetDeviceInfoToMain(device, device);
+
+ //娣诲姞璁惧鐨勭紦瀛�
+ device.IsOnline = 1;
+ Common.LocalDevice.Current.AddDeviceToMemory(ref device);
+
+ //鍒锋柊瓒呮椂鏃堕棿
+ this.waitDeviceTimeOut = 20;
+
+ //鑾峰彇璁惧鐨勫浐瀹氬睘鎬�
+ HdlDeviceFixedAttributeLogic.Current.SetAllFixedAttributeToDevice(device);
+
+ //涓嶉渶瑕�200绔偣鐨勯偅涓澶� 2020.01.13 鍙樻洿:ota涔熷姞杩涙潵
+ this.listNewDevice.Add(device);
+
+ //鏈夋柊璁惧锛屽紑鍚樉绀鸿澶囦俊鎭晫闈㈢殑绾跨▼(閲岄潰浼氱瓑寰呬笁绉掕繖鏍�)
+ this.StartShowDeviceAddSuccessFormThread();
}
#endregion
@@ -231,22 +224,25 @@
//鐩墠灏卞紕涓�涓�
Application.RunOnMainThread(() =>
{
- foreach (var listDevice in this.dicNewDevice.Values)
+ var listDevice = new List<CommonDevice>();
+ for (int i = 0; i < this.listNewDevice.Count; i++)
{
- //閲嶆柊鍙樻洿UI
- foreach (var device in listDevice)
+ var device = this.listNewDevice[i];
+ if (device.DeviceAddr != this.listNewDevice[0].DeviceAddr)
{
- if (device is OTADevice)
- {
- continue;
- }
- device.IconPath = string.Empty;
- device.ReSave();
+ continue;
}
- //鏄剧ず璁惧淇℃伅鐢婚潰
- this.ShowDeviceAddSuccessForm(listDevice);
- break;
+ listDevice.Add(device);
+ //閲嶆柊鍙樻洿UI
+ if (device is OTADevice)
+ {
+ continue;
+ }
+ device.IconPath = string.Empty;
+ device.ReSave();
}
+ //鏄剧ず璁惧淇℃伅鐢婚潰
+ this.ShowDeviceAddSuccessForm(listDevice);
});
});
}
--
Gitblit v1.8.0