[Application] fix tct fail issue at get package size.
authorjk.pu <jk.pu@samsung.com>
Thu, 24 Sep 2015 11:23:12 +0000 (20:23 +0900)
committerjk.pu <jk.pu@samsung.com>
Thu, 24 Sep 2015 11:28:59 +0000 (20:28 +0900)
     back out commit id : I559d1291d03f590d2816d03dae932f0392a00a37

Change-Id: I1ef623997eaf95981d22bed10afd4f57d074ca60
Signed-off-by: jk.pu <jk.pu@samsung.com>
src/application/application_manager.cc

index dc3f180..451725b 100755 (executable)
@@ -1352,26 +1352,24 @@ void ApplicationManager::GetApplicationInformationSize(const picojson::value& ar
 
   const std::string& package_id_str = package_id.get<std::string>();
 
+  // get installed size from package server (to solve smack issue)
+  pkgmgr_client* pc = pkgmgr_client_new(PC_REQUEST);
   int size = -1;
-  pkgmgrinfo_pkginfo_h handle;
-  int ret = pkgmgrinfo_pkginfo_get_usr_pkginfo(package_id_str.c_str(), getuid(), &handle);
-  if (ret != PMINFO_R_OK) {
-    LoggerE("Failed to create package handler");
-    ReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to create package handler"), out);
-    return;
-  }
 
-  SCOPE_EXIT {
-    pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-  };
+  if (nullptr == pc) {
+    LoggerE("Failed to create pkgmgr client");
+  } else {
+    size = pkgmgr_client_request_service(PM_REQUEST_GET_SIZE, PM_GET_TOTAL_SIZE, pc, NULL,
+                                         package_id_str.c_str(), NULL, NULL, NULL);
 
-  ret = pkgmgrinfo_pkginfo_get_package_size(handle, &size);
-  if (ret != PMINFO_R_OK) {
-    LoggerE("Failed to get package size");
-    ReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get package size"), out);
-    return;
+    if (size < 0) {
+      LoggerE("Failed to get installed size");
+    }
+
+    pkgmgr_client_free(pc);
   }
 
+
   picojson::value result = picojson::value(picojson::object());
   picojson::object& result_obj = result.get<picojson::object>();
   result_obj.insert(std::make_pair("size", picojson::value(static_cast<double>(size))));