From ee13a0a1d73e5f47ce71d22bdf4683db23d45a50 Mon Sep 17 00:00:00 2001 From: "sung1103.park" Date: Tue, 28 Aug 2012 17:40:12 +0900 Subject: [PATCH] add lock/unlock sound --- CMakeLists.txt | 1 + include/draglock-util.h | 3 +++ include/draglock.h | 1 + packaging/org.tizen.draglock.spec | 1 + src/draglock-util.c | 41 ++++++++++++++++++++++++++++++++++++++- src/draglock.c | 6 ++++++ 6 files changed, 52 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a65ef4..eaa546b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,7 @@ pkg_check_modules(pkgs REQUIRED capi-system-power capi-system-runtime-info vconf + svi ) FOREACH(flag ${pkgs_CFLAGS}) diff --git a/include/draglock-util.h b/include/draglock-util.h index 80cd152..17ea19e 100755 --- a/include/draglock-util.h +++ b/include/draglock-util.h @@ -21,5 +21,8 @@ Evas_Object *draglock_util_add_window(const char *name); Evas_Object *draglock_util_add_bg(Evas_Object *window); Evas_Object *draglock_util_add_layout(Evas_Object *parent, const char *file, const char *group); +int draglock_init_svi(int *handle); +int draglock_fini_svi(int handle); +void draglock_play_sound(int handle, int unlock); #endif /* __DRAGLOCK_UTIL_H__ */ diff --git a/include/draglock.h b/include/draglock.h index 0283242..f8c6ea4 100755 --- a/include/draglock.h +++ b/include/draglock.h @@ -74,6 +74,7 @@ struct appdata { Evas_Coord_Rectangle slide_rel2; power_state_e power_state; + int sound_handle; }; #endif /* __DRAGLOCK_H__ */ diff --git a/packaging/org.tizen.draglock.spec b/packaging/org.tizen.draglock.spec index ca59a79..b1663af 100755 --- a/packaging/org.tizen.draglock.spec +++ b/packaging/org.tizen.draglock.spec @@ -21,6 +21,7 @@ BuildRequires: pkgconfig(capi-appfw-application) BuildRequires: pkgconfig(capi-system-power) BuildRequires: pkgconfig(capi-system-runtime-info) BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(svi) BuildRequires: cmake BuildRequires: gettext BuildRequires: edje-tools diff --git a/src/draglock-util.c b/src/draglock-util.c index 51f3af1..1921d86 100755 --- a/src/draglock-util.c +++ b/src/draglock-util.c @@ -16,6 +16,9 @@ #include #include +#include +#include + #include "draglock.h" static void _draglock_util_window_deleted_cb(void *data, Evas_Object *obj, @@ -29,6 +32,7 @@ Evas_Object *draglock_util_add_window(const char *name) { obj_window = elm_win_add(NULL, name, ELM_WIN_BASIC); if (obj_window != NULL) { + elm_win_alpha_set(obj_window, EINA_TRUE); elm_win_title_set(obj_window, name); elm_win_borderless_set(obj_window, EINA_TRUE); evas_object_smart_callback_add(obj_window, "delete,request", @@ -37,7 +41,6 @@ Evas_Object *draglock_util_add_window(const char *name) { &height); evas_object_resize(obj_window, width, height); elm_win_indicator_mode_set(obj_window, ELM_WIN_INDICATOR_SHOW); - elm_win_alpha_set(obj_window, EINA_TRUE); } return obj_window; @@ -94,3 +97,39 @@ Evas_Object *draglock_util_add_layout(Evas_Object *parent, const char *file, return layout; } + +int draglock_init_svi(int *handle) +{ + if (svi_init(handle) != SVI_SUCCESS) { + DRAGLOCK_ERR("Cannot initialize SVI."); + svi_fini(*handle); + return -1; + } + + return 0; +} + +int draglock_fini_svi(int handle) +{ + if (svi_fini(handle) != SVI_SUCCESS) { + DRAGLOCK_ERR("[Error] Cannot get vconf\n"); + return -1; + } + return 0; +} + + +void draglock_play_sound(int handle, int unlock) +{ + int ret = -1, val = 0; + + ret = vconf_get_bool(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, &val); + DRAGLOCK_DBG("val = %d", val); + + if (ret == 0 && val == 1) { + svi_play(handle, SVI_VIB_NONE, + unlock ? SVI_SND_OPERATION_UNLOCK : + SVI_SND_OPERATION_LOCK); + } +} + diff --git a/src/draglock.c b/src/draglock.c index a2472fb..2af7430 100755 --- a/src/draglock.c +++ b/src/draglock.c @@ -45,6 +45,9 @@ static bool app_create(void *user_data) { &ad->win_h); DRAGLOCK_DBG("window size(%d,%d)", ad->win_w, ad->win_h); + draglock_init_svi(&ad->sound_handle); + draglock_play_sound(ad->sound_handle, 0); + /* create window */ app_get_name(&name); @@ -73,6 +76,9 @@ static void app_terminate(void *user_data) { return; } + draglock_play_sound(ad->sound_handle, 1); + draglock_fini_svi(ad->sound_handle); + draglock_ui_destroy(ad); if (ad->win) -- 2.7.4