From d98aea8e70bbf4912b0c83ec2fd4a03e5230b886 Mon Sep 17 00:00:00 2001 From: Hyunho Kang Date: Tue, 22 Aug 2017 14:46:57 +0900 Subject: [PATCH] Add add by rid buffer event ON/OFF APIs - watch_manager_enable_buffer_update - watch_manager_disable_buffer_update Change-Id: Ibab8221b16277832881426a6ec5834c2843f3552 Signed-off-by: Hyunho Kang --- watch-control/include/watch_control.h | 2 + watch-control/src/control.c | 77 +++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/watch-control/include/watch_control.h b/watch-control/include/watch_control.h index 735a2dcd..7e680dbe 100644 --- a/watch-control/include/watch_control.h +++ b/watch-control/include/watch_control.h @@ -40,6 +40,8 @@ extern int watch_manager_fini(); extern int watch_manager_get_app_control(const char *app_id, app_control_h *app_control); extern int watch_manager_send_terminate(Evas_Object *watch); extern int watch_policy_set_size_hint(watch_policy_size_hint hint); +extern int watch_manager_enable_buffer_update(void); +extern int watch_manager_disable_buffer_update(void); extern int watch_manager_set_resource_id(int resource_id); extern int watch_manager_get_resource_id(Evas_Object *watch, int *resource_id); extern int watch_manager_add_dead_signal_listener(watch_dead_signal_cb cb, void *data); diff --git a/watch-control/src/control.c b/watch-control/src/control.c index cb0e3fcc..1e5ec98d 100644 --- a/watch-control/src/control.c +++ b/watch-control/src/control.c @@ -414,6 +414,74 @@ static void __screen_connector_toolkit_evas_updated_cb( LOGI("updated"); } +API int watch_manager_enable_buffer_update(void) +{ + int ret; + + if (__rid_toolkit == NULL && __toolkit == NULL) { + _E("cannot find toolkit"); + return -1; + } + + if (__rid_toolkit) { + ret = screen_connector_toolkit_evas_set_changed_event_filter( + __rid_toolkit, + SCREEN_CONNECTOR_EVAS_CHANGED_EVENT_FILTER_NONE); + if (ret != 0) { + _E("fail to set filter"); + return ret; + } + + } + + if (__toolkit) { + ret = screen_connector_toolkit_evas_set_changed_event_filter( + __toolkit, + SCREEN_CONNECTOR_EVAS_CHANGED_EVENT_FILTER_NONE); + if (ret != 0) { + _E("fail to set filter"); + return ret; + } + + } + + return 0; +} + +API int watch_manager_disable_buffer_update(void) +{ + int ret; + + if (__rid_toolkit == NULL && __toolkit == NULL) { + _E("cannot find toolkit"); + return -1; + } + + if (__rid_toolkit) { + ret = screen_connector_toolkit_evas_set_changed_event_filter( + __rid_toolkit, + SCREEN_CONNECTOR_EVAS_CHANGED_EVENT_FILTER_ALL); + if (ret != 0) { + _E("fail to set filter"); + return ret; + } + + } + + if (__toolkit) { + ret = screen_connector_toolkit_evas_set_changed_event_filter( + __toolkit, + SCREEN_CONNECTOR_EVAS_CHANGED_EVENT_FILTER_ALL); + if (ret != 0) { + _E("fail to set filter"); + return ret; + } + + } + + return 0; +} + API int watch_manager_set_resource_id(int resource_id) { screen_connector_toolkit_evas_ops ops; @@ -448,6 +516,15 @@ API int watch_manager_set_resource_id(int resource_id) __rid_toolkit = NULL; return -1; } + + /* + * Disable all buffer event for add by rid toolkit + * Buffer event should be enabled with watch_manager_enable_resource_id + */ + screen_connector_toolkit_evas_set_changed_event_filter( + __rid_toolkit, + SCREEN_CONNECTOR_EVAS_CHANGED_EVENT_FILTER_ALL); + _D("appid(%s), rid(%d)", __watch_appid, resource_id); return 0; -- 2.34.1