X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fefl_base%2Fappcore_efl_base.c;h=9f53902f81d17a87a093788b69be19a1fbbe4967;hb=5ede6af7a00aff73493e36ecb81ef6ecb115cc0e;hp=1ac09fd6d09238ed910b02b127ea9abcbb26fa93;hpb=2f156eb9b5700fc2f4fe067d7d191391cde29f16;p=platform%2Fcore%2Fappfw%2Fapp-core.git diff --git a/src/efl_base/appcore_efl_base.c b/src/efl_base/appcore_efl_base.c index 1ac09fd..9f53902 100644 --- a/src/efl_base/appcore_efl_base.c +++ b/src/efl_base/appcore_efl_base.c @@ -20,14 +20,42 @@ #include #include #include +#include +#include +#include #include "appcore_efl_base_private.h" #include "appcore_efl_base.h" +static bool vc_elm_initialized; + +static void __vc_vtauto_changed_cb(keynode_t *key, void *data) +{ + const char *name; + int vt_automode; + + name = vconf_keynode_get_name(key); + if (!name || strcmp(name, VCONFKEY_VC_VOICE_TOUCH_AUTOMODE) != 0) + return; + + vt_automode = vconf_keynode_get_bool(key); + if (vt_automode) { + if (!vc_elm_initialized) { + vc_elm_initialize(); + vc_elm_initialized = true; + } + vc_elm_set_auto_register_mode(2, 0); + } else { + vc_elm_deinitialize(); + vc_elm_initialized = false; + } +} + static int __efl_app_init(int argc, char **argv, void *data) { int hint; const char *hwacc; + int vt_automode = 0; elm_init(argc, argv); @@ -47,11 +75,30 @@ static int __efl_app_init(int argc, char **argv, void *data) } } + /* VC voice touch setting */ + vconf_notify_key_changed(VCONFKEY_VC_VOICE_TOUCH_AUTOMODE, + __vc_vtauto_changed_cb, NULL); + vconf_get_bool(VCONFKEY_VC_VOICE_TOUCH_AUTOMODE, &vt_automode); + if (vt_automode) { + if (!vc_elm_initialized) { + vc_elm_initialize(); + vc_elm_initialized = true; + } + vc_elm_set_auto_register_mode(2, 0); + } + return 0; } static void __efl_app_finish(void) { + vconf_ignore_key_changed(VCONFKEY_VC_VOICE_TOUCH_AUTOMODE, + __vc_vtauto_changed_cb); + if (vc_elm_initialized) { + vc_elm_deinitialize(); + vc_elm_initialized = false; + } + elm_shutdown(); /* Check loader case */