HDL Home App 第二版本 旧平台金堂用 正在使用
hxb
2022-08-30 25429f085093d89d543a0b90e30d0d62d1b7dac9
ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/ACZbGatewayModuleUpdateForm.cs
@@ -19,7 +19,7 @@
        /// <summary>
        /// 设备
        /// </summary>
        private AC deviceAc = null;
        private CommonDevice deviceAc = null;
        /// <summary>
        /// 前回选择的控件
        /// </summary>
@@ -33,7 +33,7 @@
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_deviceAc">设备</param>
        public void ShowForm(AC i_deviceAc)
        public void ShowForm(CommonDevice i_deviceAc)
        {
            this.deviceAc = i_deviceAc;
            this.otaDevice = Common.LocalDevice.Current.GetOTADevice(i_deviceAc.DeviceAddr);
@@ -77,8 +77,8 @@
        /// </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));
@@ -86,10 +86,10 @@
            }
            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));
@@ -100,7 +100,7 @@
                bodyFrameLayout.AddChidren(btnUpdate);
                btnUpdate.ButtonClickEvent += (sender, e) =>
                {
                    var selectInfo = this.GetSelectFirmware(listView, list);
                    var selectInfo = this.GetSelectFirmware(listView, listUpdate);
                    if (selectInfo == null)
                    {
                        //没有选择固件
@@ -121,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);
@@ -170,6 +170,31 @@
                //重工空调模块
                textView = Language.StringByID(R.MyInternationalizationString.uHicAirConditioningModule);
            }
            else if (info.Name.Contains("IRACC_HITACHI") == true)
            {
                //日立空调模块
                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
            {
                //空调升级模块
@@ -180,6 +205,47 @@
        #endregion
        #region ■ 获取空调模块数据___________________
        /// <summary>
        /// 获取空调模块数据
        /// </summary>
        /// <returns></returns>
        private List<FirmwareVersionInfo> GetAirConditioningModuleData()
        {
            var listUpdate = new List<FirmwareVersionInfo>();
            var list = HdlFirmwareUpdateLogic.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(DirNameResourse.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(DirNameResourse.FirmwareUpdateDirectory, file);
                        info.ImagType = "-100";
                        listUpdate.Add(info);
                    }
                }
            }
            return listUpdate;
        }
        #endregion
        #region ■ 一般方法___________________________
        /// <summary>