From 323e1c67bc5365642644481cdc721c8134253498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Thu, 5 Sep 2024 16:46:04 +0800 Subject: [PATCH] =?UTF-8?q?4.0-Release=E4=BF=AE=E6=94=B9=20Signed-off-by:?= =?UTF-8?q?=20=E9=82=B9=E5=8F=8B=E6=9D=BE=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/engine/etc/updater_sa.cfg | 6 +++--- services/engine/sa_profile/3006.json | 18 ++++++++++++++++-- .../common/include/firmware_update_helper.h | 2 +- .../common/src/firmware_update_helper.cpp | 10 +++++++++- .../upgrade/flow/src/firmware_manager.cpp | 6 ++++-- 5 files changed, 33 insertions(+), 9 deletions(-) diff --git a/services/engine/etc/updater_sa.cfg b/services/engine/etc/updater_sa.cfg index 28a8eee7..acef9214 100644 --- a/services/engine/etc/updater_sa.cfg +++ b/services/engine/etc/updater_sa.cfg @@ -12,8 +12,7 @@ "mkdir /data/update 0770 update update", "mkdir /data/update/ota_package 0770 update update", "mkdir /data/update/ota_package/firmware 0770 update update", - "mkdir /data/update/ota_package/firmware/versions 0770 update update", - "start updater_sa" + "mkdir /data/update/ota_package/firmware/versions 0770 update update" ] } ], @@ -24,7 +23,8 @@ "uid" : "update", "gid" : ["update", "netsys_socket"], "permission" : [ - "ohos.permission.UPDATE_SYSTEM" + "ohos.permission.UPDATE_SYSTEM", + "ohos.permission.GET_NETWORK_INFO" ], "secon" : "u:r:updater_sa:s0" } diff --git a/services/engine/sa_profile/3006.json b/services/engine/sa_profile/3006.json index a25f447a..8e3f0ac5 100644 --- a/services/engine/sa_profile/3006.json +++ b/services/engine/sa_profile/3006.json @@ -4,11 +4,25 @@ { "name": 3006, "libpath": "libupdateservice.z.so", - "run-on-create": true, + "run-on-create": false, "distributed": false, "bootphase": "BootStartPhase", "dump-level": 1, - "auto-restart" : true + "auto-restart" : true, + "start-on-demand": { + "allow-update": true, + "commonevent": [ + { + "name": "usual.event.BOOT_COMPLETED" + } + ], + "timedevent": [ + { + "name": "loopevent", + "value": "14400" + } + ] + } } ] } \ No newline at end of file diff --git a/services/firmware/common/include/firmware_update_helper.h b/services/firmware/common/include/firmware_update_helper.h index 1a2e2434..a0e2336c 100644 --- a/services/firmware/common/include/firmware_update_helper.h +++ b/services/firmware/common/include/firmware_update_helper.h @@ -46,7 +46,7 @@ public: static void BuildCurrentVersionInfo(CurrentVersionInfo ¤tVersionInfo); static void BuildNewVersionInfo(const std::vector &components, std::vector &versionComponents); - + static bool IsUpgradeFailed(UpgradeStatus status); static std::string BuildTaskId(const std::vector &componentList); static InstallType GetInstallType(); diff --git a/services/firmware/common/src/firmware_update_helper.cpp b/services/firmware/common/src/firmware_update_helper.cpp index 3f05c842..adc96616 100644 --- a/services/firmware/common/src/firmware_update_helper.cpp +++ b/services/firmware/common/src/firmware_update_helper.cpp @@ -35,7 +35,6 @@ std::string FirmwareUpdateHelper::BuildTaskId(const std::vector preferencesUtil = DelayedSingleton::GetInstance(); FirmwareTask task; FirmwareTaskOperator firmwareTaskOperator; @@ -59,6 +58,15 @@ InstallType FirmwareUpdateHelper::GetInstallType() return installType; } +bool FirmwareUpdateHelper::IsUpgradeFailed(UpgradeStatus status) +{ + return status == UpgradeStatus::DOWNLOAD_FAIL || + status == UpgradeStatus::PACKAGE_TRANS_FAIL || + status == UpgradeStatus::INSTALL_FAIL || + status == UpgradeStatus::UPDATE_FAIL || + status == UpgradeStatus::VERIFY_FAIL; +} + VersionComponent FirmwareUpdateHelper::BuildHotaVersionComponent(std::vector &hotaComponents) { VersionComponent hotaVersionComponent; diff --git a/services/firmware/upgrade/flow/src/firmware_manager.cpp b/services/firmware/upgrade/flow/src/firmware_manager.cpp index 2d03e1d3..b347c79b 100644 --- a/services/firmware/upgrade/flow/src/firmware_manager.cpp +++ b/services/firmware/upgrade/flow/src/firmware_manager.cpp @@ -119,7 +119,7 @@ void FirmwareManager::RestoreUpdate() return; } - if (firmwareTask.status == UpgradeStatus::INSTALLING || firmwareTask.status == UpgradeStatus::INSTALL_SUCCESS) { + if (firmwareTask.status == UpgradeStatus::INSTALLING) { HandleBootInstallOnStatusProcess(firmwareTask); return; } @@ -270,7 +270,7 @@ void FirmwareManager::DoClearError(BusinessError &businessError) FIRMWARE_LOGI("DoClearError has no task"); return; } - if (!UpdateHelper::IsUpgradeFailed(task.status)) { + if (!FirmwareUpdateHelper::IsUpgradeFailed(task.status)) { businessError.Build(CallResult::FAIL, "please check status before clear error"); businessError.AddErrorMessage(CAST_INT(DUPDATE_ERR_UPDATE_COMMON_ERROR), "please check status before clear error"); @@ -380,6 +380,7 @@ void FirmwareManager::HandleBootUpdateSuccess(const FirmwareTask &task, versionComponent.upgradeAction = UpgradeAction::UPGRADE; versionComponent.displayVersion = component.targetBlDisplayVersionNumber; versionComponent.innerVersion = component.targetBlVersionNumber; + versionComponent.componentExtra = JsonBuilder().Append("{}").ToJson(); versionComponents.push_back(versionComponent); } @@ -407,6 +408,7 @@ void FirmwareManager::HandleBootUpdateFail(const FirmwareTask &task, versionComponent.upgradeAction = UpgradeAction::UPGRADE; versionComponent.displayVersion = component.targetBlDisplayVersionNumber; versionComponent.innerVersion = component.targetBlVersionNumber; + versionComponent.componentExtra = JsonBuilder().Append("{}").ToJson(); versionComponents.push_back(versionComponent); } -- Gitee