diff --git a/services/updater_main.cpp b/services/updater_main.cpp index aacf1c3f2c98dfc26faf22169b0d5e0c4bf5d25c..b736a883291ec51e9f81f2cf1ea7a460977d01ef 100644 --- a/services/updater_main.cpp +++ b/services/updater_main.cpp @@ -425,7 +425,7 @@ static UpdaterStatus PreUpdatePackages(UpdaterParams &upParams) // verify package first if (VerifyPackages(upParams) != UPDATE_SUCCESS) { - return UPDATE_CORRUPT; + return UPDATE_CORRUPT; // verify package failed must return UPDATE_CORRUPT, ux need it !!! } // Only handle UPATE_ERROR and UPDATE_SUCCESS here.Let package verify handle others. @@ -592,7 +592,7 @@ static UpdaterStatus PreSdcardUpdatePackages(UpdaterParams &upParams) } UpdaterStatus status = VerifyPackages(upParams); if (status != UPDATE_SUCCESS) { - return UPDATE_CORRUPT; + return UPDATE_CORRUPT; // verify package failed must return UPDATE_CORRUPT, ux need it !!! } #ifdef UPDATER_USE_PTABLE if (!PtablePreProcess::GetInstance().DoPtableProcess(upParams)) { @@ -878,12 +878,24 @@ __attribute__((weak)) bool IsNeedWipe() return false; } -void RebootAfterUpdateSuccess(const UpdaterParams &upParams) +__attribute__((weak)) bool NotifySdUpdateReboot(const UpdaterParams &upParams) { - if (IsNeedWipe() || - upParams.sdExtMode == SDCARD_UPDATE_FROM_DEV || + if (upParams.sdExtMode == SDCARD_UPDATE_FROM_DEV || upParams.sdExtMode == SDCARD_UPDATE_FROM_DATA) { NotifyReboot("updater", "Updater wipe data after upgrade success", "--user_wipe_data"); + return true; + } + return false; +} + +void RebootAfterUpdateSuccess(const UpdaterParams &upParams) +{ + if (IsNeedWipe()) { + NotifyReboot("updater", "Updater wipe data after upgrade success", "--user_wipe_data"); + return; + } + if (NotifySdUpdateReboot(upParams)) { + LOG(INFO) << "sd update and wipe data"; return; } upParams.forceUpdate ? Utils::DoShutdown("Updater update success go shut down") : diff --git a/services/updater_main.h b/services/updater_main.h index 908a6bfa387e66c11ae0976a610da49608905f69..e367a2e7e8973c04271ca66da341363ca6b01e00 100644 --- a/services/updater_main.h +++ b/services/updater_main.h @@ -70,6 +70,7 @@ int32_t VerifySpecialPkgs([[maybe_unused]]UpdaterParams &upParams); void UpdaterVerifyFailEntry(bool verifyret); bool IsSpareBoardBoot(void); bool IsNeedWipe(); +bool NotifySdUpdateReboot(const UpdaterParams &upParams); void NotifyReboot(const std::string& rebootTarget, const std::string &rebootReason, const std::string &extData = ""); UpdaterStatus NotifyActionResult(UpdaterParams &upParams, UpdaterStatus &status, const std::vector ¬ifyActionVec); diff --git a/utils/write_updater.cpp b/utils/write_updater.cpp index 3bcb7fec4c1b4fa0e375476f1c2708dc460170eb..df45b8ea2fae522b25c44e86416802cb5f3384bb 100644 --- a/utils/write_updater.cpp +++ b/utils/write_updater.cpp @@ -76,7 +76,6 @@ static int WriteUpdaterPara(int argc, UpdaterPara ¶) static void HandleMiscInfo(int argc, char **argv) { if (!Utils::IsFileExist(HANDLE_MISC_LIB_PATH)) { - cout << "libupdater_handle_misc.z.so is not exist"; return; } auto handle = Utils::LoadLibrary(HANDLE_MISC_LIB);