app/src/main/java/com/hdl/photovoltaic/codes/CustomCloudCode.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/values-en/strings.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/values-zh/strings.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/values/strings.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/com/hdl/photovoltaic/codes/CustomCloudCode.java
@@ -1,4 +1,9 @@ package com.hdl.photovoltaic.codes; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; public class CustomCloudCode { public final String data_null = HDLApp.getInstance().getString(R.string.message_alarm_data_null); } app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -331,6 +331,34 @@ * @param filePath 全路径 * @return 数据 */ public byte[] readFileByte1(String filePath) { try { if (!isBoolean(filePath)) { return null; } File f = new File(filePath); if (!f.exists()) { return null; } FileInputStream fis = new FileInputStream(f); byte[] bytes = FileUtils.readFileToByteArray(f);//这个方法不兼用android 6.0 fis.close(); System.out.println("读取文件成功--->" + filePath); return bytes; } catch (Exception e1) { System.out.println("读取文件有异常--->" + e1.getMessage()); return null; } } /** * 读取文件 * * @param filePath 全路径 * @return 数据 */ public byte[] readFileByte(String filePath) { try { if (!isBoolean(filePath)) { @@ -341,7 +369,11 @@ return null; } FileInputStream fis = new FileInputStream(f); byte[] bytes = FileUtils.readFileToByteArray(f); BufferedInputStream bis = new BufferedInputStream(fis); int fileLength = (int) f.length(); byte[] bytes = new byte[fileLength]; int len = bis.read(bytes); bis.close(); fis.close(); System.out.println("读取文件成功--->" + filePath); return bytes; app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
@@ -17,6 +17,7 @@ import com.hdl.linkpm.sdk.ota.bean.DeviceFirmwareBean; import com.hdl.linkpm.sdk.ota.bean.GatewayDriverBean; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; @@ -534,12 +535,12 @@ this.stopDownload = false; //-100:没有数据;-101:没有md5秘钥;-102:md5秘钥不对;-103:有异常; if (zipData == null) { this.eventBusPost(fileFullPath, driver, -100, "拉不到云端升级文件数据"); this.eventBusPost(fileFullPath, driver, -100, HDLApp.getInstance().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data)); HdlLogLogic.print("拉不到云端升级文件数据(-100)", true); return false; } if (TextUtils.isEmpty(md5)) { this.eventBusPost(fileFullPath, driver, -101, "拿不到云端上升级文件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)); HdlLogLogic.print("拿不到云端上升级文件md5秘钥(-101)", true); return false; } @@ -553,7 +554,7 @@ is = zipData.byteStream(); long total = zipData.contentLength(); if (total == 0) { this.eventBusPost(fileFullPath, driver, -102, "拉不到云端升级文件数据"); this.eventBusPost(fileFullPath, driver, -102, HDLApp.getInstance().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data)); HdlLogLogic.print("拉不到云端升级文件数据(-102)", true); return false; } @@ -561,7 +562,7 @@ long sum = 0; while ((len = is.read(buf)) != -1) { if (this.stopDownload) { this.eventBusPost(fileFullPath, driver, -108, "用户取消下载升级文件."); this.eventBusPost(fileFullPath, driver, -108, HDLApp.getInstance().getString(R.string.exception_the_user_cancels_downloading_the_upgrade_file)); HdlLogLogic.print("用户取消下载升级文件(-108)", true); fos.flush(); fos.close(); @@ -583,27 +584,27 @@ fos.close(); is.close(); byte[] bytes = FileUtils.readFileToByteArray(file); //下载文件需要解密之后再进行md5去做比对 //todo 下载文件需要解密之后再进行md5去做比对 byte[] decrypt = AesUtils.decrypt(bytes); if (decrypt == null) { this.eventBusPost(fileFullPath, driver, -105, "升级文件aes解密失败."); this.eventBusPost(fileFullPath, driver, -105, HDLApp.getInstance().getString(R.string.exception_failed_to_decrypt_the_upgrade_aes_file)); HdlLogLogic.print("升级文件aes解密失败(-105)", true); return false; } String fileMD5 = Md5Utils.encodeMD5(decrypt); if (TextUtils.isEmpty(fileMD5)) { this.eventBusPost(fileFullPath, driver, -106, "升级文件生成md5失败失败."); this.eventBusPost(fileFullPath, driver, -106, HDLApp.getInstance().getString(R.string.exception_failed_to_generate_md5_for_the_upgrade_file)); HdlLogLogic.print("升级文件生成md5失败失败(-106)", true); return false; } if (!md5.equals(fileMD5)) { this.eventBusPost(fileFullPath, driver, -107, "升级文件md5比对失败."); this.eventBusPost(fileFullPath, driver, -107, HDLApp.getInstance().getString(R.string.exception_description_failed_to_compare_the_md5_of_the_upgrade_file)); HdlLogLogic.print("升级文件md5比对失败(-107)", true); return false; } //todo 注意:解密之后,要重新写数据; FileUtils.writeByteArrayToFile(file, decrypt, false); this.eventBusPost(fileFullPath, driver, 100, "升级文件下载完成."); this.eventBusPost(fileFullPath, driver, 100, HDLApp.getInstance().getString(R.string.exception_the_upgrade_file_is_downloaded)); HdlLogLogic.print("升级文件下载完成.", true); return true; } catch (Exception e) { @@ -658,7 +659,6 @@ //自定义上报下载驱动或固件进度主题 public static final String localDownloadProgress = "cloud/download/progress/up"; public static final String driver_type = "driver"; app/src/main/res/values-en/strings.xml
@@ -209,4 +209,13 @@ <string name="go_to_settings">Go to Settings</string> <string name="system_positioning_switch">You need to turn on the system positioning switch. Otherwise, the system can obtain the position information.</string> <!--异常--> <string name="exception_unable_to_pull_up_the_cloud_upgrade_file_data">Unable to pull up the cloud upgrade file data</string> <string name="exception_failed_to_obtain_the_md5_key_of_the_upgrade_file_on_the_cloud">Failed to obtain the md5 key of the upgrade file on the cloud</string> <string name="exception_the_user_cancels_downloading_the_upgrade_file">The user cancels downloading the upgrade file.</string> <string name="exception_failed_to_decrypt_the_upgrade_aes_file">Failed to decrypt the upgrade aes file.</string> <string name="exception_failed_to_generate_md5_for_the_upgrade_file">Failed to generate md5 for the upgrade file.</string> <string name="exception_description_failed_to_compare_the_md5_of_the_upgrade_file">Description Failed to compare the md5 of the upgrade file.</string> <string name="exception_the_upgrade_file_is_downloaded">The upgrade file is downloaded.</string> </resources> app/src/main/res/values-zh/strings.xml
@@ -208,4 +208,14 @@ <string name="system_positioning_switch">需要打开系统定位开关,否则取法获取位置信息.</string> <!--异常--> <string name="exception_unable_to_pull_up_the_cloud_upgrade_file_data">拉不到云端升级文件数据</string> <string name="exception_failed_to_obtain_the_md5_key_of_the_upgrade_file_on_the_cloud">拿不到云端上升级文件md5秘钥</string> <string name="exception_the_user_cancels_downloading_the_upgrade_file">用户取消下载升级文件.</string> <string name="exception_failed_to_decrypt_the_upgrade_aes_file">升级文件aes解密失败.</string> <string name="exception_failed_to_generate_md5_for_the_upgrade_file">升级文件生成md5失败失败.</string> <string name="exception_description_failed_to_compare_the_md5_of_the_upgrade_file">升级文件md5比对失败.</string> <string name="exception_the_upgrade_file_is_downloaded">升级文件下载完成.</string> </resources> app/src/main/res/values/strings.xml
@@ -207,7 +207,13 @@ <string name="go_to_settings">前往设置</string> <string name="system_positioning_switch">需要打开系统定位开关,否则取法获取位置信息.</string> <!--异常--> <string name="exception_unable_to_pull_up_the_cloud_upgrade_file_data">拉不到云端升级文件数据</string> <string name="exception_failed_to_obtain_the_md5_key_of_the_upgrade_file_on_the_cloud">拿不到云端上升级文件md5秘钥</string> <string name="exception_the_user_cancels_downloading_the_upgrade_file">用户取消下载升级文件.</string> <string name="exception_failed_to_decrypt_the_upgrade_aes_file">升级文件aes解密失败.</string> <string name="exception_failed_to_generate_md5_for_the_upgrade_file">升级文件生成md5失败失败.</string> <string name="exception_description_failed_to_compare_the_md5_of_the_upgrade_file">升级文件md5比对失败.</string> <string name="exception_the_upgrade_file_is_downloaded">升级文件下载完成.</string> </resources>