Revert "Rework main app detection for widget-application" 05/62405/3
authorSangyoon Jang <s89.jang@samsung.com>
Wed, 16 Mar 2016 02:52:05 +0000 (19:52 -0700)
committerSangyoon Jang <s89.jang@samsung.com>
Wed, 16 Mar 2016 04:07:15 +0000 (21:07 -0700)
This reverts commit 65451b2b903a5b786d053e197c285f976f0777f2.

Change-Id: I509c61d921d259e6795df124685e33c69dc370ec

src/common/step/step_parse_manifest.cc
src/common/step/step_parse_manifest.h

index 2cb8e09..ae4afc2 100644 (file)
@@ -202,17 +202,16 @@ bool StepParseManifest::FillPackageInfo(manifest_x* manifest) {
                                               strdup(profile.c_str()));
     }
   }
-  return true;
-}
 
-bool StepParseManifest::FillPackageMainApp(manifest_x* manifest) {
-  // if no widget-application declared to be main app then take first one
-  if (!manifest->mainapp_id) {
-    application_x* first_app =
-        *GListRange<application_x*>(manifest->application).begin();
-    manifest->mainapp_id = strdup(first_app->appid);
-    free(const_cast<char*>(first_app->mainapp));
-    first_app->mainapp = strdup("true");
+  if (ui_application_list) {
+    manifest->mainapp_id =
+        strdup(ui_application_list->items[0].app_info.appid().c_str());
+  } else if (service_application_list) {
+    manifest->mainapp_id =
+        strdup(service_application_list->items[0].app_info.appid().c_str());
+  } else if (widget_application_list) {
+    manifest->mainapp_id =
+        strdup(widget_application_list->items[0].app_info.appid().c_str());
   }
   return true;
 }
@@ -277,11 +276,7 @@ bool StepParseManifest::FillWidgetApplication(manifest_x* manifest) {
 
   for (const auto& application : widget_application_list->items) {
     // if there is no app yet, set this app as mainapp
-    bool main_app = application.app_info.main() == "true";
-    if (main_app && manifest->mainapp_id) {
-      LOG(ERROR) << "Main application already set";
-      return false;
-    }
+    bool main_app = manifest->application == nullptr;
 
     application_x* widget_app =
         static_cast<application_x*>(calloc(1, sizeof(application_x)));
@@ -298,12 +293,7 @@ bool StepParseManifest::FillWidgetApplication(manifest_x* manifest) {
         strdup(application.app_info.hwacceleration().c_str());
     widget_app->onboot = strdup("false");
     widget_app->autorestart = strdup("false");
-    if (main_app) {
-      widget_app->mainapp = strdup("true");
-      manifest->mainapp_id = strdup(widget_app->appid);
-    } else {
-      widget_app->mainapp = strdup("false");
-    }
+    widget_app->mainapp = main_app ? strdup("true") : strdup("false");
     widget_app->enabled = strdup("true");
     widget_app->screenreader = strdup("use-system-setting");
     widget_app->recentimage = strdup("false");
@@ -346,6 +336,9 @@ bool StepParseManifest::FillServiceApplication(manifest_x* manifest) {
     return true;
 
   for (const auto& application : service_application_list->items) {
+    // if there is no app yet, set this app as mainapp
+    bool main_app = manifest->application == nullptr;
+
     application_x* service_app =
         static_cast<application_x*>(calloc(1, sizeof(application_x)));
     service_app->appid = strdup(application.app_info.appid().c_str());
@@ -358,7 +351,7 @@ bool StepParseManifest::FillServiceApplication(manifest_x* manifest) {
     service_app->process_pool =
         strdup(application.app_info.process_pool().c_str());
     service_app->component_type = strdup("svcapp");
-    service_app->mainapp = strdup("false");
+    service_app->mainapp = main_app ? strdup("true") : strdup("false");
     service_app->enabled = strdup("true");
     service_app->nodisplay = strdup("true");
     service_app->hwacceleration = strdup("default");
@@ -409,6 +402,9 @@ bool StepParseManifest::FillUIApplication(manifest_x* manifest) {
     return true;
 
   for (const auto& application : ui_application_list->items) {
+    // if there is no app yet, set this app as mainapp
+    bool main_app = manifest->application == nullptr;
+
     application_x* ui_app =
         static_cast<application_x*>(calloc(1, sizeof(application_x)));
     ui_app->appid = strdup(application.app_info.appid().c_str());
@@ -439,7 +435,7 @@ bool StepParseManifest::FillUIApplication(manifest_x* manifest) {
     ui_app->onboot = strdup("false");
     ui_app->autorestart = strdup("false");
     ui_app->component_type = strdup("uiapp");
-    ui_app->mainapp = strdup("false");
+    ui_app->mainapp = main_app ? strdup("true") : strdup("false");
     ui_app->enabled = strdup("true");
     ui_app->screenreader = strdup("use-system-setting");
     ui_app->recentimage = strdup("false");
@@ -756,8 +752,6 @@ bool StepParseManifest::FillManifestX(manifest_x* manifest) {
     return false;
   if (!FillWatchApplication(manifest))
     return false;
-  if (!FillPackageMainApp(manifest))
-    return false;
   if (!FillPrivileges(manifest))
     return false;
   if (!FillAuthorInfo(manifest))
index fa7f8c3..0fc6224 100644 (file)
@@ -70,7 +70,6 @@ class StepParseManifest : public common_installer::Step {
   bool FillServiceApplication(manifest_x* manifest);
   bool FillUIApplication(manifest_x* manifest);
   bool FillWatchApplication(manifest_x* manifest);
-  bool FillPackageMainApp(manifest_x* manifest);
 
   template <typename T>
       bool FillAppControl(application_x* manifest, const T& app_control_list);