Set main app id for watch application 97/62497/3
authorTomasz Iwanek <t.iwanek@samsung.com>
Wed, 16 Mar 2016 10:12:40 +0000 (11:12 +0100)
committerTomasz Iwanek <t.iwanek@samsung.com>
Thu, 17 Mar 2016 15:42:49 +0000 (08:42 -0700)
Test:
 /usr/bin/tpk-backend-ut/manifest-test --gtest_filter="ManifestTest.WatchApplicationElement_Set*"
shouldn't crash.

Change-Id: I1a3b0ab29481c259ae3ab2688d176fbffd0c2c45

src/common/step/step_parse_manifest.cc

index cf965d4..005ecf1 100644 (file)
@@ -212,6 +212,9 @@ bool StepParseManifest::FillPackageInfo(manifest_x* manifest) {
   } else if (widget_application_list) {
     manifest->mainapp_id =
         strdup(widget_application_list->items[0].app_info.appid().c_str());
+  } else if (watch_application_list) {
+    manifest->mainapp_id =
+        strdup(watch_application_list->items[0].app_info.appid().c_str());
   }
   return true;
 }
@@ -484,6 +487,8 @@ bool StepParseManifest::FillWatchApplication(manifest_x* manifest) {
     return true;
 
   for (const auto& watch_application : watch_application_list->items) {
+    bool main_app = manifest->application == nullptr;
+
     application_x* watch_app =
              static_cast<application_x*>(calloc(1, sizeof(application_x)));
     watch_app->appid = strdup(watch_application.app_info.appid().c_str());
@@ -502,7 +507,7 @@ bool StepParseManifest::FillWatchApplication(manifest_x* manifest) {
     watch_app->enabled = strdup("true");
     watch_app->hwacceleration = strdup("default");
     watch_app->screenreader = strdup("use-system-setting");
-    watch_app->mainapp = strdup("false");
+    watch_app->mainapp = main_app ? strdup("true") : strdup("false");
     watch_app->recentimage = strdup("false");
     watch_app->launchcondition = strdup("false");
     watch_app->indicatordisplay = strdup("true");