From c1771e48d01e7018e93cd8e5900461c6f3320b5c Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Tue, 30 Sep 2025 16:32:05 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96ota?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeapp/nativeui/ota/src/OtaModel.cpp | 12 +- .../nativeui/ota/src/OtaPresenter.cpp | 135 +----------------- 2 files changed, 6 insertions(+), 141 deletions(-) diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaModel.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaModel.cpp index 00bce7caf..8594df032 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaModel.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaModel.cpp @@ -13,6 +13,7 @@ #include #include "ota/include/OtaView.h" #include "ota/include/OtaUpdatingView.h" +#include "system/include/MemoryManager.h" namespace OHOS { @@ -132,18 +133,13 @@ namespace OHOS #ifdef SUPPORT_BATTERY_SERVICE Batteryvalue = battery_get_voltage(&voltage); #endif - return (Batteryvalue >= 20); + return (Batteryvalue >= 50); } bool OtaModel::IsMemorySufficient() const { - // 检查内存是否足够(至少100MB) - // TODO: 实现实际的内存检查 - // int freeMemory = get_free_memory(); - const char* memoryInfo = get_system_memory_info(); - printf("memoryInfo: %s\r\n", memoryInfo); - int freeMemory = 200; // 暂时返回200MB可用内存 - return (freeMemory >= 100); + int memoryValue = uapi_ln_get_ota_package_size(); + return MemoryManager::GetInstance()->CheckPathMemory("/user/update/", memoryValue); } /** diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaPresenter.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaPresenter.cpp index 4495bbf18..6a5b15fb4 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaPresenter.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaPresenter.cpp @@ -85,136 +85,6 @@ namespace OHOS return true; } - void OtaPresenter::StartOtaUpdate() - { - // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::StartOtaUpdate"); - - // // 检查网络状态 - // if (!OtaModel::GetInstance()->HasNetwork()) { - // UpdateOtaStatus(OTA_VIEW_NETWORK_ERROR); - // return; - // } - - // // 检查电量 - // if (!OtaModel::GetInstance()->IsBatterySufficient()) { - // UpdateOtaStatus(OTA_VIEW_LOW_BATTERY); - // return; - // } - - // // 检查内存 - // if (!OtaModel::GetInstance()->IsMemorySufficient()) { - // UpdateOtaStatus(OTA_VIEW_MEMORY_ERROR); - // return; - // } - - // // 开始OTA更新 - // int result = OtaModel::GetInstance()->StartOtaUpdate(); - // if (result == 0) { - // UpdateOtaStatus(OTA_VIEW_UPDATING); - // } else { - // UpdateOtaStatus(OTA_VIEW_UPDATE_FAILED); - // } - } - - // void OtaPresenter::StopOtaUpdate() - // { - // // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::StopOtaUpdate"); - - // // OtaModel::GetInstance()->StopOtaUpdate(); - // // UpdateOtaStatus(OTA_VIEW_UPDATE_FAILED); - // } - - void OtaPresenter::UpdateOtaProgress(int progress) - { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::UpdateOtaProgress: %d", progress); - - // m_otaProgress = progress; - // OtaModel::GetInstance()->SetOtaProgress(progress); - - // // 更新UI - // OtaView *view = static_cast(GetView()); - // if (view) { - // view->SetRemindProgress(progress); - // } - - // // 如果进度达到100%,更新状态为成功 - // if (progress >= 100) { - // UpdateOtaStatus(OTA_VIEW_UPDATE_SUCCESS); - // } - } - - void OtaPresenter::UpdateOtaStatus(int status) - { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::UpdateOtaStatus: %d", status); - - // m_otaStatus = status; - // OtaModel::GetInstance()->SetOtaStatus(status); - - // // 更新UI - // OtaView *view = static_cast(GetView()); - // if (view) { - // view->Show(status); - // } - - // HandleOtaStatusChange(status); - } - - // int OtaPresenter::GetOtaStatus() const - // { - // return m_otaStatus; - // } - - void OtaPresenter::StartOtaCountdown(uint32_t startVal) - { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::StartOtaCountdown: %u", startVal); - - m_otaCountdownActive = true; - m_otaCountdownValue = startVal; - - OtaModel::GetInstance()->SetCountdownActive(true); - OtaModel::GetInstance()->SetCountdownValue(startVal); - - // 显示倒计时界面 - // UpdateOtaStatus(OTA_VIEW_COUNTDOWN); - } - - // void OtaPresenter::StopOtaCountdown() - // { - // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::StopOtaCountdown"); - - // m_otaCountdownActive = false; - // m_otaCountdownValue = 0; - - // OtaModel::GetInstance()->SetCountdownActive(false); - // OtaModel::GetInstance()->SetCountdownValue(0); - // } - - void OtaPresenter::UpdateCountdown(int value) - { - // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::UpdateCountdown: %d", value); - - // m_otaCountdownValue = value; - // OtaModel::GetInstance()->SetCountdownValue(value); - - // // 更新UI - // OtaView *view = static_cast(GetView()); - // if (view) { - // view->UpdateCountdown(value); - // } - - // // 如果倒计时结束,开始更新 - // if (value <= 0) { - // StopOtaCountdown(); - // StartOtaUpdate(); - // } - } - - void OtaPresenter::HandleOtaStatusChange(int status) - { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OtaPresenter::HandleOtaStatusChange: %d", status); - - } - void OtaPresenter::HandleKeyPress(uint16_t keyId, uint16_t keyState) { int16_t currentView = OtaView::GetInstance()->GetCurrentView(); @@ -235,7 +105,7 @@ namespace OHOS //普通升级 int result = OtaModel::GetInstance()->StartOtaUpdate(); if(result == 0) { - OtaView::GetInstance()->ChangeView(OtaView::OTA_VIEW_NORMAL, OtaView::OTA_VIEW_UPDATING); + OtaView::GetInstance()->ChangeView(OtaView::OTA_VIEW_NORMAL, OtaView::OTA_VIEW_COUNTDOWN); } else if(result == -1) { OtaView::GetInstance()->ChangeView(OtaView::OTA_VIEW_NORMAL, OtaView::OTA_VIEW_NETWORK_ERROR); @@ -249,8 +119,7 @@ namespace OHOS } else if (currentView == OtaView::OTA_VIEW_UPDATE_NOW) { //强制升级 - //int result = OtaModel::GetInstance()->StartOtaUpdate(); - int result = 0; + int result = OtaModel::GetInstance()->StartOtaUpdate(); if(result == 0) { OtaView::GetInstance()->ChangeView(OtaView::OTA_VIEW_UPDATE_NOW, OtaView::OTA_VIEW_COUNTDOWN); } -- 2.17.1