Lines Matching defs:upParams

126 static UpdaterStatus UpdatePreCheck(UpdaterParams &upParams, const std::string pkgPath)
145 if (PreProcess::GetInstance().DoUpdatePreProcess(upParams, pkgManager) != PKG_SUCCESS) {
158 __attribute__((weak)) int32_t VerifySpecialPkgs([[maybe_unused]]UpdaterParams &upParams)
169 static UpdaterStatus VerifyPackages(UpdaterParams &upParams)
175 if (upParams.callbackProgress == nullptr) {
180 upParams.callbackProgress(0.0);
181 upParams.installTime.resize(upParams.updatePackage.size(), std::chrono::duration<double>(0));
182 ReadInstallTime(upParams);
183 for (unsigned int i = upParams.pkgLocation; i < upParams.updatePackage.size(); i++) {
184 LOG(INFO) << "Verify package:" << upParams.updatePackage[i];
191 int32_t verifyret = OtaUpdatePreCheck(manager, upParams.updatePackage[i]);
194 verifyret = UpdatePreCheck(upParams, upParams.updatePackage[i]);
198 UpdaterVerifyFailEntry((verifyret == PKG_INVALID_DIGEST) && (upParams.updateMode == HOTA_UPDATE));
199 upParams.pkgLocation = i;
202 upParams.installTime[i] = endTime - startTime;
206 upParams.installTime[i] = endTime - startTime;
208 if (VerifySpecialPkgs(upParams) != PKG_SUCCESS) {
275 UpdaterStatus InstallUpdaterPackage(UpdaterParams &upParams, PkgManager::PkgManagerPtr manager)
279 if (upParams.retryCount == 0) {
286 SetMessageToMisc(upParams.miscCmd, upParams.retryCount + 1, "retry_count");
288 if (upParams.updateMode == SDCARD_UPDATE) {
289 status = DoInstallUpdaterPackage(manager, upParams, SDCARD_UPDATE);
291 status = DoInstallUpdaterPackage(manager, upParams, HOTA_UPDATE);
308 static UpdaterStatus CalcProgress(const UpdaterParams &upParams,
314 if (upParams.pkgLocation == upParams.updatePackage.size()) {
318 for (const auto &path : upParams.updatePackage) {
347 updateStartPosition = pkgStartPosition[upParams.pkgLocation];
351 static UpdaterStatus PreUpdatePackages(UpdaterParams &upParams)
354 LOG(INFO) << "start to update packages, start index:" << upParams.pkgLocation;
358 upParams.installTime.resize(upParams.updatePackage.size(), std::chrono::duration<double>(0));
370 if (upParams.pkgLocation == upParams.updatePackage.size()) {
376 if (VerifyPackages(upParams) != UPDATE_SUCCESS) {
381 if (IsSpaceCapacitySufficient(upParams) == UPDATE_ERROR) {
385 if (upParams.retryCount == 0 && !IsBatteryCapacitySufficient()) {
394 if (!PtablePreProcess::GetInstance().DoPtableProcess(upParams)) {
403 static UpdaterStatus DoInstallPackages(UpdaterParams &upParams, std::vector<double> &pkgStartPosition)
406 if (upParams.pkgLocation == upParams.updatePackage.size()) {
408 upParams.callbackProgress(FULL_PERCENT_PROGRESS);
411 for (; upParams.pkgLocation < upParams.updatePackage.size(); upParams.pkgLocation++) {
418 upParams.initialProgress = ((UPDATER_UI_INSTANCE.GetCurrentPercent() / FULL_PERCENT) >
419 pkgStartPosition[upParams.pkgLocation]) ?
420 (UPDATER_UI_INSTANCE.GetCurrentPercent() / FULL_PERCENT) : pkgStartPosition[upParams.pkgLocation];
421 upParams.currentPercentage = pkgStartPosition[upParams.pkgLocation + 1] - upParams.initialProgress;
422 LOG(INFO) << "InstallUpdaterPackage pkg is " << upParams.updatePackage[upParams.pkgLocation] <<
423 " percent:" << upParams.initialProgress << "~" << pkgStartPosition[upParams.pkgLocation + 1];
425 status = InstallUpdaterPackage(upParams, manager);
427 upParams.installTime[upParams.pkgLocation] = upParams.installTime[upParams.pkgLocation] + endTime - startTime;
428 WriteInstallTime(upParams);
430 LOG(ERROR) << "InstallUpdaterPackage failed! Pkg is " << upParams.updatePackage[upParams.pkgLocation];
438 static_cast<int>(upParams.initialProgress * FULL_PERCENT_PROGRESS +
439 upParams.currentPercentage * GetTmpProgressValue()),
440 static_cast<int>(pkgStartPosition[upParams.pkgLocation + 1] * FULL_PERCENT_PROGRESS));
441 SetMessageToMisc(upParams.miscCmd, upParams.pkgLocation + 1, "upgraded_pkg_num");
447 UpdaterStatus DoUpdatePackages(UpdaterParams &upParams)
453 status = CalcProgress(upParams, pkgStartPosition, updateStartPosition);
458 for (unsigned int i = 0; i < upParams.updatePackage.size(); i++) {
459 LOG(INFO) << "package " << i << ":" << upParams.updatePackage[i] <<
460 " percent:" << upParams.currentPercentage;
462 if (upParams.callbackProgress == nullptr) {
468 upParams.callbackProgress(value);
469 status = DoInstallPackages(upParams, pkgStartPosition);
474 if (upParams.forceUpdate) {
481 static void PostUpdatePackages(UpdaterParams &upParams, bool updateResult)
495 upParams.pkgLocation = upParams.pkgLocation == 0 ? upParams.pkgLocation : (upParams.pkgLocation - 1);
498 for (unsigned int i = 0; i < upParams.pkgLocation; i++) {
499 time = DurationToString(upParams.installTime, i);
500 writeBuffer += upParams.updatePackage.size() < i + 1 ? "" : upParams.updatePackage[i];
503 time = DurationToString(upParams.installTime, upParams.pkgLocation);
505 writeBuffer += upParams.updatePackage.size() < upParams.pkgLocation + 1 ? "" :
506 upParams.updatePackage[upParams.pkgLocation];
508 for (unsigned int i = upParams.pkgLocation + 1; i < upParams.updatePackage.size(); i++) {
509 writeBuffer += upParams.updatePackage[i] + "\n";
519 static UpdaterStatus PreSdcardUpdatePackages(UpdaterParams &upParams)
521 upParams.installTime.resize(upParams.updatePackage.size(), std::chrono::duration<double>(0));
523 if (upParams.retryCount == 0 && !IsBatteryCapacitySufficient()) {
530 if (VerifyPackages(upParams) != UPDATE_SUCCESS) {
534 if (!PtablePreProcess::GetInstance().DoPtableProcess(upParams)) {
542 static void PostSdcardUpdatePackages(UpdaterParams &upParams, bool updateResult)
545 PostUpdatePackages(upParams, updateResult);
549 UpdaterStatus UpdaterFromSdcard(UpdaterParams &upParams)
552 upParams.callbackProgress = [] (float value) { UPDATER_UI_INSTANCE.ShowProgress(value); };
553 SetMessageToMisc(upParams.miscCmd, 0, "sdcard_update");
554 if (CheckSdcardPkgs(upParams) != UPDATE_SUCCESS) {
558 UpdaterStatus status = PreSdcardUpdatePackages(upParams);
560 upParams.initialProgress += VERIFY_PERCENT;
561 upParams.currentPercentage -= VERIFY_PERCENT;
564 LOG(INFO) << "UpdaterFromSdcard start, sdcard updaterPath : " << upParams.updatePackage[upParams.pkgLocation];
566 status = DoUpdatePackages(upParams);
568 PostSdcardUpdatePackages(upParams, status == UPDATE_SUCCESS);
572 UpdaterStatus InstallUpdaterPackages(UpdaterParams &upParams)
575 UpdaterStatus status = PreUpdatePackages(upParams);
577 status = DoUpdatePackages(upParams);
579 PostUpdatePackages(upParams, status == UPDATE_SUCCESS);
584 UpdaterStatus StartUpdaterEntry(UpdaterParams &upParams)
587 status = PreStartUpdaterEntry(upParams, status);
593 status = DoUpdaterEntry(upParams);
598 status = PostStartUpdaterEntry(upParams, status);
605 UpdaterStatus DoUpdaterEntry(UpdaterParams &upParams)
608 if (upParams.updateMode == SDCARD_UPDATE) {
611 status = UpdaterFromSdcard(upParams);
613 } else if (upParams.updatePackage.size() > 0) {
615 status = InstallUpdaterPackages(upParams);
616 } else if (upParams.factoryResetMode == "factory_wipe_data") {
629 } else if (upParams.factoryResetMode == "user_wipe_data" || upParams.factoryResetMode == "menu_wipe_data") {
636 if (FactoryReset(upParams.factoryResetMode == "user_wipe_data" ?
654 PackageUpdateMode &mode, UpdaterParams &upParams)
659 upParams.updatePackage.push_back(optarg);
665 upParams.retryCount = atoi(optarg);
666 HwFaultRetry::GetInstance().SetRetryCount(upParams.retryCount);
671 upParams.factoryResetMode = "factory_wipe_data";
676 upParams.factoryResetMode = "factory_wipe_data";
681 upParams.factoryResetMode = "user_wipe_data";
686 upParams.factoryResetMode = "user_wipe_data";
691 upParams.factoryResetMode = "menu_wipe_data";
695 upParams.pkgLocation = static_cast<unsigned int>(atoi(optarg));
699 upParams.updateMode = SDCARD_UPDATE;
703 upParams.updateMode = SDCARD_UPDATE;
704 upParams.sdExtMode = SDCARD_MAINIMG;
708 upParams.updateMode = SDCARD_UPDATE;
709 upParams.sdExtMode = SDCARD_NORMAL_UPDATE;
713 upParams.updateMode = SDCARD_UPDATE;
714 upParams.sdExtMode = SDCARD_NORMAL_UPDATE;
718 upParams.updateMode = SDCARD_UPDATE;
719 upParams.sdExtMode = SDCARD_UPDATE_FROM_DEV;
724 upParams.forceUpdate = true;
730 upParams.forceReboot = true;
734 upParams.updateMode = SDCARD_UPDATE;
747 [[maybe_unused]] UpdaterParams &upParams, PackageUpdateMode &mode)
753 char **argv, PackageUpdateMode &mode, UpdaterParams &upParams)
758 auto optionsFuncTab = InitOptionsFuncTab(optarg, mode, upParams);
775 return ProcessOtherOption(option, upParams, mode);
785 if (upParams.pkgLocation == 0) {
789 if (upParams.updateMode == SDCARD_UPDATE) {
793 return StartUpdaterEntry(upParams);
804 void RebootAfterUpdateSuccess(const UpdaterParams &upParams)
807 upParams.sdExtMode == SDCARD_UPDATE_FROM_DEV ||
808 upParams.sdExtMode == SDCARD_UPDATE_FROM_DATA) {
812 if (upParams.factoryResetMode == "factory_wipe_data") {
817 upParams.forceUpdate || upParams.factoryResetMode == "factory_wipe_data" ?
825 UpdaterParams upParams;
826 upParams.callbackProgress = [] (float value) { UPDATER_UI_INSTANCE.ShowProgress(value); };
836 status = StartUpdater(args, argv, mode, upParams);
843 if (upParams.forceReboot) {
853 } else if (upParams.factoryResetMode == "user_wipe_data" ||
854 upParams.factoryResetMode == "menu_wipe_data" || upParams.factoryResetMode == "factory_wipe_data") {
871 RebootAfterUpdateSuccess(upParams);