From: Hyunho Kang Date: Mon, 3 Jul 2017 11:08:04 +0000 (+0900) Subject: Support send viewer state feature in multi-viewer X-Git-Tag: submit/tizen_3.0/20170704.045321^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dd88c38f0194d2b862cb9b11b0473e07339b4010;p=platform%2Fcore%2Fappfw%2Fwidget-viewer.git Support send viewer state feature in multi-viewer Multiple viewer like AOD viewer can send viewer state to watch application Change-Id: I351a8aba6a4d1daf48c0305c96e6eb79e5834482 Signed-off-by: Hyunho Kang --- diff --git a/watch-control/src/control.c b/watch-control/src/control.c index 2b7f7259..62b4acb0 100644 --- a/watch-control/src/control.c +++ b/watch-control/src/control.c @@ -164,6 +164,8 @@ API int watch_manager_set_resource_id(int resource_id) { screen_connector_toolkit_evas_ops ops; screen_connector_toolkit_evas_h handle; + char *appid = NULL; + int ret; ops.added_cb = __screen_connector_toolkit_evas_added_cb; ops.removed_cb = __screen_connector_toolkit_evas_removed_cb; @@ -174,6 +176,18 @@ API int watch_manager_set_resource_id(int resource_id) return -1; } + ret = aul_screen_connector_get_appid_by_surface_id_request(resource_id, + &appid); + if (ret == AUL_R_OK) { + if (__watch_appid) + free(__watch_appid); + __watch_appid = appid; + } else { + screen_connector_toolkit_evas_remove(handle); + _E("Fail to get appid of %d", resource_id); + return -1; + } + return 0; } @@ -247,6 +261,9 @@ API int watch_manager_get_app_control(const char *app_id, app_control_h *app_con bundle_add_str(b, AUL_K_WIDGET_VIEWER, viewer_appid); } + if (__watch_appid) + free(__watch_appid); + __watch_appid = strdup(app_id); return 0; @@ -422,6 +439,11 @@ static int __change_viewer_visibility(bool visible) return -1; } + if (__watch_appid == NULL) { + _E("watch is not added"); + return -1; + } + if (visible) state = WATCH_CONTROL_RESUME; else