| | |
| | | public void ShowForm(CommonDevice i_deviceAc)
|
| | | {
|
| | | this.deviceAc = i_deviceAc;
|
| | | this.otaDevice = Common.LocalDevice.Current.GetOTADevice(i_deviceAc.DeviceAddr);
|
| | | this.otaDevice = HdlDeviceCommonLogic.Current.GetOTADevice(i_deviceAc.DeviceAddr);
|
| | |
|
| | | //设置头部信息
|
| | | base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAirConditioningModule));
|
| | |
| | | /// </summary>
|
| | | private void InitAirConditioningModuleList(VerticalListControl listView)
|
| | | {
|
| | | var list = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.ZigbeeDevice, otaDevice.HwVersion.ToString(), otaDevice.ImgTypeId.ToString());
|
| | | if (list.Count == 0)
|
| | | var listUpdate = this.GetAirConditioningModuleData();
|
| | | if (listUpdate.Count == 0)
|
| | | {
|
| | | //没有可升级的空调模块
|
| | | this.ShowNotDataImage(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uNotHadAirConditioningUpdateModule));
|
| | |
| | | }
|
| | | HdlThreadLogic.Current.RunMainInThread(() =>
|
| | | {
|
| | | for (int i = 0; i < list.Count; i++)
|
| | | for (int i = 0; i < listUpdate.Count; i++)
|
| | | {
|
| | | //添加模块行
|
| | | this.AddModuleRow(listView, list[i], i.ToString(), i != list.Count - 1);
|
| | | this.AddModuleRow(listView, listUpdate[i], i.ToString(), i != listUpdate.Count - 1);
|
| | | }
|
| | | //调整高度
|
| | | listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23));
|
| | |
| | | bodyFrameLayout.AddChidren(btnUpdate);
|
| | | btnUpdate.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | var selectInfo = this.GetSelectFirmware(listView, list);
|
| | | var selectInfo = this.GetSelectFirmware(listView, listUpdate);
|
| | | if (selectInfo == null)
|
| | | {
|
| | | //没有选择固件
|
| | |
| | | /// <param name="listView"></param>
|
| | | /// <param name="info"></param>
|
| | | /// <param name="mainkeys"></param>
|
| | | private void AddModuleRow(VerticalListControl listView, FirmwareVersionInfo info, string mainkeys,bool addLine)
|
| | | private void AddModuleRow(VerticalListControl listView, FirmwareVersionInfo info, string mainkeys, bool addLine)
|
| | | {
|
| | | //获取空调模块的名字
|
| | | string textView = this.GetAirConditioningModuleName(info);
|
| | |
| | | //日立空调模块
|
| | | textView = Language.StringByID(R.MyInternationalizationString.uHitachiAirConditioningModule);
|
| | | }
|
| | | else if (info.Name.Contains("IRACC_SAEC") == true)
|
| | | {
|
| | | //电机空调模块
|
| | | textView = Language.StringByID(R.MyInternationalizationString.uSaecAirConditioningModule);
|
| | | }
|
| | | else if (info.Name.Contains("IRACC_TOSHIBA") == true)
|
| | | {
|
| | | //东芝空调模块
|
| | | textView = Language.StringByID(R.MyInternationalizationString.uToshibaAirConditioningModule);
|
| | | }
|
| | | else if (info.Name.Contains("IRACC_GREE") == true)
|
| | | {
|
| | | //格力空调模块
|
| | | textView = Language.StringByID(R.MyInternationalizationString.uGreeAirConditioningModule);
|
| | | }
|
| | | else if (info.Name.Contains("IRACC_MIDEA") == true)
|
| | | {
|
| | | //美的空调模块
|
| | | textView = Language.StringByID(R.MyInternationalizationString.uMideaAirConditioningModule);
|
| | | }
|
| | | else
|
| | | {
|
| | | //空调升级模块
|
| | | textView = Language.StringByID(R.MyInternationalizationString.uAirConditioningUpdateModule);
|
| | | }
|
| | | return textView;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 获取空调模块数据___________________
|
| | |
|
| | | /// <summary>
|
| | | /// 获取空调模块数据
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | private List<FirmwareVersionInfo> GetAirConditioningModuleData()
|
| | | {
|
| | | var listUpdate = new List<FirmwareVersionInfo>();
|
| | |
|
| | | var list = HdlFirmwareUpdateLogic.Current.GetFirmwareVersionListInfo(FirmwareLevelType.A设备, otaDevice.HwVersion.ToString(), otaDevice.ImgTypeId.ToString());
|
| | | foreach (var data in list)
|
| | | {
|
| | | if (data.Name.EndsWith(".bin") == true)
|
| | | {
|
| | | //只要.bin文件
|
| | | listUpdate.Add(data);
|
| | | }
|
| | | }
|
| | | if (Common.Config.Instance.Home.TemplateMode == 2 && listUpdate.Count == 0)
|
| | | {
|
| | | //从本地获取
|
| | | var listFile = HdlFileLogic.Current.GetFileFromDirectory(HdlFileNameResourse.FirmwareUpdateDirectory);
|
| | | string otaKey = otaDevice.HwVersion.ToString() + "_" + otaDevice.ImgTypeId.ToString();
|
| | | foreach (var file in listFile)
|
| | | {
|
| | | if (file.StartsWith("AC_" + otaKey) == true && file.EndsWith(".bin") == true)
|
| | | {
|
| | | var info = new FirmwareVersionInfo();
|
| | | info.Name = System.IO.Path.Combine(HdlFileNameResourse.FirmwareUpdateDirectory, file);
|
| | | info.ImagType = "-100";
|
| | | listUpdate.Add(info);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | return listUpdate;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | ProgressFormBar.Current.CloseEvent += () =>
|
| | | {
|
| | | //升级对象
|
| | | if (FirmwareUpdateResourse.dicUpdateList.ContainsKey(deviceAc.DeviceAddr) == true
|
| | | && FirmwareUpdateResourse.dicUpdateList[deviceAc.DeviceAddr].IsFinishUpdate == true)
|
| | | if (HdlFirmwareUpdateResourse.dicUpdateList.ContainsKey(deviceAc.DeviceAddr) == true
|
| | | && HdlFirmwareUpdateResourse.dicUpdateList[deviceAc.DeviceAddr].IsFinishUpdate == true)
|
| | | {
|
| | | //如果设备已经升级完成,界面关闭时,则移除内存
|
| | | FirmwareUpdateResourse.dicUpdateList[deviceAc.DeviceAddr].Dispose();
|
| | | FirmwareUpdateResourse.dicUpdateList.Remove(deviceAc.DeviceAddr);
|
| | | HdlFirmwareUpdateResourse.dicUpdateList[deviceAc.DeviceAddr].Dispose();
|
| | | HdlFirmwareUpdateResourse.dicUpdateList.Remove(deviceAc.DeviceAddr);
|
| | | }
|
| | | };
|
| | | }
|