static void _pkginfo_append_default(SettingAppMgr *ad);
static void _pkginfo_append_privilege(SettingAppMgr *ad);
-static int appmgr_pkg_create(void *data);
-static int appmgr_pkg_destroy(void *data);
-static int appmgr_pkg_update(void *data);
-static int appmgr_pkg_cleanup(void *data);
+static int _view_create(void *data);
+static int _view_destroy(void *data);
+static int _view_update(void *data);
+static int _view_cleanup(void *data);
/* Genlist items classes functions: */
-static char *pkginfo_move_to_sd_item_text_get(void *data, Evas_Object *obj,
+static char *_move_to_sd_item_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_clear_cache_text_get(void *data, Evas_Object *obj,
+static char *_clear_cache_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_clear_default_text_get(void *data, Evas_Object *obj,
+static char *_clear_default_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_total_size_text_get(void *data, Evas_Object *obj,
+static char *_total_size_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_app_size_text_get(void *data, Evas_Object *obj,
+static char *_app_size_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_data_size_text_get(void *data, Evas_Object *obj,
+static char *_data_size_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_cache_size_text_get(void *data, Evas_Object *obj,
+static char *_cache_size_text_get(void *data, Evas_Object *obj,
const char *part);
-static char *pkginfo_privilige_detail_text_get(void *data, Evas_Object *obj,
+static char *_privilige_detail_text_get(void *data, Evas_Object *obj,
const char *part);
-static void pkginfo_privilige_detail_del(void *data, Evas_Object *genlist);
+static void _privilige_detail_del(void *data, Evas_Object *genlist);
/* UI callbacks */
static void _force_close_cb(void *data, Evas_Object *button, void *event_info);
ret_if(NULL == ad);
ret_if(ad->pkginfo_view);
- setting_view_appmgr_pkginfo.create = appmgr_pkg_create;
- setting_view_appmgr_pkginfo.destroy = appmgr_pkg_destroy;
- setting_view_appmgr_pkginfo.update = appmgr_pkg_update;
- setting_view_appmgr_pkginfo.cleanup = appmgr_pkg_cleanup;
+ setting_view_appmgr_pkginfo.create = _view_create;
+ setting_view_appmgr_pkginfo.destroy = _view_destroy;
+ setting_view_appmgr_pkginfo.update = _view_update;
+ setting_view_appmgr_pkginfo.cleanup = _view_cleanup;
ad->pkginfo_view = &setting_view_appmgr_pkginfo;
}
/**
* [UI] Naviframe : "Application info"
*/
-static int appmgr_pkg_create(void *data)
+static int _view_create(void *data)
{
int ret = 0;
SETTING_TRACE_BEGIN;
retv_if(!data, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
itc_move_to_sd.item_style = "type1";
- itc_move_to_sd.func.text_get = pkginfo_move_to_sd_item_text_get;
+ itc_move_to_sd.func.text_get = _move_to_sd_item_text_get;
itc_clear_cache.item_style = "type1";
- itc_clear_cache.func.text_get = pkginfo_clear_cache_text_get;
+ itc_clear_cache.func.text_get = _clear_cache_text_get;
itc_clear_default.item_style = "type1";
- itc_clear_default.func.text_get = pkginfo_clear_default_text_get;
+ itc_clear_default.func.text_get = _clear_default_text_get;
itc_total_size_item.item_style = "type1";
- itc_total_size_item.func.text_get = pkginfo_total_size_text_get;
+ itc_total_size_item.func.text_get = _total_size_text_get;
itc_app_size_item.item_style = "type1";
- itc_app_size_item.func.text_get = pkginfo_app_size_text_get;
+ itc_app_size_item.func.text_get = _app_size_text_get;
itc_data_size_item.item_style = "type1";
- itc_data_size_item.func.text_get = pkginfo_data_size_text_get;
+ itc_data_size_item.func.text_get = _data_size_text_get;
itc_cache_size_item.item_style = "type1";
- itc_cache_size_item.func.text_get = pkginfo_cache_size_text_get;
+ itc_cache_size_item.func.text_get = _cache_size_text_get;
itc_privilege_detail.item_style = "multiline";
- itc_privilege_detail.func.text_get = pkginfo_privilige_detail_text_get;
- itc_privilege_detail.func.del = pkginfo_privilige_detail_del;
+ itc_privilege_detail.func.text_get = _privilige_detail_text_get;
+ itc_privilege_detail.func.del = _privilige_detail_del;
ret = package_info_create(ad->selected_pkg.id,
&ad->selected_pkg.package_info);
return SETTING_RETURN_SUCCESS;
}
-static int appmgr_pkg_destroy(void *data)
+static int _view_destroy(void *data)
{
SETTING_TRACE_BEGIN;
SettingAppMgr *ad = data;
return SETTING_RETURN_SUCCESS;
}
-static int appmgr_pkg_update(void *data)
+static int _view_update(void *data)
{
SETTING_TRACE_BEGIN;
int ret = 0;
Elm_Widget_Item *next_privilege_item = NULL;
Elm_Widget_Item *last_privilege_item = NULL;
SettingAppMgr *ad = data;
- retv_if(!data, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
+ retv_if(!ad, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
+
+ if (ad->selected_pkg.package_info) {
+ package_info_destroy(ad->selected_pkg.package_info);
+ ad->selected_pkg.package_info = NULL;
+ package_manager_get_package_info(ad->selected_pkg.id,
+ &ad->selected_pkg.package_info);
+ }
elm_genlist_realized_items_update(ad->package_info_gl);
/* free package data: */
return SETTING_RETURN_SUCCESS;
}
-static int appmgr_pkg_cleanup(void *data)
+static int _view_cleanup(void *data)
{
- return appmgr_pkg_destroy(data);
+ return _view_destroy(data);
}
static bool _app_in_package_info_cb(package_info_app_component_type_e comp_type,
pkg->pkg_total_size = pkg->pkg_app_size + pkg->pkg_cached_data_size +
pkg->pkg_user_data_size;
- SETTING_TRACE_DEBUG("Recieved pkg %s size info: %lld %lld %lld",
- package_id, pkg->pkg_total_size,
- pkg->pkg_app_size, pkg->pkg_user_data_size);
-
elm_genlist_item_fields_update(ad->total_size_item, "elm.text.sub",
ELM_GENLIST_ITEM_FIELD_TEXT);
elm_genlist_item_fields_update(ad->app_size_item, "elm.text.sub",
static int _get_privilege_detail_cb(const char *privilege, void *user_data)
{
SETTING_TRACE_BEGIN;
-
int ret = 0;
SettingAppMgr *ad = user_data;
privilege_detail_t *privilege_data = NULL;
package_manager_event_state_e event_state, int progress,
package_manager_error_e error, void *user_data)
{
- int ret = 0;
SettingAppMgr *ad = user_data;
- package_info_installed_storage_type_e storage_type;
ret_if(!ad);
- ret = package_info_get_installed_storage(ad->selected_pkg.package_info,
- &storage_type);
- if (PACKAGE_MANAGER_ERROR_NONE != ret) {
- SETTING_TRACE_ERROR("package_info_get_installed_storage(): %s",
- get_error_message(ret));
- }
-
- ad->selected_pkg.is_installed_internally =
- (PACKAGE_INFO_INTERNAL_STORAGE == storage_type);
-
evas_object_del(ad->popup);
ad->popup = NULL;
- elm_genlist_item_fields_update(ad->total_size_item, "elm.text.sub",
- ELM_GENLIST_ITEM_FIELD_TEXT);
}
static int __package_move_finished2(uid_t target_uid, int req_id,
const char *key, const char *val,
const void *pmsg, void *data)
{
- int ret = 0;
- package_info_installed_storage_type_e storage_type;
SettingAppMgr *ad = data;
retv_if(!ad, -1);
if (0 != safeStrCmp(key, "end"))
return 0;
- package_info_destroy(ad->selected_pkg.package_info);
- ad->selected_pkg.package_info = NULL;
- package_manager_get_package_info(ad->selected_pkg.id,
- &ad->selected_pkg.package_info);
+ /* there is no need to update package info, as it's updated by general
+ * package change callback (registered in setting-appmgr.c), which calls
+ * view_update on this view
+ */
- ret = package_info_get_installed_storage(ad->selected_pkg.package_info,
- &storage_type);
- if (PACKAGE_MANAGER_ERROR_NONE != ret) {
- SETTING_TRACE_ERROR("package_info_get_installed_storage(): %s",
- get_error_message(ret));
- }
-
- ad->selected_pkg.is_installed_internally =
- (PACKAGE_INFO_INTERNAL_STORAGE == storage_type);
evas_object_del(ad->popup);
ad->popup = NULL;
-
elm_object_item_disabled_set(ad->move_to_from_sd_item, EINA_FALSE);
- elm_genlist_item_fields_update(ad->move_to_from_sd_item, "elm.text.sub",
- ELM_GENLIST_ITEM_FIELD_TEXT);
return 0;
}
return icon;
}
-static char *pkginfo_move_to_sd_item_text_get(void *data, Evas_Object *obj,
+static char *_move_to_sd_item_text_get(void *data, Evas_Object *obj,
const char *part)
{
SettingAppMgr_PkgInfo *pkg = data;
return NULL;
}
-static char *pkginfo_clear_cache_text_get(void *data, Evas_Object *obj,
+static char *_clear_cache_text_get(void *data, Evas_Object *obj,
const char *part)
{
if (!strcmp(part, "elm.text"))
return NULL;
}
-static char *pkginfo_clear_default_text_get(void *data, Evas_Object *obj,
+static char *_clear_default_text_get(void *data, Evas_Object *obj,
const char *part)
{
if (!strcmp(part, "elm.text"))
return NULL;
}
-static char *pkginfo_total_size_text_get(void *data, Evas_Object *obj,
+static char *_total_size_text_get(void *data, Evas_Object *obj,
const char *part)
{
char desc[NAME_MAX] = {0};
return NULL;
}
-static char *pkginfo_app_size_text_get(void *data, Evas_Object *obj,
- const char *part)
+static char *_app_size_text_get(void *data, Evas_Object *obj, const char *part)
{
char desc[NAME_MAX] = {0};
SettingAppMgr_PkgInfo *pkg = data;
return NULL;
}
-static char *pkginfo_data_size_text_get(void *data, Evas_Object *obj,
+static char *_data_size_text_get(void *data, Evas_Object *obj,
const char *part)
{
char desc[NAME_MAX] = {0};
return NULL;
}
-static char *pkginfo_cache_size_text_get(void *data, Evas_Object *obj,
+static char *_cache_size_text_get(void *data, Evas_Object *obj,
const char *part)
{
char desc[NAME_MAX] = {0};
return NULL;
}
-static char *pkginfo_privilige_detail_text_get(void *data, Evas_Object *obj,
+static char *_privilige_detail_text_get(void *data, Evas_Object *obj,
const char *part)
{
privilege_detail_t *privilege_data = data;
return NULL;
}
-static void pkginfo_privilige_detail_del(void *data, Evas_Object *genlist)
+static void _privilige_detail_del(void *data, Evas_Object *genlist)
{
privilege_detail_t *privilege_data = data;
ad->popup =
setting_create_popup_with_progressbar(ad, ad->md.window,
PROGRESSBAR_STYLE, NULL,
- MGRAPP_STR_MOVEING, NULL,
+ MGRAPP_STR_MOVING, NULL,
0, true, true, 0);
}
ret = package_manager_request_move(request,
if (ret > 0) {
SETTING_TRACE_DEBUG("pkgmgr_client_move(): %d", ret);
evas_object_del(ad->popup);
- ad->popup =
- setting_create_popup_with_progressbar(ad, ad->md.window,
- PROGRESSBAR_STYLE, NULL,
- MGRAPP_STR_MOVEING, NULL,
- 0, true, true, 0);
+ ad->popup = setting_create_popup_with_progressbar(ad,
+ ad->md.window, PROGRESSBAR_STYLE, NULL,
+ MGRAPP_STR_MOVING, NULL, 0, true, true, 0);
} else {
SETTING_TRACE_ERROR("pkgmgr_client_move(): %d", ret);
appmgr_fail_popup(MGRAPP_STR_MOVE_FAIL, ad);
app_manager_event_state_e event_state,
app_manager_event_h handle, void *user_data)
{
- if (APP_MANAGER_EVENT_STATE_COMPLETED == event_state) {
- SETTING_TRACE_DEBUG("_app_mgr_event_cb: %s %s %d", type,
- app_id, event_type);
- setting_view_update(setting_view_node_get_cur_view(),
- user_data);
- }
+ if (event_state != APP_MANAGER_EVENT_STATE_COMPLETED)
+ return;
+
+ SETTING_TRACE_DEBUG("_app_mgr_event_cb: %s %s %d", type, app_id,
+ event_type);
+ setting_view_update(setting_view_node_get_cur_view(), user_data);
}
static void _app_mgr_ctx_event_cb(app_context_h app_context,
void *user_data)
{
SettingAppMgr *ad = user_data;
- SETTING_TRACE_DEBUG("_pkg_mgr_event_cb: %s %s %d", type,
- package, event_type);
- if (!ad)
+ ret_if(!ad);
+
+ if (event_state != PACKAGE_MANAGER_EVENT_STATE_COMPLETED
+ && event_state != PACKAGE_MANAGER_EVENT_STATE_FAILED)
return;
- if (PACKAGE_MANAGER_EVENT_STATE_COMPLETED == event_state ||
- PACKAGE_MANAGER_EVENT_STATE_FAILED == event_state) {
- if (
- setting_view_node_get_cur_view() == ad->pkginfo_view &&
- event_type == PACAKGE_MANAGER_EVENT_TYPE_UNINSTALL &&
- !safeStrCmp(package, ad->selected_pkg.id)
- ) {
- if (
- PACKAGE_MANAGER_EVENT_STATE_COMPLETED
- == event_state) {
- setting_create_toast_popup(
- _("IDS_ST_POP_THE_APP_"\
- "HAS_BEEN_UNINSTALLED"),
- ad->md.window);
- } else {
- setting_create_toast_popup(
- _("IDS_ST_POP_THE_APP_"\
- "HAS_BEEN_UNINSTALLED"),
- ad->md.window);
- }
-
- elm_naviframe_item_pop(ad->md.naviframe);
- return;
- }
+ SETTING_TRACE_DEBUG("pkg_mgr event: type:%s, package:%s, event_type:%d, event_state:%d, progress:%d, error:%d",
+ type, package, event_type, event_state, progress, error);
+ if (setting_view_node_get_cur_view() == ad->pkginfo_view
+ && event_type == PACAKGE_MANAGER_EVENT_TYPE_UNINSTALL
+ && !safeStrCmp(package, ad->selected_pkg.id)) {
+ if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED)
+ setting_create_toast_popup(
+ _("IDS_ST_POP_THE_APP_HAS_BEEN_UNINSTALLED"),
+ ad->md.window);
+ else
+ setting_create_toast_popup(
+ _("IDS_IM_POP_UNEXPECTED_ERROR"),
+ ad->md.window);
- setting_view_update(setting_view_node_get_cur_view(), ad);
+ elm_naviframe_item_pop(ad->md.naviframe);
+ return;
}
+ setting_view_update(setting_view_node_get_cur_view(), ad);
}
static void _storage_changed_cb(int storage_id, storage_dev_e dev,