From a58056e48e05b4ae71e8ebc6e4eee63f92c02c59 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Wed, 29 Apr 2020 09:44:11 +0900 Subject: [PATCH] Call Reset Function After calling the pause callback function of frame_context_lifecycle_callback_s, frame-broker calls the reset function. Requires: - https://review.tizen.org/gerrit/#/c/platform/core/appfw/screen-connector/+/232163/ Change-Id: I7dff6da6eac420df80448bb9a39246235cf63019 Signed-off-by: Hwankyu Jhun --- frame-broker/src/frame_broker.c | 19 +++++++++++++++++++ frame-broker/src/frame_broker_private.h | 2 ++ frame-broker/src/frame_context.c | 2 ++ 3 files changed, 23 insertions(+) diff --git a/frame-broker/src/frame_broker.c b/frame-broker/src/frame_broker.c index d167049..ce3156b 100644 --- a/frame-broker/src/frame_broker.c +++ b/frame-broker/src/frame_broker.c @@ -611,3 +611,22 @@ int frame_broker_launch_done(frame_broker_h handle, uint32_t serial) return FRAME_BROKER_ERROR_NONE; } + +int frame_broker_reset(frame_broker_h handle, uint32_t serial) +{ + int ret; + + if (!handle || !serial) { + _E("Invalid parameter"); + return FRAME_BROKER_ERROR_INVALID_PARAMETER; + } + + _W("serial(%u)", serial); + ret = screen_connector_launcher_service_reset(handle->scls, serial); + if (ret != 0) { + _E("Failed to reset launcher service"); + return FRAME_BROKER_ERROR_IO_ERROR; + } + + return FRAME_BROKER_ERROR_NONE; +} diff --git a/frame-broker/src/frame_broker_private.h b/frame-broker/src/frame_broker_private.h index 285860c..38e7d62 100644 --- a/frame-broker/src/frame_broker_private.h +++ b/frame-broker/src/frame_broker_private.h @@ -37,4 +37,6 @@ int frame_broker_launch_cancel(frame_broker_h handle, uint32_t serial); int frame_broker_launch_done(frame_broker_h handle, uint32_t serial); +int frame_broker_reset(frame_broker_h handle, uint32_t serial); + #endif /* __FRAME_BROKER_PRIVATE_H__ */ diff --git a/frame-broker/src/frame_context.c b/frame-broker/src/frame_context.c index 961ccde..44de447 100644 --- a/frame-broker/src/frame_context.c +++ b/frame-broker/src/frame_context.c @@ -380,6 +380,8 @@ void frame_context_on_pause(frame_context_h handle) _W("handle(%p)", handle); handle->callback.pause(handle, handle->user_data); handle->state = FRAME_CONTEXT_STATE_PAUSED; + + frame_broker_reset(handle->broker, handle->serial); } void frame_context_on_destroy(frame_context_h handle) -- 2.7.4