黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/ACZbGatewayModuleUpdateForm.cs
@@ -36,7 +36,7 @@
        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));
@@ -77,16 +77,7 @@
        /// </summary>
        private void InitAirConditioningModuleList(VerticalListControl listView)
        {
            var list = HdlFirmwareUpdateLogic.GetFirmwareVersionListInfo(FirmwareLevelType.A设备, otaDevice.HwVersion.ToString(), otaDevice.ImgTypeId.ToString());
            var listUpdate = new List<FirmwareVersionInfo>();
            foreach (var data in list)
            {
                if (data.Name.EndsWith(".bin") == true)
                {
                    //只要.bin文件
                    listUpdate.Add(data);
                }
            }
            var listUpdate = this.GetAirConditioningModuleData();
            if (listUpdate.Count == 0)
            {
                //没有可升级的空调模块
@@ -130,7 +121,7 @@
        /// <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);
@@ -214,6 +205,47 @@
        #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
        #region ■ 一般方法___________________________
        /// <summary>
@@ -291,12 +323,12 @@
            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);
                }
            };
        }