安全模式:下载修复文件增加repari_file_start接口 978/1
authorCaisking <3449750381@qq.com>
Sat, 14 Sep 2024 11:12:36 +0000 (19:12 +0800)
committerCaisking <3449750381@qq.com>
Sat, 14 Sep 2024 11:12:36 +0000 (19:12 +0800)
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerModelC.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerModel.cpp
code/sdk/drivers/peripheral/utils/custom_cmd_service.c
code/sdk/drivers/peripheral/utils/custom_utils.h

diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerModelC.h b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerModelC.h
new file mode 100644 (file)
index 0000000..3f05a59
--- /dev/null
@@ -0,0 +1,16 @@
+
+#ifndef SAFE_MODE_MANAGER_MODEL_C_H
+#define SAFE_MODE_MANAGER_MODEL_C_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//进行修复开始
+void repari_file_start(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
\ No newline at end of file
index efbf921..b4a6eff 100644 (file)
@@ -9,6 +9,7 @@
 #include "safemodemanager/include/RepairView.h"
 #include "safemodemanager/include/ResourceCheckView.h"
 #include "safemodemanager/include/SafeModeManagerModel.h"
+#include "safemodemanager/include/SafeModeManagerModelC.h"
 #include "safemodemanager/include/SafeModeManagerView.h"
 
 #include "broadcast_feature.h"
@@ -31,6 +32,11 @@ const char *get_version_string(void);
 }
 
 static const char *CHECK_DIFFERENTIAL_FILE = "/system/check_differential.txt";
+
+void repari_file_start() {
+  OHOS::SafeModeManagerModel::GetInstance()->RepairStart();
+}
+
 namespace OHOS {
 
 SafeModeManagerModel *SafeModeManagerModel::GetInstance(void) {
@@ -52,14 +58,14 @@ static void httpc_download_result(void *arg, httpc_result_t httpc_result,
          "srv_res %d, err %d\n",
          httpc_result, rx_content_len, srv_res, err);
   if (httpc_result == HTTPC_RESULT_OK) {
-    http_single_download_stop();
     OHOS::SafeModeManagerModel::GetInstance()->AddRepairCount();
-    //å¼\80å§\8bä¸\8bä¸\80个æ\96\87ä»¶
-    OHOS::SafeModeManagerModel::GetInstance()->RepairStart();
+    //å\8f\91æ¶\88æ\81¯è¿\9bè¡\8cé\87\8dæ\96°å¼\80å§\8b
+    do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_DOWNLOAD_RES, nullptr, 0);
   } else {
     //结束
     OHOS::SafeModeManagerModel::GetInstance()->RepairEnd();
   }
+  http_single_download_stop();
   file_total_len = 0;
   return;
 }
index 04dbbbc..8987dc0 100644 (file)
@@ -39,6 +39,8 @@
 
 #include "bletest.h"
 
+#include "safemodemanager/include/SafeModeManagerModelC.h"
+
 typedef struct
 {
     uint8_t cmd;
@@ -255,6 +257,9 @@ static void custom_cmd_service_check_task(void const *arg)
         case CUSTOM_CMD_MSG_CHECK_RES:
             resfile_checksum_thread();
             break;
+        case CUSTOM_CMD_MSG_DOWNLOAD_RES:
+            repari_file_start();
+            break;
         default:
             PRINT("Unknown CUSTOM_CMD_MSG cmd 0x%02X \r\n", mail.cmd);
             break;
index eacc91c..7be63e2 100644 (file)
@@ -217,6 +217,7 @@ uint32_t uapi_calendar_store_date(void);
 #define CUSTOM_CMD_MSG_BR_CONNECT 0x0C
 
 #define CUSTOM_CMD_MSG_CHECK_RES 0x0D
+#define CUSTOM_CMD_MSG_DOWNLOAD_RES 0x0E
 typedef enum {
     BR_HFP_CONNECT=1,
     BR_HFP_DISCONNECT,