From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs | 61 ++++++++++++++----------------
1 files changed, 28 insertions(+), 33 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs
index 1d0ea04..81fd930 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs
@@ -9,7 +9,7 @@
/// <summary>
/// 缃戝叧鐨勫崌绾ч�昏緫
/// </summary>
- public class HdlGatewayUpdateLogic
+ public class HdlGatewayUpdateLogic : HdlDeviceUpdateCommonLogic
{
#region 鈻� 鍙橀噺澹版槑___________________________
@@ -23,7 +23,7 @@
/// </summary>
public Action<int, string> UpdateStatuChangedEvent = null;
/// <summary>
- /// 杩涘害鍊间簨浠�
+ /// 杩涘害鍊间簨浠�(宸茬粡鏄櫨鍒嗘瘮鐨勫��)
/// </summary>
public Action<decimal> ProgressEvent = null;
/// <summary>
@@ -38,14 +38,6 @@
/// 缃戝叧鏂扮増鏈殑鍥轰欢淇℃伅
/// </summary>
public FirmwareVersionInfo gatewayFirmware = null;
- /// <summary>
- /// 褰撳墠鎵ц鐘舵��(鍑虹幇閿欒鏃�,瀹冧篃浼氬彉鎴恡rue)
- /// </summary>
- public UpdateStatuMode UpdateStatu = UpdateStatuMode.None;
- /// <summary>
- /// 鍗囩骇鏄惁瀹屾垚
- /// </summary>
- public bool IsFinishUpdate = true;
/// <summary>
/// 鍓嶄竴娆$殑鏈�缁堢姸鎬�
@@ -71,6 +63,7 @@
public HdlGatewayUpdateLogic(ZbGateway zbGateway, FirmwareVersionInfo i_virtualFirmware,
FirmwareVersionInfo i_coordinatorFirmware, FirmwareVersionInfo i_gatewayFirmware)
{
+ this.ClassDiv = 1;
this.upDatezbGateway = zbGateway;
this.virtualFirmware = i_virtualFirmware;
this.coordinatorFirmware = i_coordinatorFirmware;
@@ -89,10 +82,10 @@
if (this.UpdateStatu == UpdateStatuMode.Wait)
{
//濡傛灉鏄瓑寰呮ā寮忥紝鍐嶆鐐瑰嚮鏃讹紝绉婚櫎鍒楄〃
- string gwId = HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway);
- if (FirmwareUpdateResourse.dicGatewayUpdateList.ContainsKey(gwId) == true)
+ string gwId = this.upDatezbGateway.GwId;
+ if (FirmwareUpdateResourse.dicUpdateList.ContainsKey(gwId) == true)
{
- FirmwareUpdateResourse.dicGatewayUpdateList.Remove(gwId);
+ FirmwareUpdateResourse.dicUpdateList.Remove(gwId);
}
this.UpdateStatu = UpdateStatuMode.None;
//鍙栨秷
@@ -108,8 +101,8 @@
//杩涘叆绛夊緟妯″紡
this.UpdateStatu = UpdateStatuMode.Wait;
- string gwId2 = HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway);
- FirmwareUpdateResourse.dicGatewayUpdateList[gwId2] = this;
+ string gwId2 = this.upDatezbGateway.GwId;
+ FirmwareUpdateResourse.dicUpdateList[gwId2] = this;
//绛夊緟涓��
this.UpdateStatuChangedEvent?.Invoke(0, Language.StringByID(R.MyInternationalizationString.uWaitting));
@@ -120,7 +113,7 @@
/// <summary>
/// 寮�濮嬫墽琛屾洿鏂版搷浣�(FirmwareUpdateLogic璋冪敤)
/// </summary>
- public void DoStartUpdate()
+ public override void DoStartUpdate()
{
//鐘舵�佸彉鏇�
this.IsFinishUpdate = false;
@@ -247,7 +240,7 @@
return;
}
var tempZb = (ZbGateway)objValue;
- if (tempZb.CurrentGateWayId != HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway))
+ if (tempZb.GwId != this.upDatezbGateway.GwId)
{
//涓嶆槸鑷繁鐨勭綉鍏虫帹閫侊紝鍒欎笉澶勭悊
return;
@@ -350,7 +343,7 @@
return;
}
var tempZb = (ZbGateway)objValue;
- if (tempZb.CurrentGateWayId != HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway))
+ if (tempZb.GwId != this.upDatezbGateway.GwId)
{
//涓嶆槸鑷繁鐨勭綉鍏虫帹閫侊紝鍒欎笉澶勭悊
return;
@@ -412,6 +405,7 @@
//鍗忚皟鍣ㄥ浐浠朵笅杞戒腑
this.UpdateStatuChangedEvent(0, Language.StringByID(R.MyInternationalizationString.uCoordinatorFirmwareDownLoading));
+ this.SetProgressValue(0, 100);
//涓嬭浇鍗忚皟鍣ㄦ枃浠剁殑杩涘害
this.upDatezbGateway.ReportAction += this.DownLoadCoordinatorFileProgress;
@@ -451,7 +445,7 @@
return;
}
var tempZb = (ZbGateway)objValue;
- if (tempZb.CurrentGateWayId != HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway))
+ if (tempZb.GwId != this.upDatezbGateway.GwId)
{
//涓嶆槸鑷繁鐨勭綉鍏虫帹閫侊紝鍒欎笉澶勭悊
return;
@@ -462,6 +456,7 @@
//璁剧疆杩涘害
var responData = tempZb.downloadFileProgressResponData;
+ this.SetProgressValue(responData.DownloadPercent, 100);
//鍗忚皟鍣ㄥ浐浠朵笅杞戒腑
this.UpdateStatuChangedEvent?.Invoke(0, Language.StringByID(R.MyInternationalizationString.uCoordinatorFirmwareDownLoading));
@@ -548,7 +543,7 @@
}
var tempZb = (ZbGateway)objValue;
- if (tempZb.CurrentGateWayId != HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway))
+ if (tempZb.GwId != this.upDatezbGateway.GwId)
{
//涓嶆槸鑷繁鐨勭綉鍏虫帹閫侊紝鍒欎笉澶勭悊
return;
@@ -610,6 +605,7 @@
//缃戝叧鍥轰欢涓嬭浇涓�
this.UpdateStatuChangedEvent?.Invoke(0, Language.StringByID(R.MyInternationalizationString.uGatewayFirmwareDownLoading));
+ this.SetProgressValue(0, 100);
//涓嬭浇缃戝叧鏂囦欢鐨勮繘搴�
this.upDatezbGateway.ReportAction += this.DownLoadGatewayFileProgress;
@@ -647,7 +643,7 @@
return;
}
var tempZb = (ZbGateway)objValue;
- if (tempZb.CurrentGateWayId != HdlGatewayLogic.Current.GetGatewayId(this.upDatezbGateway))
+ if (tempZb.GwId != this.upDatezbGateway.GwId)
{
//涓嶆槸鑷繁鐨勭綉鍏虫帹閫侊紝鍒欎笉澶勭悊
return;
@@ -754,7 +750,10 @@
//鎵ц涓嬩竴涓崌绾�
HdlFirmwareUpdateLogic.DoUpdateNextFirmware();
//缃戝叧鍗囩骇鎴愬姛!
- this.UpdateStatuChangedEvent?.Invoke(1, "");
+ this.SetProgressValue(100, 100);
+ System.Threading.Thread.Sleep(1500);
+
+ this.UpdateStatuChangedEvent?.Invoke(1, Language.StringByID(R.MyInternationalizationString.uGatewayUpdateSuccess));
});
}
@@ -807,7 +806,7 @@
return;
}
decimal result = value / maxValue;
- this.ProgressEvent?.Invoke(value);
+ this.ProgressEvent?.Invoke(result);
}
/// <summary>
@@ -955,7 +954,7 @@
//缃戝叧鍗囩骇
timeCount += 50;
//缃戝叧閲嶅惎
- timeCount += 180;
+ timeCount += 250;
}
return timeCount;
}
@@ -978,12 +977,8 @@
/// <returns></returns>
private void StartGetGatewayVersionThread()
{
- HdlThreadLogic.Current.RunThread(async () =>
+ HdlThreadLogic.Current.RunThread(() =>
{
- //褰撳墠缃戝叧鐨勭増鏈�
- var oldVersion = HdlGatewayLogic.Current.GetGwInfoAttribute(this.upDatezbGateway, "LinuxFWVersion");
- int oldLinuxVersion = Convert.ToInt32(oldVersion);
-
//鍏堢瓑涓�120绉掑惂锛岀綉鍏冲崌绾у拰缃戝叧瀹屽叏閲嶅惎闇�瑕佸緢闀挎椂闂�
int count = 12;
for (int i = 0; i < count; i++)
@@ -996,12 +991,12 @@
//杩欎釜鏃跺�欙紝涓嶅簲璇ユ彁绀鸿秴鏃�
this.UpdateTimeOutRefresh();
- await Task.Delay(10000);
+ System.Threading.Thread.Sleep(10000);
}
while (this.IsFinishUpdate == false)
{
//鑾峰彇鐗堟湰
- var result = await HdlGatewayLogic.Current.GetGatewayNewInfoAsync(this.upDatezbGateway, ShowErrorMode.NO);
+ var result = HdlGatewayLogic.Current.GetGatewayInfo(this.upDatezbGateway, false, ShowErrorMode.NO);
if (result != null)
{
break;
@@ -1009,7 +1004,7 @@
//杩欎釜鏃跺�欙紝涓嶅簲璇ユ彁绀鸿秴鏃�
this.UpdateTimeOutRefresh();
- await Task.Delay(5000);
+ System.Threading.Thread.Sleep(5000);
}
//宸茬粡鑳藉鑾峰彇鏁版嵁
this.ShowFinishMsg();
@@ -1023,7 +1018,7 @@
/// <summary>
/// 閲婃斁缂撳瓨
/// </summary>
- public void Dispose()
+ public override void Dispose()
{
this.ProgressEvent = null;
this.UpdateStatuChangedEvent = null;
--
Gitblit v1.8.0