From 9bf1db3e8ea602344cec0313346dcbf27cce3b8c Mon Sep 17 00:00:00 2001 From: Hyojung Jo Date: Wed, 5 Aug 2015 16:22:47 +0900 Subject: Removed aul and applied app_control for launching app Change-Id: I2653dca800a0dac99f4de720ef29724f5a9b9a68 Signed-off-by: Hyojung Jo --- CMakeLists.txt | 1 - include/define.h | 1 - include/utils.h | 12 ++++--- packaging/org.tizen.favorite.spec | 1 - src/common/utils.c | 66 ++++++++++++++++++++++++++++++++++++--- src/data/app.c | 8 ++--- src/data/channel.c | 22 +++---------- src/data/media.c | 25 +++------------ src/grid/grid_apps.c | 1 - src/main.c | 2 +- src/view/view_base.c | 10 +++--- 11 files changed, 86 insertions(+), 63 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bce42a..e91d4db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,6 @@ pkg_check_modules(PKGS REQUIRED pkgmgr-info capi-content-media-content glib-2.0 - aul capi-web-bookmark tv-service ) diff --git a/include/define.h b/include/define.h index 3a5ae85..ab5dca1 100644 --- a/include/define.h +++ b/include/define.h @@ -77,7 +77,6 @@ #define STR_MEDIAHUB_APP_ID "org.tizen.mediahub" #define STR_LIVETV_APP_ID "org.tizen.live-tv" #define STR_KEY_MEDIA_ID "media_id" -#define STR_KEY_SENDER_ID "sender_id" #define STR_KEY_SERVICE_ID "service_id" #define STR_BROWSER "Web Browser" #define STR_BROWSER_ID "org.tizen.browser" diff --git a/include/utils.h b/include/utils.h index b41e9a3..ac892a6 100644 --- a/include/utils.h +++ b/include/utils.h @@ -17,13 +17,15 @@ #ifndef __AIR_FAVORITE_UTILS_H__ #define __AIR_FAVORITE_UTILS_H__ -Evas_Object *add_window(const char *name); -Evas_Object *add_layout(Evas_Object *parent, const char *group); -Evas_Object *add_gengrid(Evas_Object *parent, int item_size_x, int item_size_y); -Evas_Object *add_box(Evas_Object *parent, const char *part, +Evas_Object *utils_add_window(const char *name); +Evas_Object *utils_add_layout(Evas_Object *parent, const char *group); +Evas_Object *utils_add_gengrid(Evas_Object *parent, + int item_size_x, int item_size_y); +Evas_Object *utils_add_box(Evas_Object *parent, const char *part, Eina_Bool horizontal, Evas_Coord padding_h, Evas_Coord padding_v); -Evas_Object *add_button(Evas_Object *parent, const char *part, +Evas_Object *utils_add_button(Evas_Object *parent, const char *part, const char *text, const char *style); +bool utils_launch_app(const char *appid, const char *key, const char *value); #endif /* __AIR_FAVORITE_UTILS_H__ */ diff --git a/packaging/org.tizen.favorite.spec b/packaging/org.tizen.favorite.spec index 9ce947c..63df129 100644 --- a/packaging/org.tizen.favorite.spec +++ b/packaging/org.tizen.favorite.spec @@ -14,7 +14,6 @@ BuildRequires: pkgconfig(app-utils) BuildRequires: pkgconfig(pkgmgr-info) BuildRequires: pkgconfig(capi-content-media-content) BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(capi-web-bookmark) BuildRequires: pkgconfig(tv-service) diff --git a/src/common/utils.c b/src/common/utils.c index cab934b..55cdc72 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -15,9 +15,12 @@ */ #include +#include #include -Evas_Object *add_window(const char *name) +#include "define.h" + +Evas_Object *utils_add_window(const char *name) { Evas_Object *win; @@ -40,7 +43,7 @@ Evas_Object *add_window(const char *name) return win; } -Evas_Object *add_layout(Evas_Object *parent, const char *group) +Evas_Object *utils_add_layout(Evas_Object *parent, const char *group) { Evas_Object *layout; @@ -63,7 +66,8 @@ Evas_Object *add_layout(Evas_Object *parent, const char *group) return layout; } -Evas_Object *add_gengrid(Evas_Object *parent, int item_size_x, int item_size_y) +Evas_Object *utils_add_gengrid(Evas_Object *parent, + int item_size_x, int item_size_y) { Evas_Object *grid; @@ -94,7 +98,7 @@ Evas_Object *add_gengrid(Evas_Object *parent, int item_size_x, int item_size_y) return grid; } -Evas_Object *add_box(Evas_Object *parent, const char *part, +Evas_Object *utils_add_box(Evas_Object *parent, const char *part, Eina_Bool horizontal, Evas_Coord padding_h, Evas_Coord padding_v) { @@ -126,7 +130,7 @@ Evas_Object *add_box(Evas_Object *parent, const char *part, return box; } -Evas_Object *add_button(Evas_Object *parent, const char *part, +Evas_Object *utils_add_button(Evas_Object *parent, const char *part, const char *text, const char *style) { Evas_Object *btn; @@ -153,3 +157,55 @@ Evas_Object *add_button(Evas_Object *parent, const char *part, return btn; } + +bool utils_launch_app(const char *appid, const char *key, const char *value) +{ + app_control_h app_ctrl; + int r; + + if (!appid) { + _ERR("Invalid argument."); + return false; + } + + r = app_control_create(&app_ctrl); + if (r != APP_CONTROL_ERROR_NONE) { + _ERR("App control handle create failed."); + return false; + } + + r = app_control_set_operation(app_ctrl, APP_CONTROL_OPERATION_DEFAULT); + if (r != APP_CONTROL_ERROR_NONE) { + _ERR("App control set operation failed."); + goto err; + } + + 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."); + goto err; + } + } + + r = app_control_set_app_id(app_ctrl, appid); + if (r != APP_CONTROL_ERROR_NONE) { + _ERR("App control set app id failed."); + goto err; + } + + r = app_control_send_launch_request(app_ctrl, NULL, NULL); + if (r != APP_CONTROL_ERROR_NONE) { + _ERR("App control send launch request failed."); + goto err; + } + + app_control_destroy(app_ctrl); + + return true; + +err: + app_control_destroy(app_ctrl); + + return false; +} diff --git a/src/data/app.c b/src/data/app.c index a053500..f9adad7 100644 --- a/src/data/app.c +++ b/src/data/app.c @@ -17,12 +17,12 @@ #include #include #include -#include #include #include #include "datamgr.h" #include "define.h" +#include "utils.h" struct app_data { char *id; @@ -155,7 +155,6 @@ static void _free_favorites(Eina_List *list) static bool _action(Elm_Object_Item *it) { struct app_data *adata; - int r; if (!it) { _ERR("Invalid argument."); @@ -166,9 +165,8 @@ static bool _action(Elm_Object_Item *it) if (!adata || !adata->id) return false; - r = aul_open_app(adata->id); - if (r == AUL_R_EINVAL) { - _ERR("Wrong app id"); + if (!utils_launch_app(adata->id, NULL, NULL)) { + _ERR("Launch %s failed.", adata->id); return false; } diff --git a/src/data/channel.c b/src/data/channel.c index 68fa929..4d98241 100644 --- a/src/data/channel.c +++ b/src/data/channel.c @@ -17,12 +17,11 @@ #include #include #include -#include -#include #include #include "define.h" #include "datamgr.h" +#include "utils.h" struct channel_data { int id; @@ -160,8 +159,7 @@ static void _free_favorites(Eina_List *list) static bool _action(Elm_Object_Item *it) { struct channel_data *cdata; - bundle *b = NULL; - int r, svcid; + char str[SIZE_STR]; if (!it) { _ERR("Invalid argument."); @@ -172,25 +170,13 @@ static bool _action(Elm_Object_Item *it) if (!cdata) return false; - svcid = cdata->id; - - b = bundle_create(); - if (!b) { - _ERR("Bundle create failed."); - return false; - } - - bundle_add_byte(b, STR_KEY_SERVICE_ID, &svcid, sizeof(int)); + snprintf(str, sizeof(str), "%d", cdata->id); - r = aul_launch_app(STR_LIVETV_APP_ID, b); - if (r < 0) { + if (!utils_launch_app(STR_LIVETV_APP_ID, STR_KEY_SERVICE_ID, str)) { _ERR("Livetv launch failed."); - bundle_free(b); return false; } - bundle_free(b); - return true; } diff --git a/src/data/media.c b/src/data/media.c index c118ea6..f82fc27 100644 --- a/src/data/media.c +++ b/src/data/media.c @@ -19,11 +19,10 @@ #include #include #include -#include -#include #include "define.h" #include "datamgr.h" +#include "utils.h" static void _media_favorite_list_foreach(gpointer data, gpointer user_data) { @@ -223,11 +222,8 @@ static void _free_favorites(Eina_List *list) static bool _action(Elm_Object_Item *it) { - bundle *b = NULL; app_media *am; app_media_info *minfo; - char *id; - int r; if (!it) { _ERR("Invalid argument."); @@ -244,28 +240,15 @@ static bool _action(Elm_Object_Item *it) return false; } - id = minfo->media_id; - if (!id) - return false; - - b = bundle_create(); - if (!b) { - _ERR("Bundle create failed."); + if (!minfo->media_id) return false; - } - - bundle_add_str(b, STR_KEY_MEDIA_ID, id); - bundle_add_str(b, STR_KEY_SENDER_ID, STR_FAVORITE); - r = aul_launch_app(STR_MEDIAHUB_APP_ID, b); - if (r < 0) { + if (!utils_launch_app(STR_MEDIAHUB_APP_ID, STR_KEY_MEDIA_ID, + minfo->media_id)) { _ERR("Mediahub launch failed."); - bundle_free(b); return false; } - bundle_free(b); - return true; } diff --git a/src/grid/grid_apps.c b/src/grid/grid_apps.c index d19db9b..8ea72a7 100644 --- a/src/grid/grid_apps.c +++ b/src/grid/grid_apps.c @@ -19,7 +19,6 @@ #include #include #include -#include #include "define.h" #include "grid.h" diff --git a/src/main.c b/src/main.c index 252a18d..250013c 100644 --- a/src/main.c +++ b/src/main.c @@ -43,7 +43,7 @@ static bool _create(void *data) elm_theme_overlay_add(NULL, THEMEFILE); - win = add_window(ad->name); + win = utils_add_window(ad->name); if (!win) { _ERR("Add window failed."); return false; diff --git a/src/view/view_base.c b/src/view/view_base.c index 3e7d40d..8bb31e3 100644 --- a/src/view/view_base.c +++ b/src/view/view_base.c @@ -328,7 +328,7 @@ static bool _draw_top_area(struct _priv *priv) elm_object_part_text_set(priv->base, PART_TOP_TITLE, STR_FAVORITE); - priv->box = add_box(priv->base, PART_TOP_MENU, EINA_TRUE, + priv->box = utils_add_box(priv->base, PART_TOP_MENU, EINA_TRUE, SIZE_BOX_PAD_H, SIZE_BOX_PAD_V); if (!priv->box) { _ERR("Add box failed."); @@ -342,7 +342,8 @@ static bool _draw_top_area(struct _priv *priv) return false; } - btn = add_button(priv->box, NULL, gdata->id, STYLE_MENU_BTN); + btn = utils_add_button(priv->box, NULL, gdata->id, + STYLE_MENU_BTN); if (!btn) { _ERR("Add button failed."); evas_object_del(priv->box); @@ -381,7 +382,8 @@ static bool _add_grid(struct _priv *priv, int id) return false; } - grid = add_gengrid(priv->base, gdata->item_size_x, gdata->item_size_y); + grid = utils_add_gengrid(priv->base, + gdata->item_size_x, gdata->item_size_y); if (!grid) { _ERR("Add grid failed."); return false; @@ -418,7 +420,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) return NULL; } - base = add_layout(win, GRP_VIEW_BASE); + base = utils_add_layout(win, GRP_VIEW_BASE); if (!base) { _ERR("Add layout failed."); free(priv); -- cgit v1.2.3