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