#include <pkgmgrinfo_basic.h>
+#include <common/utils/glist_range.h>
+
#include "hybrid/hybrid_backend_data.h"
namespace hybrid {
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<application_x*>(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;