diff --git a/interfaces/kits/updaterkits/updaterkits.cpp b/interfaces/kits/updaterkits/updaterkits.cpp index 81f0085e879a3c037c5796c6df60ab39b004b9cd..cefbd0e53f67d325bd26b2399d5894d282f21531 100755 --- a/interfaces/kits/updaterkits/updaterkits.cpp +++ b/interfaces/kits/updaterkits/updaterkits.cpp @@ -126,7 +126,9 @@ static bool WriteToMiscAndResultFileRebootToUpdater(const struct UpdateMessage & static bool IsPackagePath(const std::string &path) { if (path.find("--force_update_action=") != std::string::npos || - path.find("--night_update") != std::string::npos) { + path.find("--night_update") != std::string::npos || + path.find("--shrink_info=") != std::string::npos || + path.find("--virtual_shrink_info=") != std::string::npos) { return false; } return true; diff --git a/services/include/updater/updater.h b/services/include/updater/updater.h index 7c3fd9fa8b7369302de9aff1b6a9c6bd6eb4acbb..a0e3a9150bdb6163c874b69162881217951ee7dc 100644 --- a/services/include/updater/updater.h +++ b/services/include/updater/updater.h @@ -51,6 +51,8 @@ struct UpdaterParams { float initialProgress = 0; /* The upgrade starts at the progress bar location */ float currentPercentage = 0; /* The proportion of progress bars occupied by the upgrade process */ unsigned int pkgLocation = 0; + std::string shrinkInfo = ""; + std::string virtualShrinkInfo = ""; std::string miscCmd {"boot_updater"}; std::vector updatePackage {}; std::vector> installTime {}; diff --git a/services/updater_main.cpp b/services/updater_main.cpp index f434a2dc77bd611eb0ce271264ff024ac927394e..4306cf08acad6508b2e8e475dca6784c94561398 100644 --- a/services/updater_main.cpp +++ b/services/updater_main.cpp @@ -75,6 +75,8 @@ constexpr struct option OPTIONS[] = { { "UPDATE:SD", no_argument, nullptr, 0 }, { "UPDATE:SDFROMDEV", no_argument, nullptr, 0 }, { "sdcard_intral_update", optional_argument, nullptr, 0}, + { "shrink_info", required_argument, nullptr, 0 }, + { "virtual_shrink_info", required_argument, nullptr, 0 }, {"wipe_data_factory_lowlevel", no_argument, nullptr, 0}, { "wipe_data_at_factoryreset_0", no_argument, nullptr, 0 }, { nullptr, 0, nullptr, 0 }, @@ -743,6 +745,14 @@ std::unordered_map> InitOptionsFuncTab(char* {"sdcard_intral_update", [&]() -> void { upParams.updateMode = SDCARD_UPDATE; + }}, + {"shrink_info", [&]() -> void + { + upParams.shrinkInfo = std::string(optarg); + }}, + {"virtual_shrink_info", [&]() -> void + { + upParams.virtualShrinkInfo = std::string(optarg); }} }; return optionsFuncTab;