From d6fb0646531172f23648441c224cdcccd721b894 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期一, 14 十二月 2020 09:59:01 +0800 Subject: [PATCH] 请合并代码,完成晾衣架最终功能。 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs | 126 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 126 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs new file mode 100755 index 0000000..335fd9b --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs @@ -0,0 +1,126 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.Device +{ + /// <summary> + /// 璁惧鐨勫巻鍙茬増鏈� + /// </summary> + public class DeviceHistoryFirmwareVersionForm : EditorCommonForm + { + /// <summary> + /// 鍗囩骇鐨勮澶� + /// </summary> + private List<CommonDevice> listUpdateDevice = null; + /// <summary> + /// 鍒楄〃鎺т欢 + /// </summary> + private VerticalListControl listView = null; + /// <summary> + /// 鍥轰欢閫夋嫨鐨勪簨浠� + /// </summary> + public Action<FirmwareVersionInfo> SelectFirmwareInfoEvent = null; + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="deviceMac">璁惧Mac鍦板潃</param> + public void ShowForm(string deviceMac) + { + this.listUpdateDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac); + + //璁剧疆鏍囬淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uHistoryVersion)); + + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄦ帶浠� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + listView = new VerticalListControl(12); + listView.Height = bodyFrameLayout.Height; + listView.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(listView); + + //鎷ユ湁200绔彛杩欎釜涓滆タ鐨勬椂鍊欙紝鎵嶄細鏄剧ず + var oTADevice = Common.LocalDevice.Current.GetOTADevice(listUpdateDevice[0].DeviceAddr); + if (oTADevice == null || oTADevice.ImgVersion == -1) + { + return; + } + + //鑾峰彇鍘嗗彶鐗堟湰 + var listData = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.A璁惧, + oTADevice.HwVersion.ToString(), + oTADevice.ImgTypeId.ToString()); + + string unSelectPic = string.Empty; + string selectPic = string.Empty; + Common.LocalDevice.Current.GetDeviceObjectIcon(listUpdateDevice, ref unSelectPic, ref selectPic); + + HdlThreadLogic.Current.RunThread(() => + { + string ImagType = oTADevice.ImgTypeId.ToString(); + HdlThreadLogic.Current.RunMain(() => + { + foreach (var data in listData) + { + if (data.ImagType == ImagType && oTADevice.ImgVersion == data.FirmwareVersion) + { + //鍚屼竴涓笢瑗匡紝涓嶆樉绀哄嚭鏉� + continue; + } + this.AddRowlayout(data, unSelectPic, selectPic); + } + }); + }); + } + + /// <summary> + /// 娣诲姞琛� + /// </summary> + /// <param name="info"></param> + /// <param name="unSelPath"></param> + /// <param name="selPath"></param> + private void AddRowlayout(FirmwareVersionInfo info, string unSelPath, string selPath) + { + var rowlayout = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(rowlayout); + //鍥炬爣 + var btnIcon = rowlayout.AddLeftIcon(); + btnIcon.UnSelectedImagePath = unSelPath; + //鎸囧畾鐨勮澶� + rowlayout.AddTopView(info.ShowName, 800); + //鍚戝彸鐨勫浘鏍� + rowlayout.AddRightArrow(); + //鍥轰欢淇℃伅 + 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.AddBottomLine(); + + rowlayout.ButtonClickEvent += (sender, e) => + { + string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(this.listUpdateDevice[0]); + if (FirmwareUpdateResourse.dicUpdateList.ContainsKey(mainKeys) == true) + { + this.CloseForm(); + return; + } + SelectFirmwareInfoEvent?.Invoke(info); + SelectFirmwareInfoEvent = null; + this.CloseForm(); + }; + } + } +} -- Gitblit v1.8.0