From: Hyojung Jo Date: Wed, 30 Sep 2015 00:51:48 +0000 (+0900) Subject: View: Launch favorite app when 'More' button selected X-Git-Tag: submit/tizen/20151005.003307~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=449c8c0d663c0bd0cd863cd18dc4c058093c0c20;p=profile%2Ftv%2Fapps%2Fnative%2Fair_apps.git View: Launch favorite app when 'More' button selected Change-Id: I8f412b85be0f844a6a0fea3d25eeb5f9dd9c1156 Signed-off-by: Hyojung Jo --- diff --git a/include/utils.h b/include/utils.h index c6134e5..f31e395 100644 --- a/include/utils.h +++ b/include/utils.h @@ -40,7 +40,7 @@ Evas_Object *utils_add_ctxpopup(Evas_Object *parent, int opt_size, int *opt_id, const char **opt_text, input_handler *opt_handler, void *data); Evas_Object *utils_add_scroller(Evas_Object *parent, const char *part, Evas_Object *content); -bool utils_launch_app(const char *appid); +bool utils_launch_app(const char *appid, const char *key, const char *value); bool utils_uninstall_app(const char *pkgid, const char *pkgtype); #endif /* __AIR_APPS_UTILS_H__ */ diff --git a/src/utils.c b/src/utils.c index 9a94d96..7551665 100644 --- a/src/utils.c +++ b/src/utils.c @@ -359,7 +359,7 @@ Evas_Object *utils_add_scroller(Evas_Object *parent, const char *part, return scr; } -bool utils_launch_app(const char *appid) +bool utils_launch_app(const char *appid, const char *key, const char *value) { app_control_h app_ctrl; int r; @@ -382,6 +382,15 @@ bool utils_launch_app(const char *appid) return false; } + if (key && value) { + r = app_control_add_extra_data(app_ctrl, key, value); + if (r != APP_CONTROL_ERROR_NONE) { + _ERR("App control set extra data failed."); + app_control_destroy(app_ctrl); + return false; + } + } + r = app_control_set_app_id(app_ctrl, appid); if (r != APP_CONTROL_ERROR_NONE) { _ERR("App control set app id failed."); diff --git a/src/view/view_action_menu.c b/src/view/view_action_menu.c index 4695657..ed3f459 100644 --- a/src/view/view_action_menu.c +++ b/src/view/view_action_menu.c @@ -87,7 +87,7 @@ static void _mouse_move_cb(int id, void *data, Evas *e, Evas_Object *obj, static void _livetv_selected(struct _priv *priv) { - if (!utils_launch_app(APP_ID_LIVETV)) { + if (!utils_launch_app(APP_ID_LIVETV, NULL, NULL)) { _ERR("Launch live tv failed."); return; } @@ -239,6 +239,13 @@ static void _clicked_cb(int id, void *data, Evas_Object *obj) _draw_uninstall_popup(priv); break; + case BTN_MORE: + if (!utils_launch_app(APP_ID_FAVORITE, + PARAM_CATEGORY, STR_APPS)) + _ERR("Favorite launch failed."); + + break; + default: _ERR("Unhandled button type."); } @@ -290,7 +297,7 @@ static void _grid_item_selected_cb(void *data, Elm_Object_Item *it, } adata = elm_object_item_data_get(it); - if (!utils_launch_app(get_app_id(adata))) + if (!utils_launch_app(get_app_id(adata), NULL, NULL)) _ERR("Launch app failed."); elm_gengrid_item_selected_set(it, EINA_FALSE); diff --git a/src/view/view_base.c b/src/view/view_base.c index 8213f87..ca84d2b 100644 --- a/src/view/view_base.c +++ b/src/view/view_base.c @@ -371,7 +371,7 @@ static void _grid_item_selected_cb(void *data, Elm_Object_Item *it, priv = data; adata = elm_object_item_data_get(it); - if (!utils_launch_app(get_app_id(adata))) { + if (!utils_launch_app(get_app_id(adata), NULL, NULL)) { _ERR("Launch app failed."); return; }