capi-appfw-application
app-utils
pkgmgr-info
- aul
)
IF(NOT DEFINED PACKAGE_NAME)
#ifndef __AIR_APPS_UTILS_H__
#define __AIR_APPS_UTILS_H__
-Evas_Object *add_window(const char *name);
-Evas_Object *add_layout(Evas_Object *parent, const char *group);
-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_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, const char *text,
- const char *style);
+Evas_Object *utils_add_button(Evas_Object *parent, const char *part,
+ const char *text, const char *style);
+bool utils_launch_app(const char *appid);
#endif /* __AIR_APPS_UTILS_H__ */
BuildRequires: pkgconfig(capi-appfw-application)
BuildRequires: pkgconfig(app-utils)
BuildRequires: pkgconfig(pkgmgr-info)
-BuildRequires: pkgconfig(aul)
%define _appdir /usr/apps/%{name}
%define _bindir %{_appdir}/bin
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;
*/
#include <Elementary.h>
+#include <app_control.h>
#include <app_debug.h>
#include "utils.h"
-Evas_Object *add_window(const char *name)
+Evas_Object *utils_add_window(const char *name)
{
Evas_Object *win;
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;
return layout;
}
-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)
{
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;
return btn;
}
+
+bool utils_launch_app(const char *appid)
+{
+ 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.");
+ 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.");
+ app_control_destroy(app_ctrl);
+ return false;
+ }
+
+ r = app_control_send_launch_request(app_ctrl, NULL, NULL);
+ if (r != APP_CONTROL_ERROR_NONE) {
+ _ERR("App control send launch request failed.");
+ app_control_destroy(app_ctrl);
+ return false;
+ }
+
+ app_control_destroy(app_ctrl);
+
+ return true;
+}
return NULL;
}
- base = add_layout(win, GRP_VIEW_ACTION_MENU);
+ base = utils_add_layout(win, GRP_VIEW_ACTION_MENU);
if (!base) {
_ERR("Add layout failed.");
free(priv);
#include <app.h>
#include <Elementary.h>
-#include <aul.h>
#include <viewmgr.h>
#include <gridmgr.h>
#include <inputmgr.h>
return false;
}
- box = add_box(ctxpopup, NULL, EINA_FALSE,
+ box = utils_add_box(ctxpopup, NULL, EINA_FALSE,
SIZE_SORT_BOX_PAD_H, SIZE_SORT_BOX_PAD_V);
if (!box) {
_ERR("elm_box_add failed.");
priv->sort_popup = ctxpopup;
for (i = 0; i < SORT_COUNT; i++) {
- btn = add_button(box, NULL, str_sort[i], STYLE_OPTION_BTN);
+ btn = utils_add_button(box, NULL, str_sort[i],
+ STYLE_OPTION_BTN);
if (!btn) {
_ERR("Add button failed.");
evas_object_del(ctxpopup);
struct _priv *priv;
struct app_data *adata, *new_adata;
Elm_Object_Item *item;
- int r;
if (!data || !it) {
_ERR("Invalid argument.");
priv = data;
adata = elm_object_item_data_get(it);
- r = aul_open_app(get_app_id(adata));
- if (r == AUL_R_EINVAL) {
- _ERR("Wrong app id");
+ if (!utils_launch_app(get_app_id(adata))) {
+ _ERR("Launch app failed.");
return;
}
elm_object_part_text_set(priv->base, PART_TOP_TITLE, STR_APPS);
- box = add_box(priv->base, PART_MENU, EINA_TRUE,
+ box = utils_add_box(priv->base, PART_MENU, EINA_TRUE,
SIZE_MENU_BOX_PAD_H, SIZE_MENU_BOX_PAD_V);
if (!box) {
_ERR("Add box failed.");
}
for (i = 0; i < MENU_COUNT; i++) {
- btn = add_button(priv->base, NULL, str_menu[i], STYLE_MENU_BTN);
+ btn = utils_add_button(priv->base, NULL, str_menu[i],
+ STYLE_MENU_BTN);
if (!btn) {
_ERR("elm_button_add failed.");
evas_object_del(box);
return false;
}
- btn = add_button(priv->base, PART_SORT,
+ btn = utils_add_button(priv->base, PART_SORT,
str_sort[priv->sort_type], STYLE_SORT_BTN);
if (!btn) {
_ERR("Add button failed.");
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);