return true;
}
-#if 0
- // @20130125-wscho: current pkgmanager has a problem while db operation.
- // So, if enable below code, foreach callback of "pkgmgrinfo_appinfo_get_installed_list"
- // is not running.
- // So, temporally, we get version, total size, installed time on first access for that attribute.
- // See JSApplicationInformation.cpp
- static void set_additional_app_info(ApplicationInformationPtr &appInfo, const char* packageId)
- {
- int ret = 0;
- char *version = NULL;
- int total_size = 0;
- int installed_time = 0;
- pkgmgrinfo_pkginfo_h pkginfo_h;
-
- ret = pkgmgrinfo_pkginfo_get_pkginfo(packageId, &pkginfo_h);
- if (ret != PMINFO_R_OK) {
- LoggerD("Fail to get package info. skip getting info");
- return;
- }
-
- ret = pkgmgrinfo_pkginfo_get_version(pkginfo_h, &version);
- if ((ret != PMINFO_R_OK) || (version == NULL)) {
- LoggerD("Fail to get version");
- } else {
- appInfo->setVersion(version);
- }
-
- ret = pkgmgrinfo_pkginfo_get_total_size(pkginfo_h, &total_size);
- if (ret != PMINFO_R_OK) {
- LoggerD("Fail to get total size");
- } else {
- appInfo->setInstallSize(total_size);
- }
-
- ret = pkgmgrinfo_pkginfo_get_installed_time(pkginfo_h, &installed_time);
- if (ret != PMINFO_R_OK) {
- LoggerD("Fail to get installed time");
- } else {
- appInfo->setInstallDate(installed_time);
- }
-
- ret = pkgmgrinfo_pkginfo_destroy_pkginfo(pkginfo_h);
- if (ret != PMINFO_R_OK) {
- LoggerD("Fail to get destroy pkginfo");
- }
- }
-#endif
-
static ApplicationInformationPtr create_app_info(pkgmgrinfo_appinfo_h handle)
{
char* appId = NULL;
appInfo->setPackageId(pkgId);
}
+ char *version = NULL;
+ int installed_time = 0;
+ pkgmgrinfo_pkginfo_h pkginfo_h;
-// @20130125-wscho: current pkgmanager has a problem while db operation.
-// So, if enable below code, foreach callback of "pkgmgrinfo_appinfo_get_installed_list"
-// is not running.
-// So, temporally, we get version, total size, installed time on first access for that attribute.
-// See JSApplicationInformation.cpp
-#if 0
- ret = pkgmgrinfo_appinfo_get_pkgname(handle, &packageId);
- if (ret != PMINFO_R_OK)
- {
- LoggerD("Fail to get package id");
- return appInfo;
- }
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgId, &pkginfo_h);
+ if (ret != PMINFO_R_OK) {
+ LoggerE("Fail to get package info");
+ } else {
+ ret = pkgmgrinfo_pkginfo_get_version(pkginfo_h, &version);
+ if (ret != PMINFO_R_OK) {
+ LoggerE("Fail to get version");
+ } else {
+ appInfo->setVersion(version);
+ }
- set_additional_app_info(appInfo, packageId);
-#endif
+ ret = pkgmgrinfo_pkginfo_get_installed_time(pkginfo_h, &installed_time);
+ if (ret != PMINFO_R_OK) {
+ LoggerE("Fail to get installed date");
+ } else {
+ appInfo->setInstallDate(installed_time);
+ }
+ pkgmgrinfo_pkginfo_destroy_pkginfo(pkginfo_h);
+ }
+
+ // remark : attribute "total size" is set at first attribute access time for performance.
return appInfo;
-
}
}
gLaunchAppControlPendingEventMap.eraseKey(this);
+
+ // unset context event callback which is registered by kill().
+ app_manager_unset_app_context_event_cb();
}
void ApplicationManager::launch(const EventApplicationLaunchPtr& event)
TIME_TRACER_ITEM_BEGIN("(getAppCerts)package_info_foreach_cert_info", 0);
result = package_info_foreach_cert_info(pkg_info, package_cert_cb, (void*)certArray.Get());
TIME_TRACER_ITEM_END("(getAppCerts)package_info_foreach_cert_info", 0);
- if (result != PACKAGE_MANAGER_ERROR_NONE)
+ if ((result != PACKAGE_MANAGER_ERROR_NONE) && (result != PACKAGE_MANAGER_ERROR_IO_ERROR))
{
ThrowMsg(UnknownException, "Can not get package cert info");
}