From 7092ec6220bd497293e7512b06b5fd4d880d5927 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Fri, 9 Aug 2019 17:30:55 +0900 Subject: [PATCH] Fix StepMergeTpkConfig for application attribute Mainapp attribute should be modified at here to set mainapp as true for webapp. Change-Id: I94aa9e482a2550fefa1378f1fa3e961f0636ad0c Signed-off-by: Junghyun Yeon --- .../step/configuration/step_merge_tpk_config.cc | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/hybrid/step/configuration/step_merge_tpk_config.cc b/src/hybrid/step/configuration/step_merge_tpk_config.cc index d63d003..eb2619f 100644 --- a/src/hybrid/step/configuration/step_merge_tpk_config.cc +++ b/src/hybrid/step/configuration/step_merge_tpk_config.cc @@ -6,6 +6,8 @@ #include +#include + #include "hybrid/hybrid_backend_data.h" namespace hybrid { @@ -22,11 +24,27 @@ common_installer::Step::Status StepMergeTpkConfig::process() { manifest_x* tpk_data = data->tpk_manifest_data.get(); manifest_x* wgt_data = context_->manifest_data.get(); - if (merge_type_ == MergeType::CONCAT) + if (merge_type_ == MergeType::CONCAT) { wgt_data->application = g_list_concat(wgt_data->application, tpk_data->application); - else + } else { + // mainappid should be webapp for hybrid pkg + for (application_x* app : + GListRange(tpk_data->application)) { + if (app->type && strcmp(app->type, "webapp") != 0) + continue; + + if (app->mainapp) + free(app->mainapp); + app->mainapp = strdup("true"); + if (!app->mainapp) { + LOG(ERROR) << "Out of memoery"; + return Status::ERROR; + } + break; + } wgt_data->application = tpk_data->application; + } tpk_data->application = nullptr; return Status::OK; -- 2.7.4