From 976d3d484b25ea184a5da6968d4ad18605e5aa86 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 23 一月 2024 16:19:20 +0800
Subject: [PATCH] 2024年01月23日16:19:09
---
app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java | 34 ++++++++++++++++
app/src/main/res/values-zh/strings.xml | 10 +++++
app/src/main/java/com/hdl/photovoltaic/codes/CustomCloudCode.java | 5 ++
app/src/main/res/values/strings.xml | 10 ++++-
app/src/main/res/values-en/strings.xml | 9 ++++
app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java | 20 +++++-----
6 files changed, 75 insertions(+), 13 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/codes/CustomCloudCode.java b/app/src/main/java/com/hdl/photovoltaic/codes/CustomCloudCode.java
index 8c0cdb1..0a41cfc 100644
--- a/app/src/main/java/com/hdl/photovoltaic/codes/CustomCloudCode.java
+++ b/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);
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
index 81e6ddc..cb44355 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
+++ b/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);//杩欎釜鏂规硶涓嶅吋鐢╝ndroid 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;
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
index f08d9c1..4408849 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
+++ b/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瑙e瘑澶辫触.");
+ this.eventBusPost(fileFullPath, driver, -105, HDLApp.getInstance().getString(R.string.exception_failed_to_decrypt_the_upgrade_aes_file));
HdlLogLogic.print("鍗囩骇鏂囦欢aes瑙e瘑澶辫触(-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 娉ㄦ剰:瑙e瘑涔嬪悗锛岃閲嶆柊鍐欐暟鎹�;
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";
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 80c62a6..c469b76 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/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>
\ No newline at end of file
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 06fd10a..f5b713d 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/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瑙e瘑澶辫触.</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>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a31d99b..dc290f5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/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瑙e瘑澶辫触.</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>
\ No newline at end of file
--
Gitblit v1.8.0