From 47f59f82a5114bb1cf157402b2da12fece4993ce Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Fri, 19 Sep 2025 16:33:39 +0800 Subject: [PATCH] =?utf8?q?=E5=AE=8C=E5=96=84OTA=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../thunderbird/include/ThunderBirdModel.h | 8 ++++- .../src/ThunderBirdDialogueView.cpp | 2 ++ .../thunderbird/src/ThunderBirdMainView.cpp | 6 ++-- .../thunderbird/src/ThunderBirdModel.cpp | 29 +++++++++++++++++-- .../thunderbird/src/ThunderBirdOtaView.cpp | 8 ++--- .../leiniao/ln_api_cpp/ln_api_interface.cpp | 6 ++++ 6 files changed, 47 insertions(+), 12 deletions(-) diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h index 7c00ae359..7cbc5b983 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h @@ -34,7 +34,11 @@ namespace OHOS int ota_update_boot(); // 恢复出厂设置相关函数 void restore_factory_settings(); - + // OTA升级进度 + void UpdateOtaProgress(int progress); + // OTA升级状态 + void UpdateOtaStatus(int status); + int GetOtaStatus(); // 新手引导相关函数 enum class BindingStatus { BOUND = 0, // 已绑定 @@ -116,6 +120,8 @@ namespace OHOS std::vector m_reminders; uint32_t m_nextReminderId; std::string m_currentTimeStr; + // OTA升级状态 + int m_otaStatus; }; } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp index 3c56fde1f..ee0ee18f7 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp @@ -121,6 +121,8 @@ namespace OHOS TextLabel_Y->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); TextLabel_Y->SetStyle(STYLE_TEXT_COLOR, 0xff000000); TextLabel_Y->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); + TextLabel_Y->SetRollSpeed(35); TextLabel_Y->SetVisible(false); group->Add(TextLabel_Y); } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp index ae4cfcd50..562b193f9 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp @@ -977,7 +977,7 @@ namespace OHOS #ifdef SUPPORT_BATTERY_SERVICE Batteryvalue = battery_get_voltage(&voltage); #endif - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "battery_get_voltage = %d", Batteryvalue); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "battery_get_voltage = %d", Batteryvalue); if (batteryLabel) { batteryLabel->SetText((std::to_string(static_cast(Batteryvalue))).c_str()); // 电量 @@ -995,7 +995,7 @@ namespace OHOS bool isCharging = false; #ifdef SUPPORT_BATTERY_SERVICE isCharging = get_charge_stat(); // 获取充电状态 - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "isCharging = %d", isCharging); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "isCharging = %d", isCharging); #endif // 充电流程:进入充电显示“充电中”(一次),满电显示“充电完成”(一次) @@ -1025,7 +1025,7 @@ namespace OHOS g_pThunderBirdReminderView->Show(ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_CHARGING); } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "currentView = %d, currentSubView = %d", currentView_, currentSubView_); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "currentView = %d, currentSubView = %d", currentView_, currentSubView_); } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp index 4a99e4d90..9ddc2523e 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp @@ -421,10 +421,11 @@ //do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_GET_CHARACTER, nullptr, 0);//获取角色配置 return -1; } - + + /*************************OTA升级*************************/ int ThunderBirdModel::ota_update_boot() { - /*************************OTA升级*************************/ + do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_OTA_GET_TASK, nullptr, 0);//获取是否需要OTA升级 if(uapi_ln_ota_get_update_type() == 1)//强制OTA升级 { @@ -439,6 +440,29 @@ return -1; } + /*************************OTA升级进度*************************/ + void ThunderBirdModel::UpdateOtaProgress(int progress) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::UpdateOtaProgress: %d", progress); + if(ThunderBirdOtaView::GetInstance()) + { + ThunderBirdOtaView::GetInstance()->SetRemindProgress(progress); + } + } + + /*************************OTA升级状态*************************/ + void ThunderBirdModel::UpdateOtaStatus(int status) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::UpdateOtaStatus: %d", status); + m_otaStatus = status; + } + /*************************获取OTA升级状态*************************/ + int ThunderBirdModel::GetOtaStatus() + { + return m_otaStatus; + } + + // ==================== 恢复出厂设置相关函数 ==================== void ThunderBirdModel::restore_factory_settings() { @@ -494,7 +518,6 @@ int32_t ret = AudioCaptureSample(6, defaultArgs); if (ret != 0) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::StartRecording: AudioCaptureSample 失败,返回值: %d", ret); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::StartRecording: 可能的原因 - 音频设备被占用、权限不足或音频服务未初始化"); g_isRecording = false; return false; } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp index 670627aee..2ac068be7 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdOtaView.cpp @@ -607,11 +607,9 @@ namespace OHOS { return; } - int newVal = remindProgressValue_ + value; - if (newVal < 0) { newVal = 0; } - if (newVal > 100) { newVal = 100; } - remindProgressValue_ = newVal; - VolumeProgress->SetValue(remindProgressValue_); + if (value < 0) { value = 0; } + if (value > 100) { value = 100;} + VolumeProgress->SetValue(value); VolumeProgress->Invalidate(); } } diff --git a/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp b/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp index 364810745..9bbd2d652 100644 --- a/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp +++ b/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp @@ -29,15 +29,21 @@ int get_start_conversation_flag(void) return g_start_conversation_flag; } +// 获取OTA升级完状态 void push_ota_status(int status) { printf("push_ota_status: %d\n", status); + OHOS::ThunderBirdModel::GetInstance()->UpdateOtaStatus(status); } +// 获取OTA升级进度 void push_ota_progress(int progress) { + printf("push_ota_progress: %d\n", progress); + OHOS::ThunderBirdModel::GetInstance()->UpdateOtaProgress(progress); } +// 恢复出厂设置 void do_restore_factory_setting(void) { printf("do_restore_factory_setting\n"); -- 2.17.1