using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using ZigBee.Device;
|
|
namespace Shared.Phone.UserCenter.GatewayUpdate
|
{
|
/// <summary>
|
/// 网关的历史版本界面
|
/// </summary>
|
public class GatewayHistoryFirmwareVersionForm : EditorCommonForm
|
{
|
/// <summary>
|
/// 要升级的网关
|
/// </summary>
|
private ZbGateway upDatezbGateway = null;
|
/// <summary>
|
/// 虚拟设备的固件信息
|
/// </summary>
|
private FirmwareVersionInfo virtualFirmware = null;
|
/// <summary>
|
/// 协调器新版本的固件信息
|
/// </summary>
|
private FirmwareVersionInfo coordinatorFirmware = null;
|
/// <summary>
|
/// 网关新版本的固件信息
|
/// </summary>
|
private FirmwareVersionInfo gatewayFirmware = null;
|
/// <summary>
|
/// 列表控件
|
/// </summary>
|
private VerticalScrolViewLayout listView = null;
|
/// <summary>
|
/// 虚拟驱动号
|
/// </summary>
|
private List<ZbGatewayData.DriveCodeObj> listVode = null;
|
/// <summary>
|
/// 界面关闭的Action(虚拟设备,协调器,网关)
|
/// </summary>
|
public Action<FirmwareVersionInfo, FirmwareVersionInfo, FirmwareVersionInfo, List<ZbGatewayData.DriveCodeObj>> FormCloseAction = null;
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="i_zbGateway">网关</param>
|
/// <param name="i_virtualFirmware">虚拟设备的固件信息</param>
|
/// <param name="i_coordinatorFirmware">协调器新版本的固件信息</param>
|
/// <param name="i_gatewayFirmware">网关新版本的固件信息</param>
|
/// <param name="i_listVode">虚拟驱动</param>
|
public void ShowForm(ZbGateway i_zbGateway, FirmwareVersionInfo i_virtualFirmware,
|
FirmwareVersionInfo i_coordinatorFirmware, FirmwareVersionInfo i_gatewayFirmware, List<ZbGatewayData.DriveCodeObj> 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();
|
}
|
|
///// <summary>
|
///// 初始化中部控件
|
///// </summary>
|
//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<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);
|
// });
|
// }
|
|
// 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);
|
// });
|
// }
|
// });
|
//}
|
|
///// <summary>
|
///// 添加行
|
///// </summary>
|
///// <param name="info"></param>
|
///// <param name="levelType"></param>
|
//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();
|
// };
|
//}
|
}
|
}
|