From 418eecd4ed3a188a4b167863768fc6ce0c8749cc Mon Sep 17 00:00:00 2001 From: Youngsun Suh Date: Thu, 26 Sep 2024 10:11:37 +0900 Subject: [PATCH] [Tizen] Prevent embedding a11y tree if a widget is paused Change-Id: I71f8b015f6e381da4555d30c56a9712afbd2a9a3 --- .../internal/widget_view/widget_view_impl.cpp | 23 ++++++++++++++++++- .../internal/widget_view/widget_view_impl.h | 2 ++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp index 926193c..b1b80b0 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp @@ -313,6 +313,11 @@ bool WidgetView::PauseWidgetInternally() return false; } + if(Dali::Accessibility::IsUp()) + { + GetAccessibleObject()->OnChildrenChanged(); + } + DALI_LOG_RELEASE_INFO("WidgetView::PauseWidget: Widget is paused (%s, %s) [%p]\n", mWidgetId.c_str(), mInstanceId.c_str(), this ); return true; @@ -337,6 +342,11 @@ bool WidgetView::ResumeWidgetInternally() return false; } + if(Dali::Accessibility::IsUp()) + { + GetAccessibleObject()->OnChildrenChanged(); + } + DALI_LOG_RELEASE_INFO("WidgetView::ResumeWidget: Widget is resumed (%s, %s) [%p]\n", mWidgetId.c_str(), mInstanceId.c_str(), this ); return true; @@ -1222,7 +1232,7 @@ void WidgetView::OnUpdateArea( Dali::PropertyNotification& source ) mPaused = needPaused; } - if(!mPaused) + if(!mPaused && Dali::Accessibility::IsUp()) { auto accessible = std::dynamic_pointer_cast(GetAccessibleObject()); DALI_ASSERT_DEBUG(accessible); @@ -1853,6 +1863,11 @@ void WidgetView::UpdateBuffer( struct tizen_remote_surface *surface, struct wl_b mRemoteSurface = surface; } +bool WidgetView::IsPaused() const +{ + return mPaused; +} + bool WidgetView::LaunchWidget() { screen_connector_toolkit_ops ops; @@ -2061,6 +2076,12 @@ void WidgetView::WidgetViewAccessible::DoGetChildren(std::vector