增加恢复出厂at
authorCaisking <Casiking@zhihuishixun.com>
Sat, 20 Sep 2025 14:44:47 +0000 (22:44 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Sat, 20 Sep 2025 14:44:47 +0000 (22:44 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp
code/sdk/zhihui/leiniao/imsl_ln/leiniao_api_at.c

index b7bd65f..cc7bc99 100644 (file)
@@ -43,7 +43,7 @@ namespace OHOS
         int StartBootOperation();
         int ota_update_boot();
         // 恢复出厂设置相关函数
-        void restore_factory_settings();
+        bool restore_factory_settings();
         // OTA升级进度
         void UpdateOtaProgress(int progress);
         // OTA升级状态
index f07359f..3bd1f1c 100644 (file)
      
 
      // ==================== 恢复出厂设置相关函数 ====================
-     void ThunderBirdModel::restore_factory_settings()
+     bool ThunderBirdModel::restore_factory_settings()
      {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂");
         //删除用户数据
-         uapi_delete_folder("/user/userdata");
+        if(uapi_delete_folder("/user/userdata")==-1)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂: 删除用户数据失败 /user/userdata");
+            return false;
+        }
          //删除kvstore
-         uapi_delete_folder("/user/kvstore");
+         if(uapi_delete_folder("/user/kvstore")==-1)
+         {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂: 删除kvstore失败 /user/kvstore");
+            return false;
+         }
+         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂: 成功");
+         //重启
+         uapi_reboot_device();
+         return true;
      }
  
      // ==================== 新手引导相关函数 ====================
index bff370a..35ceac0 100644 (file)
@@ -41,6 +41,9 @@ extern int32_t AudioCaptureSample(int32_t argc, const char *argv[]);
 static uint32_t ln_conversation_flag_at(uint8_t *para, uint32_t paraLen, char *strCommonCmd);
 static uint32_t ln_push_text_at(uint8_t *para, uint32_t paraLen, char *strCommonCmd);
 
+//恢复出厂设置相关AT命令函数声明
+static uint32_t ln_factory_at(uint8_t *para, uint32_t paraLen, char *strCommonCmd);
+
 /* 将 PCM 文件按 10ms(160点) 分帧喂给 VAD 并打印结果 */
 static int AnalyzePcmFileWithVad(const char *pcm_path)
 {
@@ -899,6 +902,15 @@ static uint32_t ln_push_text_at(uint8_t *para, uint32_t paraLen, char *strCommon
     return ERRCODE_SUCC;
 }
 
+/* 恢复出厂设置: AT^LN_FACTORY */
+static uint32_t ln_factory_at(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+    VAD_UNUSED(para); VAD_UNUSED(paraLen); VAD_UNUSED(strCommonCmd);
+    printf("[LN][FACTORY]\n");
+    do_restore_factory_setting();
+    printf("[LN][FACTORY] ok\n");
+    return ERRCODE_SUCC;
+}
 static const at_cmd_table_t g_ln_api_cmd[] = {
     /* ----------------------------------- VAD ---------------------------------- */
     {(char *)"AT^VAD_INIT", vad_init, (char *)"初始化 VAD"},
@@ -943,6 +955,9 @@ static const at_cmd_table_t g_ln_api_cmd[] = {
     /* 对话控制 */
     {(char *)"AT^LN_CONV_FLAG", ln_conversation_flag_at, (char *)"设置对话标志: AT^LN_CONV_FLAG=1/0"},
     {(char *)"AT^LN_PUSH_TEXT", ln_push_text_at, (char *)"推送文本到UI: AT^LN_PUSH_TEXT=hello world"},
+    
+    //恢复出厂设置
+    {(char *)"AT^LN_FACTORY", ln_factory_at, (char *)"恢复出厂设置: AT^LN_FACTORY"},
 };