summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyojung Jo <hj903.jo@samsung.com>2015-08-05 16:22:47 +0900
committerHyojung Jo <hj903.jo@samsung.com>2015-08-05 17:35:57 +0900
commit9bf1db3e8ea602344cec0313346dcbf27cce3b8c (patch)
tree1ae1eb5e07867cf13f891b79e3cd62256d7933c0
parent49231ec5e91c5db32c05a56cff40d6d7201ec83d (diff)
downloadair_favorite-9bf1db3e8ea602344cec0313346dcbf27cce3b8c.tar.gz
air_favorite-9bf1db3e8ea602344cec0313346dcbf27cce3b8c.tar.bz2
air_favorite-9bf1db3e8ea602344cec0313346dcbf27cce3b8c.zip
Removed aul and applied app_control for launching app
Change-Id: I2653dca800a0dac99f4de720ef29724f5a9b9a68 Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
-rw-r--r--CMakeLists.txt1
-rw-r--r--include/define.h1
-rw-r--r--include/utils.h12
-rw-r--r--packaging/org.tizen.favorite.spec1
-rw-r--r--src/common/utils.c66
-rw-r--r--src/data/app.c8
-rw-r--r--src/data/channel.c22
-rw-r--r--src/data/media.c25
-rw-r--r--src/grid/grid_apps.c1
-rw-r--r--src/main.c2
-rw-r--r--src/view/view_base.c10
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 <Elementary.h>
+#include <app_control.h>
#include <app_debug.h>
-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 <glib.h>
#include <stdlib.h>
#include <pkgmgr-info.h>
-#include <aul.h>
#include <app_contents.h>
#include <app_debug.h>
#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 <glib.h>
#include <Elementary.h>
#include <tv_service_proxy_channel_info.h>
-#include <bundle.h>
-#include <aul.h>
#include <app_debug.h>
#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 <app_contents.h>
#include <app_media.h>
#include <app_debug.h>
-#include <bundle.h>
-#include <aul.h>
#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 <gridmgr.h>
#include <app_debug.h>
#include <app_contents.h>
-#include <aul.h>
#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);