diff --git a/services/include/updater/updater.h b/services/include/updater/updater.h index 8af7dd5298e6180d18944460799a3439504c1476..f5c4d662666aa8fabdeeb9f12e893eb5b2a720e8 100644 --- a/services/include/updater/updater.h +++ b/services/include/updater/updater.h @@ -29,6 +29,7 @@ enum UpdaterStatus { UPDATE_CORRUPT, /* package or verify failed, something is broken. */ UPDATE_SKIP, /* skip update because of condition is not satisfied, e.g, battery is low */ UPDATE_RETRY, + UPDATE_RETRY_FAIL, UPDATE_SPACE_NOTENOUGH, UPDATE_UNKNOWN }; @@ -51,6 +52,7 @@ enum NotifyAction { TRIGGER_SDUPDATE, TRIGGER_FACTORYRST, TRIGGER_EUPDATER, + SET_RETRY_STATUS }; struct UpdaterParams { diff --git a/services/updater_main.cpp b/services/updater_main.cpp index ce65da34091e8c6de394b8ae7aa7ac9b9ddc5206..c4662f8a83643d0628039767a188caa2fff42992 100644 --- a/services/updater_main.cpp +++ b/services/updater_main.cpp @@ -529,6 +529,9 @@ UpdaterStatus InstallUpdaterPackage(UpdaterParams &upParams, PkgManager::PkgMana status = DoInstallUpdaterPackage(manager, upParams, SDCARD_UPDATE); } else { status = DoInstallUpdaterPackage(manager, upParams, HOTA_UPDATE); + if (NotifyActionResult(upParams, status, {SET_RETRY_STATUS}) != UPDATE_SUCCESS) { + LOG(ERROR) << "set retry status fail"; + } } if (status != UPDATE_SUCCESS) { UPDATER_UI_INSTANCE.Sleep(UI_SHOW_DURATION);