From f9659a457db8265bb77440c47d8848cc9398235a Mon Sep 17 00:00:00 2001 From: "jk.pu" Date: Tue, 13 Dec 2016 21:02:50 +0900 Subject: [PATCH] [filesystem] fix global app wgt path issue. issue: global app installed /opt/usr/globalapps/[app_install_path] , this path is only readonly and app can't access this path. app data should be inserted at /opt/usr/home/owner/apps_rw/[apps_install_path] verifcation : filesystem tct has 1 fail FileSystemManager_resolve_wgt_private_tmp,this is wrt installer issue Change-Id: I5ca883d9d4a132d3ba9f9251950f29f7ee4b7848 Signed-off-by: jk.pu --- src/common/current_application.cc | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/src/common/current_application.cc b/src/common/current_application.cc index 4f76330..2720182 100755 --- a/src/common/current_application.cc +++ b/src/common/current_application.cc @@ -18,6 +18,7 @@ #include #include +#include #include #include "common/logger.h" @@ -108,31 +109,17 @@ std::string CurrentApplication::FetchPackageId() const { std::string CurrentApplication::FetchRoot() const { LoggerD("Enter"); - if(package_id_.empty()) { - LoggerE("Can't get package id, no root path can be obtained"); + char* path = nullptr; + path = app_get_data_path(); + if (nullptr == path) { + LoggerE("Can't get path from app_get_data_path"); return std::string(); } - package_info_h pkg_info; - int err = package_info_create(package_id_.c_str(), &pkg_info); - if (PACKAGE_MANAGER_ERROR_NONE != err) { - LoggerE("Can't create package info handle from pkg (%s)", get_error_message(err)); - return std::string(); - } - SCOPE_EXIT { - package_info_destroy(pkg_info); - }; - - char* root = nullptr; - err = package_info_get_root_path(pkg_info, &root); - if (PACKAGE_MANAGER_ERROR_NONE != err || nullptr == root) { - LoggerE("Can't get root_ path from package info (%s)", get_error_message(err)); - return std::string(); - } - - std::string ret(root); - free(root); - + std::string ret(path); + free(path); + int index = ret.rfind("data"); + ret = ret .substr(0, index-1); LoggerD("Exit"); return ret; } -- 2.7.4