using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.GatewayUpdate { /// /// 网关的历史版本界面 /// public class GatewayHistoryFirmwareVersionForm : EditorCommonForm { /// /// 要升级的网关 /// private ZbGateway upDatezbGateway = null; /// /// 虚拟设备的固件信息 /// private FirmwareVersionInfo virtualFirmware = null; /// /// 协调器新版本的固件信息 /// private FirmwareVersionInfo coordinatorFirmware = null; /// /// 网关新版本的固件信息 /// private FirmwareVersionInfo gatewayFirmware = null; /// /// 列表控件 /// private VerticalScrolViewLayout listView = null; /// /// 虚拟驱动号 /// private List listVode = null; /// /// 界面关闭的Action(虚拟设备,协调器,网关) /// public Action> FormCloseAction = null; /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 网关 /// 虚拟设备的固件信息 /// 协调器新版本的固件信息 /// 网关新版本的固件信息 /// 虚拟驱动 public void ShowForm(ZbGateway i_zbGateway, FirmwareVersionInfo i_virtualFirmware, FirmwareVersionInfo i_coordinatorFirmware, FirmwareVersionInfo i_gatewayFirmware, List i_listVode) { this.upDatezbGateway = i_zbGateway; this.virtualFirmware = i_virtualFirmware; this.coordinatorFirmware = i_coordinatorFirmware; this.gatewayFirmware = i_gatewayFirmware; this.listVode = i_listVode; //设置标题信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uHistoryVersion) + "(测试版,后面估计会删除)"); //初始化中部控件 //this.InitMiddleFrame(); } ///// ///// 初始化中部控件 ///// //private void InitMiddleFrame() //{ // //清空bodyFrame // this.ClearBodyFrame(); // listView = new VerticalScrolViewLayout(); // listView.Height = bodyFrameLayout.Height; // bodyFrameLayout.AddChidren(listView); // //网关 // var listData1 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.Linux, // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "LinuxHWVersion").ToString(), // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "LinuxImageType").ToString()); // //协调器 // var listData2 = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.Coordinator, // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "ZbHWVersion").ToString(), // Common.LocalGateway.Current.GetGwInfoAttribute(upDatezbGateway, "ZbImageType").ToString()); // //虚拟驱动 // var listData3 = new List(); // 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); // }); // } // 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); // }); // } // 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); // }); // } // }); //} ///// ///// 添加行 ///// ///// ///// //private void AddRowlayout(FirmwareVersionInfo info, FirmwareLevelType levelType) //{ // var rowlayout = new StatuRowLayout(listView); // //图标 // var btnIcon = new RowLeftIconView(); // Common.LocalGateway.Current.SetGatewayIcon(btnIcon, this.upDatezbGateway); // rowlayout.AddChidren(btnIcon); // //指定的网关 // var btnGateway = new RowTopBlackView(); // btnGateway.BackgroundColor = UserCenterColor.Current.Transparent; // btnGateway.Text = info.ShowName; // rowlayout.AddChidren(btnGateway); // //固件信息 // var btnVersion = new RowBottomBlackView(); // btnVersion.Text = Common.LocalDevice.Current.AppendVersion(info.FirmwareVersion); // rowlayout.AddChidren(btnVersion); // //向右的图标 // rowlayout.AddRightArrow(); // 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; // } // FormCloseAction?.Invoke(this.virtualFirmware, this.coordinatorFirmware, this.gatewayFirmware, this.listVode); // FormCloseAction = null; // this.CloseForm(); // }; //} } }