优化ota 2455/1 2455/head 2456/target/1
authorxue <2144439972@qq.com>
Tue, 30 Sep 2025 08:32:05 +0000 (16:32 +0800)
committerxue <2144439972@qq.com>
Tue, 30 Sep 2025 08:32:05 +0000 (16:32 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/ota/src/OtaPresenter.cpp

index 00bce7c..8594df0 100644 (file)
@@ -13,6 +13,7 @@
 #include <service/graphic_service.h>
 #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);
     }
 
     /**
index 4495bbf..6a5b15f 100644 (file)
@@ -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<OtaView*>(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<OtaView*>(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<OtaView*>(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);
                         }