View: Launch favorite app when 'More' button selected 93/48793/1
authorHyojung Jo <hj903.jo@samsung.com>
Wed, 30 Sep 2015 00:51:48 +0000 (09:51 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Wed, 30 Sep 2015 00:51:48 +0000 (09:51 +0900)
Change-Id: I8f412b85be0f844a6a0fea3d25eeb5f9dd9c1156
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/utils.h
src/utils.c
src/view/view_action_menu.c
src/view/view_base.c

index c6134e592be95445697ecdbdd0d46259f99e3220..f31e3954026a1c12360959b2ccedfe64225fa94e 100644 (file)
@@ -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__ */
index 9a94d965c8d39ef3b9ba1c55dff290ae9cecbc73..7551665b0d1aca2ba3d55ef53365a0650f223ada 100644 (file)
@@ -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.");
index 46956572762535045c11b33b423b421d251106d9..ed3f45971e1e21a2d16f212fc9abf47b4a03d5ad 100644 (file)
@@ -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);
index 8213f8780947d18f94580576ed2220b1d2807357..ca84d2bfa2197694d76c4e79394720d769c626b4 100644 (file)
@@ -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;
        }