#include <bluetooth.h>
#include <nfc.h>
+#include <pkgmgr-info.h>
+
#include <setting-common-plugin.h>
#define PLUGIN_PREFIX "/opt"
__load_applications_menu_list(ad, Cfg_Item_Pos_Level_All);
}
-
bool is_3rdapp_installed_setting_cfg(char* pkgname)
{
SETTING_TRACE_BEGIN;
return result_opt;
}
+static int __pkg_list_cb (const pkgmgrinfo_pkginfo_h handle, void *data)
+{
+ SETTING_TRACE_BEGIN;
+
+ DrawAppInfo* pinfo = (DrawAppInfo*)data;
+
+ int ret = -1;
+ char *pkgid;
+ ret = pkgmgr_pkginfo_get_pkgid(handle, &pkgid);
+ if(ret < 0) {
+ SETTING_TRACE(">>>>> pkgmgr_pkginfo_get_pkgid() failed\n");
+ }
+
+ char *label;
+ ret = pkgmgr_pkginfo_get_label(handle, &label);
+ if(ret < 0) {
+ SETTING_TRACE(">>>>> pkgmgr_pkginfo_get_pkg_name() failed\n");
+ }
+ SETTING_TRACE(" 3rd party - pkg id : ----> %s, pkg name ----> %s ", pkgid, label);
+
+ // appid - 1234567890.AppSetting2
+ // pkgid - 1234567890
+ char *name = pkgid;
+
+ if (is_3rdapp_installed_setting_cfg(pkgid) == true )
+ {
+ pinfo->ncount++;
+ // draw code here
+ if (pinfo->draw_app != NULL)
+ {
+ SETTING_TRACE(">>> pkg name --> %s ", pkgid);
+ pinfo->draw_app(pinfo->data, strdup(label)/* appname*/, strdup(pkgid)/* pkg_name*/);
+ }
+ }
+
+ SETTING_TRACE_END;
+ return 0;
+
+}
+
+static void get_3rdapp_installed_setting_list()
+{
+ SETTING_TRACE_BEGIN;
+ int val = 1;
+
+ pkgmgrinfo_pkginfo_filter_h handle;
+ pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_filter_add_bool(handle, PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING, val);
+
+ pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkg_list_cb, NULL);
+}
+
+
+
/**
* @param data
* ex) name : AppSetting4
}
/**
- *
- * ail code here
- */
-static ail_cb_ret_e __download_apps_cb(ail_appinfo_h ai, void* data)
-{
- DrawAppInfo* pinfo = (DrawAppInfo*)data;
- char *id;
-
- if (AIL_ERROR_OK == ail_appinfo_get_str(ai, AIL_PROP_PACKAGE_STR, &id))
- {
- SETTING_TRACE(" 3rd party - app name : ----> %s ", id);
- }
-
- ail_appinfo_h handle;
-
- char *name = NULL;
- char *icon = NULL;
- int installed_time;
- bool nodisplay = false;
- bool removable = true;
-
- if (AIL_ERROR_OK == ail_package_get_appinfo(id, &handle))
- {
- if (AIL_ERROR_OK != ail_appinfo_get_str(handle, AIL_PROP_NAME_STR, &name))
- SETTING_TRACE("cannot get name");
-
- if (AIL_ERROR_OK != ail_appinfo_get_str(handle, AIL_PROP_ICON_STR, &icon))
- SETTING_TRACE("cannot get icon");
-
- if (AIL_ERROR_OK != ail_appinfo_get_bool(handle, AIL_PROP_NODISPLAY_BOOL, &nodisplay))
- SETTING_TRACE("cannot get nodisplay");
-
- if (AIL_ERROR_OK != ail_appinfo_get_bool(handle, AIL_PROP_X_SLP_REMOVABLE_BOOL, &removable))
- SETTING_TRACE("cannot get removable");
-
- if (AIL_ERROR_OK != ail_appinfo_get_int(handle, AIL_PROP_X_SLP_INSTALLEDTIME_INT, &installed_time))
- SETTING_TRACE("cannot get installed_time");
-
- //SETTING_TRACE("installed_time = %d ", installed_time);
- if (installed_time != 0 && is_3rdapp_installed_setting_cfg(id) == true )
- {
- SETTING_TRACE(" 3rd party - app name : ----> id : %s --- name : %s ", id, name);
- SETTING_TRACE(" 3rd party - icon : ----> %s ", icon);
- SETTING_TRACE(" 3rd party - nodisplay : ----> %d ", nodisplay);
- pinfo->ncount++;
-
- // draw code here
- if (pinfo->draw_app != NULL)
- {
- SETTING_TRACE(">>> pkg name --> %s ", id);
- pinfo->draw_app(pinfo->data, strdup(name)/* appname*/, strdup(id)/* pkg_name*/);
- }
- }
- }
- SETTING_TRACE_END;
- return AIL_CB_RET_CONTINUE;
-}
-
-
-/**
* get 3rd party applist from AIL & searching dir/file by the defined rule
* @param data ad
* if data is NULL --> just get how many items are there
setting_main_appdata *ad = data;
- int ncount = 0;
- ail_filter_h f;
+ int val = 1;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_filter_add_bool(handle, PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING, val);
+
+ int ncount = 0;
DrawAppInfo* pinfo = (DrawAppInfo*)malloc(sizeof(DrawAppInfo));
if (pinfo) {
pinfo->ncount = 0;
pinfo->draw_app = draw_3rdapp;
pinfo->data = ad;
+ pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, __pkg_list_cb, pinfo);
- if (ail_filter_new(&f) == AIL_ERROR_OK)
- {
- if (ail_filter_add_bool(f, AIL_PROP_NODISPLAY_BOOL, false) != AIL_ERROR_OK)
- {
- SETTING_TRACE("ail filter error");
-
- free(pinfo);
- pinfo = NULL;
-
- ail_filter_destroy(f);
- return 0;
- }
-
- ail_filter_list_appinfo_foreach(f, __download_apps_cb, pinfo);
- //---------------------------------------------------------------
- ail_filter_destroy(f);
- }
ncount = pinfo->ncount;
free(pinfo);
pinfo = NULL;
}
+ if (handle) {
+ if (PMINFO_R_OK == pkgmgrinfo_pkginfo_filter_destroy(handle)) {
+ SETTING_TRACE("remove pkginfo successfully");
+ } else {
+ SETTING_TRACE("failed removing pkginfo");
+ }
+ handle = NULL;
+ }
+
SETTING_TRACE_END;
return ncount;
}