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();
// };
//}
}
}