Add add by rid buffer event ON/OFF APIs 35/145335/8
authorHyunho Kang <hhstark.kang@samsung.com>
Tue, 22 Aug 2017 05:46:57 +0000 (14:46 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Mon, 4 Sep 2017 07:24:36 +0000 (07:24 +0000)
- watch_manager_enable_buffer_update
- watch_manager_disable_buffer_update

Change-Id: Ibab8221b16277832881426a6ec5834c2843f3552
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
watch-control/include/watch_control.h
watch-control/src/control.c

index 735a2dcdbc6c3627aebed2f9e07f939c5b2bb4cc..7e680dbe67dce88abcf9a37c29d40a57cf814d0d 100644 (file)
@@ -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);
index cb0e3fcc6d022253c7ae8d4fa3f1ca701e14e8f9..1e5ec98dbfb20a911c861edbec68ecd673b78e8f 100644 (file)
@@ -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;