From ceb0769c0ca701f3958af5fa335452585041ffe4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Artur=20=C5=9Awigo=C5=84?= Date: Fri, 7 May 2021 12:59:37 +0200 Subject: [PATCH] [AT-SPI] Remove Bridge::EnableAutoInit() arguments The values `topLevelWindow` and `applicationName` can be retrieved using (internal) dali-adaptor API. This will simplify upcoming C# bindings and make this API easier to use in NUI applications. This patch also fixes a possible bug where WindowEvent::ACTIVATE is not sent over DBus. Change-Id: I3305e400d85876e6f50d5e7b3a5453dcc6d885b2 --- dali/devel-api/adaptor-framework/accessibility-impl.h | 5 +---- dali/internal/accessibility/bridge/bridge-impl.cpp | 17 +++++++++++++++-- dali/internal/accessibility/bridge/dummy-atspi.cpp | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/dali/devel-api/adaptor-framework/accessibility-impl.h b/dali/devel-api/adaptor-framework/accessibility-impl.h index 31226a6..c2741d2 100644 --- a/dali/devel-api/adaptor-framework/accessibility-impl.h +++ b/dali/devel-api/adaptor-framework/accessibility-impl.h @@ -294,9 +294,6 @@ struct DALI_ADAPTOR_API Bridge /** * @brief Re-enables auto-initialization of AT-SPI bridge * - * @param topLevelWindow Accessible object for Scene::GetRootLayer() - * @param applicationName Application name - * * Normal applications do not have to call this function. GetCurrentBridge() tries to * initialize the AT-SPI bridge when it is called for the first time. * @@ -304,7 +301,7 @@ struct DALI_ADAPTOR_API Bridge * @see Dali::Accessibility::Bridge::AddTopLevelWindow * @see Dali::Accessibility::Bridge::SetApplicationName */ - static void EnableAutoInit(Accessible* topLevelWindow, const std::string& applicationName); + static void EnableAutoInit(); protected: struct Data diff --git a/dali/internal/accessibility/bridge/bridge-impl.cpp b/dali/internal/accessibility/bridge/bridge-impl.cpp index ea95081..216b89b 100644 --- a/dali/internal/accessibility/bridge/bridge-impl.cpp +++ b/dali/internal/accessibility/bridge/bridge-impl.cpp @@ -18,6 +18,8 @@ // CLASS HEADER // EXTERNAL INCLUDES +#include +#include #include #include #include @@ -32,8 +34,10 @@ #include #include #include +#include #include #include +#include using namespace Dali::Accessibility; @@ -394,7 +398,7 @@ void Bridge::DisableAutoInit() autoInitState = AutoInitState::DISABLED; } -void Bridge::EnableAutoInit(Accessible* topLevelWindow, const std::string& applicationName) +void Bridge::EnableAutoInit() { autoInitState = AutoInitState::ENABLED; @@ -403,8 +407,17 @@ void Bridge::EnableAutoInit(Accessible* topLevelWindow, const std::string& appli return; } + auto rootLayer = Dali::Stage::GetCurrent().GetRootLayer(); + auto window = Dali::DevelWindow::Get(rootLayer); + auto applicationName = Dali::Internal::Adaptor::Adaptor::GetApplicationPackageName(); + auto* bridge = Bridge::GetCurrentBridge(); - bridge->AddTopLevelWindow(topLevelWindow); + bridge->AddTopLevelWindow(Dali::Accessibility::Accessible::Get(rootLayer, true)); bridge->SetApplicationName(applicationName); bridge->Initialize(); + + if(window && window.IsVisible()) + { + bridge->ApplicationShown(); + } } diff --git a/dali/internal/accessibility/bridge/dummy-atspi.cpp b/dali/internal/accessibility/bridge/dummy-atspi.cpp index cd7dbec..d63b02a 100644 --- a/dali/internal/accessibility/bridge/dummy-atspi.cpp +++ b/dali/internal/accessibility/bridge/dummy-atspi.cpp @@ -79,7 +79,7 @@ void Accessibility::Bridge::DisableAutoInit() { } -void Accessibility::Bridge::EnableAutoInit(Accessible*, const std::string&) +void Accessibility::Bridge::EnableAutoInit() { } -- 2.7.4