From fdc47d950498e088260a3b04028703adc0f878e0 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 30 三月 2020 10:54:27 +0800
Subject: [PATCH] 2020-03-30-1
---
ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs | 280 +++++++++++++++++++++++++++++++------------------------
1 files changed, 156 insertions(+), 124 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs
index cf020f3..1730e43 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs
@@ -29,7 +29,7 @@
/// <summary>
/// 鍒楄〃鎺т欢
/// </summary>
- private VerticalScrolViewLayout listView = null;
+ private VerticalListControl listView = null;
/// <summary>
/// 铏氭嫙椹卞姩鍙�
/// </summary>
@@ -37,7 +37,7 @@
/// <summary>
/// 鐣岄潰鍏抽棴鐨凙ction(铏氭嫙璁惧,鍗忚皟鍣�,缃戝叧)
/// </summary>
- public Action<FirmwareVersionInfo, FirmwareVersionInfo, FirmwareVersionInfo, List<ZbGatewayData.DriveCodeObj>> FormCloseAction = null;
+ public Action<FirmwareVersionInfo, FirmwareVersionInfo, FirmwareVersionInfo, List<ZbGatewayData.DriveCodeObj>> SelectFirmwareInfoEvent = null;
/// <summary>
/// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
@@ -60,144 +60,176 @@
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uHistoryVersion) + "(娴嬭瘯鐗�,鍚庨潰浼拌浼氬垹闄�)");
//鍒濆鍖栦腑閮ㄦ帶浠�
- //this.InitMiddleFrame();
+ this.InitMiddleFrame();
}
- ///// <summary>
- ///// 鍒濆鍖栦腑閮ㄦ帶浠�
- ///// </summary>
- //private void InitMiddleFrame()
- //{
- // //娓呯┖bodyFrame
- // this.ClearBodyFrame();
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄦ帶浠�
+ /// </summary>
+ private void InitMiddleFrame()
+ {
+ //娓呯┖bodyFrame
+ this.ClearBodyFrame();
- // listView = new VerticalScrolViewLayout();
- // listView.Height = bodyFrameLayout.Height;
- // bodyFrameLayout.AddChidren(listView);
+ listView = new VerticalListControl();
+ listView.Height = bodyFrameLayout.Height;
+ listView.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(listView);
- // //缃戝叧
- // var listData1 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.Linux,
- // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "LinuxHWVersion").ToString(),
- // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "LinuxImageType").ToString());
+ //缃戝叧
+ var listData1 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.Linux,
+ upDatezbGateway.getGwInfo.LinuxHWVersion.ToString(),
+ upDatezbGateway.getGwInfo.LinuxImageType.ToString());
- // //鍗忚皟鍣�
- // var listData2 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.Coordinator,
- // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "ZbHWVersion").ToString(),
- // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "ZbImageType").ToString());
+ //鍗忚皟鍣�
+ var listData2 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.Coordinator,
+ upDatezbGateway.getGwInfo.ZbHWVersion.ToString(),
+ upDatezbGateway.getGwInfo.ZbImageType.ToString());
- // //铏氭嫙椹卞姩
- // var listData3 = new List<FirmwareVersionInfo>();
- // if (this.listVode != null && this.listVode.Count > 0)
- // {
- // //濡傛灉杩欎釜缃戝叧瑕佹湁铏氭嫙椹卞姩杩欎釜涓滆タ鐨勬椂鍊欐墠鑰冭檻
- // listData3 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.VirtualDevice,
- // this.listVode[0].DriveHwVersion.ToString(),
- // this.listVode[0].DriveImageType.ToString());
- // }
+ //铏氭嫙椹卞姩
+ var listData3 = new List<FirmwareVersionInfo>();
+ if (this.listVode != null && this.listVode.Count > 0)
+ {
+ //濡傛灉杩欎釜缃戝叧瑕佹湁铏氭嫙椹卞姩杩欎釜涓滆タ鐨勬椂鍊欐墠鑰冭檻
+ listData3 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.VirtualDevice,
+ this.listVode[0].DriveHwVersion.ToString(),
+ this.listVode[0].DriveImageType.ToString());
+ }
- // HdlThreadLogic.Current.Run(() =>
- // {
- // string fVersion = Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "LinuxFWVersion").ToString();
- // string imageType = Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "LinuxImageType").ToString();
- // foreach (var data in listData1)
- // {
- // //if (data.ImagType == imageType && fVersion == data.FirmwareVersion)
- // //{
- // // //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉�
- // // continue;
- // //}
- // Application.RunOnMainThread(() =>
- // {
- // this.AddRowlayout(data, FirmwareLevelType.Linux);
- // });
- // }
+ HdlThreadLogic.Current.RunMainInThread(() =>
+ {
+ bool canAddTitle = true;
+ int fVersion1 = upDatezbGateway.getGwInfo.LinuxFWVersion;
+ string imageType1 = upDatezbGateway.getGwInfo.LinuxImageType.ToString();
+ foreach (var data in listData1)
+ {
+ if (data.ImagType == imageType1 && fVersion1 == data.FirmwareVersion)
+ {
+ //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉�
+ continue;
+ }
+ if (canAddTitle == true)
+ {
+ this.AddTitleRowlayout("Linux妯″潡");
+ canAddTitle = false;
+ }
+ this.AddRowlayout(data, FirmwareLevelType.Linux);
+ }
- // fVersion = Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "ZbFWVersion").ToString();
- // imageType = Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "ZbImageType").ToString();
- // foreach (var data in listData2)
- // {
- // if (data.ImagType == imageType && Convert.ToInt32(fVersion) == data.FirmwareVersion)
- // {
- // //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉�
- // continue;
- // }
- // Application.RunOnMainThread(() =>
- // {
- // this.AddRowlayout(data, FirmwareLevelType.Coordinator);
- // });
- // }
+ canAddTitle = true;
+ int fVersion2 = upDatezbGateway.getGwInfo.ZbFWVersion;
+ string imageType2 = upDatezbGateway.getGwInfo.ZbImageType.ToString();
+ foreach (var data in listData2)
+ {
+ if (data.ImagType == imageType2 && fVersion2 == data.FirmwareVersion)
+ {
+ //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉�
+ continue;
+ }
+ if (canAddTitle == true)
+ {
+ this.AddTitleRowlayout("鍗忚皟鍣ㄦā鍧�");
+ canAddTitle = false;
+ }
+ this.AddRowlayout(data, FirmwareLevelType.Coordinator);
+ }
- // imageType = this.listVode[0].DriveImageType.ToString();
- // foreach (var data in listData3)
- // {
- // if (data.ImagType == imageType && this.listVode[0].DriveFwVersion == data.FirmwareVersion)
- // {
- // //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉�
- // continue;
- // }
- // Application.RunOnMainThread(() =>
- // {
- // this.AddRowlayout(data, FirmwareLevelType.VirtualDevice);
- // });
- // }
- // });
- //}
+ canAddTitle = true;
+ string imageType3 = this.listVode[0].DriveImageType.ToString();
+ foreach (var data in listData3)
+ {
+ if (data.ImagType == imageType3 && this.listVode[0].DriveFwVersion == data.FirmwareVersion)
+ {
+ //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉�
+ continue;
+ }
+ if (canAddTitle == true)
+ {
+ this.AddTitleRowlayout("铏氭嫙璁惧妯″潡");
+ canAddTitle = false;
+ }
+ this.AddRowlayout(data, FirmwareLevelType.VirtualDevice);
+ }
+ listView.AdjustRealHeight(Application.GetRealHeight(23));
+ });
+ }
- ///// <summary>
- ///// 娣诲姞琛�
- ///// </summary>
- ///// <param name="info"></param>
- ///// <param name="levelType"></param>
- //private void AddRowlayout(FirmwareVersionInfo info, FirmwareLevelType levelType)
- //{
- // var rowlayout = new StatuRowLayout(listView);
+ /// <summary>
+ /// 娣诲姞琛�
+ /// </summary>
+ /// <param name="info"></param>
+ /// <param name="levelType"></param>
+ private void AddRowlayout(FirmwareVersionInfo info, FirmwareLevelType levelType)
+ {
+ var rowlayout = new FrameRowControl();
+ this.listView.AddChidren(rowlayout);
- // //鍥炬爣
- // var btnIcon = new RowLeftIconView();
- // Common.LocalGateway.Current.SetGatewayIcon(btnIcon, this.upDatezbGateway);
- // rowlayout.AddChidren(btnIcon);
+ //鍥炬爣
+ var btnIcon = rowlayout.AddLeftIcon(81);
+ HdlGatewayLogic.Current.SetGatewayIcon(btnIcon, this.upDatezbGateway);
+ rowlayout.AddChidren(btnIcon);
- // //鎸囧畾鐨勭綉鍏�
- // var btnGateway = new RowTopBlackView();
- // btnGateway.BackgroundColor = UserCenterColor.Current.Transparent;
- // btnGateway.Text = info.ShowName;
- // rowlayout.AddChidren(btnGateway);
+ //鎸囧畾鐨勭綉鍏�
+ rowlayout.AddTopView(info.ShowName, 800);
- // //鍥轰欢淇℃伅
- // var btnVersion = new RowBottomBlackView();
- // btnVersion.Text = Common.LocalDevice.Current.AppendVersion(info.FirmwareVersion);
- // rowlayout.AddChidren(btnVersion);
+ //鍥轰欢淇℃伅
+ string firmwareText = Common.LocalDevice.Current.AppendVersion(info.FirmwareVersion);
+ firmwareText += " " + UserCenterLogic.ConvertUtcTimeToLocalTime(info.CreatedOnUtc).ToString("yyyy/MM/dd HH:mm:ss");
+ rowlayout.AddBottomView(firmwareText, 800);
- // //鍚戝彸鐨勫浘鏍�
- // rowlayout.AddRightArrow();
+ //鍚戝彸鐨勫浘鏍�
+ rowlayout.AddRightArrow();
+ rowlayout.AddBottomLine();
- // rowlayout.MouseUpEvent += (sender, e) =>
- // {
- // string gwID = Common.LocalGateway.Current.GetGatewayId(upDatezbGateway);
- // if (FirmwareUpdateResourse.dicGatewayUpdateList.ContainsKey(gwID) == true)
- // {
- // this.CloseForm();
- // return;
- // }
- // if (levelType == FirmwareLevelType.Linux)
- // {
- // this.gatewayFirmware = info;
- // }
- // else if (levelType == FirmwareLevelType.Coordinator)
- // {
- // this.coordinatorFirmware = info;
- // }
- // else if (levelType == FirmwareLevelType.VirtualDevice)
- // {
- // this.virtualFirmware = info;
- // this.virtualFirmware.VirtualCode = this.listVode[0].DriveCode;
- // }
+ rowlayout.ButtonClickEvent += (sender, e) =>
+ {
+ string gwID = HdlGatewayLogic.Current.GetGatewayId(upDatezbGateway);
+ if (FirmwareUpdateResourse.dicUpdateList.ContainsKey(gwID) == true)
+ {
+ this.CloseForm();
+ return;
+ }
+ if (levelType == FirmwareLevelType.Linux)
+ {
+ this.gatewayFirmware = info;
+ }
+ else if (levelType == FirmwareLevelType.Coordinator)
+ {
+ this.coordinatorFirmware = info;
+ }
+ else if (levelType == FirmwareLevelType.VirtualDevice)
+ {
+ this.virtualFirmware = info;
+ this.virtualFirmware.VirtualCode = this.listVode[0].DriveCode;
+ }
- // FormCloseAction?.Invoke(this.virtualFirmware, this.coordinatorFirmware, this.gatewayFirmware, this.listVode);
- // FormCloseAction = null;
+ SelectFirmwareInfoEvent?.Invoke(this.virtualFirmware, this.coordinatorFirmware, this.gatewayFirmware, this.listVode);
- // this.CloseForm();
- // };
- //}
+ this.CloseForm();
+ };
+ }
+
+ /// <summary>
+ /// 娣诲姞鏍囬琛�
+ /// </summary>
+ /// <param name="title"></param>
+ private void AddTitleRowlayout(string title)
+ {
+ var rowlayout = new FrameRowControl();
+ rowlayout.UseClickStatu = false;
+ this.listView.AddChidren(rowlayout);
+
+ rowlayout.AddLeftCaption(title, 800);
+ }
+
+ /// <summary>
+ /// 鐣岄潰鍏抽棴
+ /// </summary>
+ public override void CloseFormBefore()
+ {
+ SelectFirmwareInfoEvent = null;
+
+ base.CloseFormBefore();
+ }
}
}
--
Gitblit v1.8.0