wjc
2025-03-03 2225b1f0727fb74e10ac5692e68e4cd48f4f62d7
app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
@@ -542,11 +542,11 @@
        this.stopDownload = false;
        //-100:没有数据;-101:没有md5秘钥;-102:md5秘钥不对;-103:有异常;
        if (zipData == null) {
            this.eventBusPost(fileFullPath, driver, -100, HDLApp.getInstance().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data));
            this.eventBusPost(fileFullPath, driver, -100, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data));
            return false;
        }
        if (TextUtils.isEmpty(md5)) {
            this.eventBusPost(fileFullPath, driver, -101, HDLApp.getInstance().getString(R.string.exception_failed_to_obtain_the_md5_key_of_the_upgrade_file_on_the_cloud));
            this.eventBusPost(fileFullPath, driver, -101, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_failed_to_obtain_the_md5_key_of_the_upgrade_file_on_the_cloud));
            return false;
        }
        InputStream is = null;
@@ -559,14 +559,14 @@
            is = zipData.byteStream();
            long total = zipData.contentLength();
            if (total == 0) {
                this.eventBusPost(fileFullPath, driver, -102, HDLApp.getInstance().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data));
                this.eventBusPost(fileFullPath, driver, -102, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data));
                return false;
            }
            fos = new FileOutputStream(file);
            long sum = 0;
            while ((len = is.read(buf)) != -1) {
                if (this.stopDownload) {
                    this.eventBusPost(fileFullPath, driver, -108, HDLApp.getInstance().getString(R.string.exception_the_user_cancels_downloading_the_upgrade_file));
                    this.eventBusPost(fileFullPath, driver, -108, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_the_user_cancels_downloading_the_upgrade_file));
                    fos.flush();
                    fos.close();
                    is.close();
@@ -590,22 +590,22 @@
            //todo 下载文件需要解密之后再进行md5去做比对
            byte[] decrypt = AesUtils.decrypt(bytes);
            if (decrypt == null) {
                this.eventBusPost(fileFullPath, driver, -105, HDLApp.getInstance().getString(R.string.exception_failed_to_decrypt_the_upgrade_aes_file));
                this.eventBusPost(fileFullPath, driver, -105, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_failed_to_decrypt_the_upgrade_aes_file));
                return false;
            }
            String fileMD5 = Md5Utils.encodeMD5(decrypt);
            if (TextUtils.isEmpty(fileMD5)) {
                this.eventBusPost(fileFullPath, driver, -106, HDLApp.getInstance().getString(R.string.exception_failed_to_generate_md5_for_the_upgrade_file));
                this.eventBusPost(fileFullPath, driver, -106, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_failed_to_generate_md5_for_the_upgrade_file));
                return false;
            }
            if (!md5.equals(fileMD5)) {
                this.eventBusPost(fileFullPath, driver, -107, HDLApp.getInstance().getString(R.string.exception_description_failed_to_compare_the_md5_of_the_upgrade_file));
                this.eventBusPost(fileFullPath, driver, -107, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_description_failed_to_compare_the_md5_of_the_upgrade_file));
                return false;
            }
            //todo 注意:解密之后,要重新写数据;
            HdlFileLogic.getInstance().writeFile(fileFullPath, decrypt);
//            FileUtils.writeByteArrayToFile(file, decrypt, false);//这个方法不兼用android 6.0
            this.eventBusPost(fileFullPath, driver, 100, HDLApp.getInstance().getString(R.string.exception_the_upgrade_file_is_downloaded));
            this.eventBusPost(fileFullPath, driver, 100, HDLApp.getInstance().getAppLocaleContext().getString(R.string.exception_the_upgrade_file_is_downloaded));
            return true;
        } catch (Exception e) {
            this.eventBusPost(fileFullPath, driver, -103, e.getMessage());