From a80bf0ae112924ad20e1f8e56bc3ba8a46d342e4 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Sat, 14 Sep 2024 19:12:36 +0800 Subject: [PATCH] =?utf8?q?=E5=AE=89=E5=85=A8=E6=A8=A1=E5=BC=8F=EF=BC=9A?= =?utf8?q?=E4=B8=8B=E8=BD=BD=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6=E5=A2=9E?= =?utf8?q?=E5=8A=A0repari=5Ffile=5Fstart=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../include/SafeModeManagerModelC.h | 16 ++++++++++++++++ .../safemodemanager/src/SafeModeManagerModel.cpp | 12 +++++++++--- .../peripheral/utils/custom_cmd_service.c | 5 +++++ code/sdk/drivers/peripheral/utils/custom_utils.h | 1 + 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerModelC.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 index 000000000..3f05a59eb --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerModelC.h @@ -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 diff --git a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerModel.cpp index efbf921ba..b4a6effe9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerModel.cpp @@ -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(); - //开始下一个文件 - OHOS::SafeModeManagerModel::GetInstance()->RepairStart(); + //发消息进行重新开始 + 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; } diff --git a/code/sdk/drivers/peripheral/utils/custom_cmd_service.c b/code/sdk/drivers/peripheral/utils/custom_cmd_service.c index 04dbbbc07..8987dc0fa 100644 --- a/code/sdk/drivers/peripheral/utils/custom_cmd_service.c +++ b/code/sdk/drivers/peripheral/utils/custom_cmd_service.c @@ -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; diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.h b/code/sdk/drivers/peripheral/utils/custom_utils.h index eacc91c7b..7be63e2da 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.h +++ b/code/sdk/drivers/peripheral/utils/custom_utils.h @@ -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, -- 2.17.1