From 8a0c1f5d39d26356588bc979424c28dd801492bf Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Mon, 28 Nov 2016 18:58:53 +0900 Subject: [PATCH] Add filter property to retrieve external-installed app - Functions could use new filters to retrieve app's info which is installed externally but external storage has removed Change-Id: I23a6e8cfc9fd5b4265f1bb28e21d08ea56590a32 Signed-off-by: Junghyun Yeon --- include/pkgmgr-info.h | 46 +++++++++++- src/pkgmgrinfo_appinfo.c | 192 ++++++++++++++++++++++++++--------------------- src/pkgmgrinfo_pkginfo.c | 36 ++++++++- src/pkgmgrinfo_private.c | 10 ++- src/pkgmgrinfo_private.h | 6 +- 5 files changed, 194 insertions(+), 96 deletions(-) diff --git a/include/pkgmgr-info.h b/include/pkgmgr-info.h index bab6ffd..bbd7d8a 100644 --- a/include/pkgmgr-info.h +++ b/include/pkgmgr-info.h @@ -109,6 +109,8 @@ extern "C" { #define PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE "PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE" /** Boolean property for filtering based on package info*/ #define PMINFO_PKGINFO_PROP_PACKAGE_DISABLE "PMINFO_PKGINFO_PROP_PACKAGE_DISABLE" + /** Boolean property for filtering based on package info*/ +#define PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE "PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE" /** Integer property for filtering based on package info*/ #define PMINFO_PKGINFO_PROP_PACKAGE_SIZE "PMINFO_PKGINFO_PROP_PACKAGE_SIZE" @@ -167,6 +169,8 @@ extern "C" { #define PMINFO_APPINFO_PROP_APP_DISABLE "PMINFO_APPINFO_PROP_APP_DISABLE" /** Boolean property for filtering based on app info*/ #define PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE "PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE" + /** Boolean property for filtering based on app info*/ +#define PMINFO_APPINFO_PROP_APP_CHECK_STORAGE "PMINFO_APPINFO_PROP_APP_CHECK_STORAGE" /** will be updated*/ /** string property for filtering based on pkg info*/ @@ -309,7 +313,7 @@ int pkgmgrinfo_pkginfo_get_usr_disabled_pkginfo(const char *pkgid, uid_t uid, pk /** * @fn int pkgmgrinfo_pkginfo_get_all_pkginfo(const char *pkgid, pkgmgrinfo_pkginfo_h *handle) - * @brief This API creates the package information handle from db regardless of its disable status + * @brief This API creates the package information handle from db regardless of its disable or storage status * * @par This API is for package-manager client application * @par Sync (or) Async : Synchronous API @@ -2355,6 +2359,46 @@ int pkgmgrinfo_appinfo_get_appinfo(const char *appid, pkgmgrinfo_appinfo_h *hand int pkgmgrinfo_appinfo_get_usr_appinfo(const char *appid, uid_t uid, pkgmgrinfo_appinfo_h *handle); /** + * @fn int pkgmgrinfo_appinfo_get_all_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle) + * @brief This API creates the application information handle from db regardless of its disable or storage status + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] appid pointer to appid + * @param[out] handle pointer to the application info handle. + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @pre None + * @post pkgmgrinfo_appinfo_destroy_appinfo() + * @see pkgmgrinfo_appinfo_get_pkgid() + * @see pkgmgrinfo_appinfo_is_multiple() + * @code +static int get_app_type(const char *appid) +{ + int ret = 0; + char *type = NULL; + pkgmgrinfo_appinfo_h handle; + ret = pkgmgrinfo_appinfo_get_all_appinfo(appid, &handle); + if (ret != PMINFO_R_OK) + return -1; + ret = pkgmgrinfo_appinfo_get_apptype(handle, &type); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_appinfo_destroy_appinfo(handle); + return -1; + } + printf("apptype: %s\n", type); + pkgmgrinfo_appinfo_destroy_appinfo(handle); + return 0; +} + * @endcode + */ +int pkgmgrinfo_appinfo_get_all_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle); +int pkgmgrinfo_appinfo_get_usr_all_appinfo(const char *appid, uid_t uid, pkgmgrinfo_appinfo_h *handle); + +/** * @fn int pkgmgrinfo_appinfo_get_appid(pkgmgrinfo_appinfo_h handle, char **appid) * @brief This API gets the application ID * diff --git a/src/pkgmgrinfo_appinfo.c b/src/pkgmgrinfo_appinfo.c index bcf9c0c..ab9a330 100644 --- a/src/pkgmgrinfo_appinfo.c +++ b/src/pkgmgrinfo_appinfo.c @@ -453,6 +453,27 @@ static int __bind_params(sqlite3_stmt *stmt, GList *params) return PMINFO_R_OK; } +static bool __check_app_storage_status(pkgmgrinfo_filter_x *tmp_filter) +{ + GSList *tmp_list = NULL; + pkgmgrinfo_node_x *tmp_node = NULL; + int property = -1; + + property = _pminfo_appinfo_convert_to_prop_bool(PMINFO_APPINFO_PROP_APP_CHECK_STORAGE); + for (tmp_list = tmp_filter->list; tmp_list != NULL; + tmp_list = g_slist_next(tmp_list)) { + tmp_node = (pkgmgrinfo_node_x *)tmp_list->data; + if (property == tmp_node->prop) { + if (strcmp(tmp_node->value, "true") == 0) + return true; + else + return false; + } + } + + return true; +} + static int _appinfo_get_applications(uid_t db_uid, uid_t uid, const char *locale, pkgmgrinfo_filter_x *filter, int flag, GHashTable *applications) @@ -496,6 +517,7 @@ static int _appinfo_get_applications(uid_t db_uid, uid_t uid, GList *bind_params = NULL; sqlite3 *db = NULL; sqlite3_stmt *stmt = NULL; + bool is_check_storage = true; dbpath = getUserPkgParserDBPathUID(db_uid); if (dbpath == NULL) @@ -522,6 +544,8 @@ static int _appinfo_get_applications(uid_t db_uid, uid_t uid, bind_params = g_list_append(bind_params, strdup(locale)); } + is_check_storage = __check_app_storage_status(filter); + ret = _get_filtered_query(filter, locale, &constraint, &bind_params); if (ret != PMINFO_R_OK) { LOGE("Failed to get WHERE clause"); @@ -676,7 +700,8 @@ static int _appinfo_get_applications(uid_t db_uid, uid_t uid, } } - if (__appinfo_check_installed_storage(info) != PMINFO_R_OK) { + if (is_check_storage && + __appinfo_check_installed_storage(info) != PMINFO_R_OK) { ret = PMINFO_R_ERROR; pkgmgrinfo_basic_free_application(info); info = NULL; @@ -703,49 +728,25 @@ catch: return ret; } -API int pkgmgrinfo_appinfo_get_usr_disabled_appinfo(const char *appid, uid_t uid, - pkgmgrinfo_appinfo_h *handle) +static int _pkgmgrinfo_get_appinfo(const char *appid, uid_t uid, + pkgmgrinfo_appinfo_filter_h filter, pkgmgrinfo_appinfo_h *handle) { int ret; char *locale; GHashTable *list; - pkgmgrinfo_appinfo_filter_h filter; pkgmgr_appinfo_x *info; - if (appid == NULL || handle == NULL) { - LOGE("invalid parameter"); - return PMINFO_R_EINVAL; + if (appid == NULL || filter == NULL || handle == NULL) { + LOGE("invalid parameter"); + return PMINFO_R_EINVAL; } locale = _get_system_locale(); if (locale == NULL) return PMINFO_R_ERROR; - ret = pkgmgrinfo_appinfo_filter_create(&filter); - if (ret != PMINFO_R_OK) { - free(locale); - return ret; - } - - ret = pkgmgrinfo_appinfo_filter_add_string(filter, - PMINFO_APPINFO_PROP_APP_ID, appid); - if (ret != PMINFO_R_OK) { - pkgmgrinfo_appinfo_filter_destroy(filter); - free(locale); - return PMINFO_R_ERROR; - } - - ret = pkgmgrinfo_appinfo_filter_add_bool(filter, - PMINFO_APPINFO_PROP_APP_DISABLE, true); - if (ret != PMINFO_R_OK) { - pkgmgrinfo_appinfo_filter_destroy(filter); - free(locale); - return PMINFO_R_ERROR; - } - list = g_hash_table_new(g_str_hash, g_str_equal); if (list == NULL) { - pkgmgrinfo_appinfo_filter_destroy(filter); free(locale); return PMINFO_R_ERROR; } @@ -753,18 +754,11 @@ API int pkgmgrinfo_appinfo_get_usr_disabled_appinfo(const char *appid, uid_t uid ret = _appinfo_get_applications(uid, uid, locale, filter, PMINFO_APPINFO_GET_ALL, list); if (!g_hash_table_size(list) && uid != GLOBAL_USER) - ret = _appinfo_get_applications(GLOBAL_USER, uid, locale, - filter, PMINFO_APPINFO_GET_ALL, list); - - pkgmgrinfo_appinfo_filter_destroy(filter); - if (ret != PMINFO_R_OK) { - g_hash_table_destroy(list); - free(locale); - return ret; - } + ret = _appinfo_get_applications(GLOBAL_USER, GLOBAL_USER, locale, filter, + PMINFO_APPINFO_GET_ALL, list); if (!g_hash_table_size(list)) { - _LOGI("Appinfo for [%s] is not existed for user [%d]", + _LOGI("appinfo for [%s] is not existed for user [%d]", appid, uid); g_hash_table_destroy(list); free(locale); @@ -774,6 +768,7 @@ API int pkgmgrinfo_appinfo_get_usr_disabled_appinfo(const char *appid, uid_t uid info = calloc(1, sizeof(pkgmgr_appinfo_x)); if (info == NULL) { _LOGE("out of memory"); + g_hash_table_destroy(list); free(locale); return PMINFO_R_ERROR; } @@ -790,6 +785,41 @@ API int pkgmgrinfo_appinfo_get_usr_disabled_appinfo(const char *appid, uid_t uid return ret; } +API int pkgmgrinfo_appinfo_get_usr_disabled_appinfo(const char *appid, uid_t uid, + pkgmgrinfo_appinfo_h *handle) +{ + int ret; + pkgmgrinfo_appinfo_filter_h filter; + + if (appid == NULL || handle == NULL) { + LOGE("invalid parameter"); + return PMINFO_R_EINVAL; + } + + ret = pkgmgrinfo_appinfo_filter_create(&filter); + if (ret != PMINFO_R_OK) + return ret; + + ret = pkgmgrinfo_appinfo_filter_add_string(filter, + PMINFO_APPINFO_PROP_APP_ID, appid); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_appinfo_filter_destroy(filter); + return PMINFO_R_ERROR; + } + + ret = pkgmgrinfo_appinfo_filter_add_bool(filter, + PMINFO_APPINFO_PROP_APP_DISABLE, true); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_appinfo_filter_destroy(filter); + return PMINFO_R_ERROR; + } + + ret = _pkgmgrinfo_get_appinfo(appid, uid, filter, handle); + pkgmgrinfo_appinfo_filter_destroy(filter); + + return ret; +} + API int pkgmgrinfo_appinfo_get_disabled_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle) { return pkgmgrinfo_appinfo_get_usr_disabled_appinfo(appid, _getuid(), handle); @@ -799,31 +829,21 @@ API int pkgmgrinfo_appinfo_get_usr_appinfo(const char *appid, uid_t uid, pkgmgrinfo_appinfo_h *handle) { int ret; - char *locale; - GHashTable *list; pkgmgrinfo_appinfo_filter_h filter; - pkgmgr_appinfo_x *info; if (appid == NULL || handle == NULL) { LOGE("invalid parameter"); return PMINFO_R_EINVAL; } - locale = _get_system_locale(); - if (locale == NULL) - return PMINFO_R_ERROR; - ret = pkgmgrinfo_appinfo_filter_create(&filter); - if (ret != PMINFO_R_OK) { - free(locale); + if (ret != PMINFO_R_OK) return ret; - } ret = pkgmgrinfo_appinfo_filter_add_string(filter, PMINFO_APPINFO_PROP_APP_ID, appid); if (ret != PMINFO_R_OK) { pkgmgrinfo_appinfo_filter_destroy(filter); - free(locale); return PMINFO_R_ERROR; } @@ -831,59 +851,57 @@ API int pkgmgrinfo_appinfo_get_usr_appinfo(const char *appid, uid_t uid, PMINFO_APPINFO_PROP_APP_DISABLE, false); if (ret != PMINFO_R_OK) { pkgmgrinfo_appinfo_filter_destroy(filter); - free(locale); return PMINFO_R_ERROR; } - list = g_hash_table_new(g_str_hash, g_str_equal); - if (list == NULL) { - pkgmgrinfo_appinfo_filter_destroy(filter); - free(locale); - return PMINFO_R_ERROR; - } + ret = _pkgmgrinfo_get_appinfo(appid, uid, filter, handle); + pkgmgrinfo_appinfo_filter_destroy(filter); + return ret; +} - ret = _appinfo_get_applications(uid, uid, locale, filter, - PMINFO_APPINFO_GET_ALL, list); - if (!g_hash_table_size(list) && uid != GLOBAL_USER) - ret = _appinfo_get_applications(GLOBAL_USER, uid, locale, - filter, PMINFO_APPINFO_GET_ALL, list); +API int pkgmgrinfo_appinfo_get_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle) +{ + return pkgmgrinfo_appinfo_get_usr_appinfo(appid, _getuid(), handle); +} - pkgmgrinfo_appinfo_filter_destroy(filter); - if (ret != PMINFO_R_OK) { - g_hash_table_destroy(list); - free(locale); - return ret; - } +API int pkgmgrinfo_appinfo_get_usr_all_appinfo(const char *appid, uid_t uid, + pkgmgrinfo_appinfo_h *handle) +{ + int ret; + pkgmgrinfo_appinfo_filter_h filter; - if (!g_hash_table_size(list)) { - _LOGI("Appinfo for [%s] is not existed for user [%d]", appid, uid); - g_hash_table_destroy(list); - free(locale); - return PMINFO_R_ENOENT; + if (appid == NULL || handle == NULL) { + LOGE("invalid parameter"); + return PMINFO_R_EINVAL; } - info = calloc(1, sizeof(pkgmgr_appinfo_x)); - if (info == NULL) { - _LOGE("out of memory"); - free(locale); + ret = pkgmgrinfo_appinfo_filter_create(&filter); + if (ret != PMINFO_R_OK) + return ret; + + ret = pkgmgrinfo_appinfo_filter_add_string(filter, + PMINFO_APPINFO_PROP_APP_ID, appid); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_appinfo_filter_destroy(filter); return PMINFO_R_ERROR; } - info->app_info = (application_x *)g_hash_table_lookup(list, appid); - info->locale = locale; - info->package = strdup(info->app_info->package); - - /* just free list only */ - g_hash_table_destroy(list); + ret = pkgmgrinfo_appinfo_filter_add_bool(filter, + PMINFO_APPINFO_PROP_APP_CHECK_STORAGE, false); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_appinfo_filter_destroy(filter); + return PMINFO_R_ERROR; + } - *handle = info; + ret = _pkgmgrinfo_get_appinfo(appid, uid, filter, handle); + pkgmgrinfo_appinfo_filter_destroy(filter); return ret; } -API int pkgmgrinfo_appinfo_get_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle) +API int pkgmgrinfo_appinfo_get_all_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle) { - return pkgmgrinfo_appinfo_get_usr_appinfo(appid, _getuid(), handle); + return pkgmgrinfo_appinfo_get_usr_all_appinfo(appid, _getuid(), handle); } static gpointer __copy_str(gconstpointer src, gpointer data) diff --git a/src/pkgmgrinfo_pkginfo.c b/src/pkgmgrinfo_pkginfo.c index 3a2c3a6..fec1406 100644 --- a/src/pkgmgrinfo_pkginfo.c +++ b/src/pkgmgrinfo_pkginfo.c @@ -306,6 +306,26 @@ static int __bind_params(sqlite3_stmt *stmt, GList *params) return PMINFO_R_OK; } +static bool __check_package_storage_status(pkgmgrinfo_filter_x *tmp_filter) +{ + GSList *tmp_list = NULL; + pkgmgrinfo_node_x *tmp_node = NULL; + int property = -1; + + property = _pminfo_pkginfo_convert_to_prop_bool(PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE); + for (tmp_list = tmp_filter->list; tmp_list != NULL; + tmp_list = g_slist_next(tmp_list)) { + tmp_node = (pkgmgrinfo_node_x *)tmp_list->data; + if (property == tmp_node->prop) { + if (strcmp(tmp_node->value, "true") == 0) + return true; + else + return false; + } + } + return true; +} + static int _pkginfo_get_packages(uid_t uid, const char *locale, pkgmgrinfo_filter_x *filter, int flag, GHashTable *packages) { @@ -348,6 +368,7 @@ static int _pkginfo_get_packages(uid_t uid, const char *locale, sqlite3 *db; sqlite3_stmt *stmt; pkgmgrinfo_filter_x *tmp_filter = NULL; + bool is_check_storage = true; dbpath = getUserPkgParserDBPathUID(uid); if (dbpath == NULL) @@ -371,6 +392,8 @@ static int _pkginfo_get_packages(uid_t uid, const char *locale, } } + is_check_storage = __check_package_storage_status(tmp_filter); + query_len = strlen(query_raw); snprintf(query, MAX_QUERY_LEN - 1, "%s", query_raw); if (flag & PMINFO_PKGINFO_GET_AUTHOR) { @@ -521,7 +544,8 @@ static int _pkginfo_get_packages(uid_t uid, const char *locale, } } - if (__pkginfo_check_installed_storage(info) != PMINFO_R_OK) { + if (is_check_storage && + __pkginfo_check_installed_storage(info) != PMINFO_R_OK) { ret = PMINFO_R_ERROR; pkgmgrinfo_basic_free_package(info); info = NULL; @@ -640,7 +664,6 @@ static int _pkgmgrinfo_get_pkginfo(const char *pkgid, uid_t uid, list = g_hash_table_new(g_str_hash, g_str_equal); if (list == NULL) { - pkgmgrinfo_pkginfo_filter_destroy(filter); free(locale); return PMINFO_R_ERROR; } @@ -677,8 +700,6 @@ static int _pkgmgrinfo_get_pkginfo(const char *pkgid, uid_t uid, *handle = info; return ret; - - } API int pkgmgrinfo_pkginfo_get_usr_pkginfo(const char *pkgid, uid_t uid, @@ -833,6 +854,13 @@ API int pkgmgrinfo_pkginfo_get_usr_all_pkginfo(const char *pkgid, uid_t uid, return PMINFO_R_ERROR; } + ret = pkgmgrinfo_pkginfo_filter_add_bool(filter, + PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE, false); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_pkginfo_filter_destroy(filter); + return PMINFO_R_ERROR; + } + ret = _pkgmgrinfo_get_pkginfo(pkgid, uid, filter, handle); pkgmgrinfo_pkginfo_filter_destroy(filter); diff --git a/src/pkgmgrinfo_private.c b/src/pkgmgrinfo_private.c index 4a37976..f8c47ec 100644 --- a/src/pkgmgrinfo_private.c +++ b/src/pkgmgrinfo_private.c @@ -73,7 +73,8 @@ static struct _pkginfo_bool_map_t pkginfo_bool_prop_map[] = { {E_PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING, PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING}, {E_PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING, PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING}, {E_PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE, PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE}, - {E_PMINFO_PKGINFO_PROP_PACKAGE_DISABLE, PMINFO_PKGINFO_PROP_PACKAGE_DISABLE} + {E_PMINFO_PKGINFO_PROP_PACKAGE_DISABLE, PMINFO_PKGINFO_PROP_PACKAGE_DISABLE}, + {E_PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE, PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE} }; struct _appinfo_str_map_t { @@ -123,7 +124,8 @@ static struct _appinfo_bool_map_t appinfo_bool_prop_map[] = { {E_PMINFO_APPINFO_PROP_APP_LAUNCHCONDITION, PMINFO_APPINFO_PROP_APP_LAUNCHCONDITION}, {E_PMINFO_APPINFO_PROP_APP_UI_GADGET, PMINFO_APPINFO_PROP_APP_UI_GADGET}, {E_PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE, PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE}, - {E_PMINFO_APPINFO_PROP_APP_DISABLE, PMINFO_APPINFO_PROP_APP_DISABLE} + {E_PMINFO_APPINFO_PROP_APP_DISABLE, PMINFO_APPINFO_PROP_APP_DISABLE}, + {E_PMINFO_APPINFO_PROP_APP_CHECK_STORAGE, PMINFO_APPINFO_PROP_APP_CHECK_STORAGE} }; inline pkgmgrinfo_pkginfo_filter_prop_str _pminfo_pkginfo_convert_to_prop_str(const char *property) @@ -398,6 +400,10 @@ int __get_filter_condition(gpointer data, char **condition, GList **params) case E_PMINFO_APPINFO_PROP_APP_SUPPORT_MODE: snprintf(buf, sizeof(buf), "ai.app_support_mode=?"); break; + case E_PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE: + case E_PMINFO_APPINFO_PROP_APP_CHECK_STORAGE: + *condition = NULL; + return 0; default: _LOGE("Invalid Property Type\n"); *condition = NULL; diff --git a/src/pkgmgrinfo_private.h b/src/pkgmgrinfo_private.h index 9892dee..9200838 100644 --- a/src/pkgmgrinfo_private.h +++ b/src/pkgmgrinfo_private.h @@ -102,7 +102,8 @@ typedef enum _pkgmgrinfo_pkginfo_filter_prop_bool { E_PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING, E_PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE, E_PMINFO_PKGINFO_PROP_PACKAGE_DISABLE, - E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_BOOL = E_PMINFO_PKGINFO_PROP_PACKAGE_DISABLE + E_PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE, + E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_BOOL = E_PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE } pkgmgrinfo_pkginfo_filter_prop_bool; /*Integer properties for filtering based on package info*/ @@ -145,7 +146,8 @@ typedef enum _pkgmgrinfo_appinfo_filter_prop_bool { E_PMINFO_APPINFO_PROP_APP_UI_GADGET, E_PMINFO_APPINFO_PROP_APP_DISABLE, E_PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE, - E_PMINFO_APPINFO_PROP_APP_MAX_BOOL = E_PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE + E_PMINFO_APPINFO_PROP_APP_CHECK_STORAGE, + E_PMINFO_APPINFO_PROP_APP_MAX_BOOL = E_PMINFO_APPINFO_PROP_APP_CHECK_STORAGE } pkgmgrinfo_appinfo_filter_prop_bool; /*Integer properties for filtering based on app info*/ -- 2.7.4