Commit faa0d04d authored by Li Lin's avatar Li Lin Committed by Commit Bot

Initilize ActionModule with AssistantEventObserver.

Change-Id: I382c31196514ca276f4ba49cfd0ea21b3697ed73
Reviewed-on: https://chromium-review.googlesource.com/957344
Commit-Queue: Li Lin <llin@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543237}
parent 63ef5ab7
...@@ -44,7 +44,6 @@ source_set("lib") { ...@@ -44,7 +44,6 @@ source_set("lib") {
] ]
deps += [ deps += [
"//chromeos/assistant/internal",
"//chromeos/assistant/internal/action", "//chromeos/assistant/internal/action",
"//libassistant/contrib/core", "//libassistant/contrib/core",
"//libassistant/contrib/platform/audio", "//libassistant/contrib/platform/audio",
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <utility> #include <utility>
#include "base/logging.h" #include "base/logging.h"
#include "chromeos/assistant/internal/action/cros_action_module.h"
#include "chromeos/assistant/internal/internal_constants.h" #include "chromeos/assistant/internal/internal_constants.h"
#include "chromeos/assistant/internal/internal_util.h" #include "chromeos/assistant/internal/internal_util.h"
#include "libassistant/shared/internal_api/assistant_manager_internal.h" #include "libassistant/shared/internal_api/assistant_manager_internal.h"
...@@ -17,14 +16,12 @@ namespace assistant { ...@@ -17,14 +16,12 @@ namespace assistant {
AssistantManagerServiceImpl::AssistantManagerServiceImpl() AssistantManagerServiceImpl::AssistantManagerServiceImpl()
: platform_api_(kDefaultConfigStr), : platform_api_(kDefaultConfigStr),
action_module_(std::make_unique<action::CrosActionModule>()), action_module_(std::make_unique<action::CrosActionModule>(this)),
assistant_manager_( assistant_manager_(
assistant_client::AssistantManager::Create(&platform_api_, assistant_client::AssistantManager::Create(&platform_api_,
kDefaultConfigStr)), kDefaultConfigStr)),
assistant_manager_internal_( assistant_manager_internal_(
UnwrapAssistantManagerInternal(assistant_manager_.get())) { UnwrapAssistantManagerInternal(assistant_manager_.get())) {}
display_connection_.SetAssistantEventObserver(this);
}
AssistantManagerServiceImpl::~AssistantManagerServiceImpl() {} AssistantManagerServiceImpl::~AssistantManagerServiceImpl() {}
...@@ -35,7 +32,6 @@ void AssistantManagerServiceImpl::Start(const std::string& access_token) { ...@@ -35,7 +32,6 @@ void AssistantManagerServiceImpl::Start(const std::string& access_token) {
assistant_manager_internal_->SetOptions(*internal_options, [](bool success) { assistant_manager_internal_->SetOptions(*internal_options, [](bool success) {
DVLOG(2) << "set options: " << success; DVLOG(2) << "set options: " << success;
}); });
assistant_manager_internal_->SetDisplayConnection(&display_connection_);
assistant_manager_internal_->RegisterActionModule(action_module_.get()); assistant_manager_internal_->RegisterActionModule(action_module_.get());
...@@ -75,5 +71,9 @@ void AssistantManagerServiceImpl::OnShowText(const std::string& text) { ...@@ -75,5 +71,9 @@ void AssistantManagerServiceImpl::OnShowText(const std::string& text) {
subscribers_.ForAllPtrs([&text](auto* ptr) { ptr->OnTextResponse(text); }); subscribers_.ForAllPtrs([&text](auto* ptr) { ptr->OnTextResponse(text); });
} }
void AssistantManagerServiceImpl::OnOpenUrl(const std::string& url) {
subscribers_.ForAllPtrs([&url](auto* ptr) { ptr->OnTextResponse(url); });
}
} // namespace assistant } // namespace assistant
} // namespace chromeos } // namespace chromeos
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
// TODO(xiaohuic): replace with "base/macros.h" once we remove // TODO(xiaohuic): replace with "base/macros.h" once we remove
// libassistant/contrib dependency. // libassistant/contrib dependency.
#include "chromeos/assistant/internal/cros_display_connection.h" #include "chromeos/assistant/internal/action/cros_action_module.h"
#include "chromeos/services/assistant/assistant_manager_service.h" #include "chromeos/services/assistant/assistant_manager_service.h"
#include "chromeos/services/assistant/platform_api_impl.h" #include "chromeos/services/assistant/platform_api_impl.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h" #include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
...@@ -25,13 +25,10 @@ class AssistantManagerInternal; ...@@ -25,13 +25,10 @@ class AssistantManagerInternal;
namespace chromeos { namespace chromeos {
namespace assistant { namespace assistant {
namespace action {
class CrosActionModule;
} // namespace action
// Implementation of AssistantManagerService based on libassistant. // Implementation of AssistantManagerService based on libassistant.
class AssistantManagerServiceImpl : public AssistantManagerService, class AssistantManagerServiceImpl
public AssistantEventObserver { : public AssistantManagerService,
public ::chromeos::assistant::action::AssistantActionObserver {
public: public:
AssistantManagerServiceImpl(); AssistantManagerServiceImpl();
~AssistantManagerServiceImpl() override; ~AssistantManagerServiceImpl() override;
...@@ -46,13 +43,13 @@ class AssistantManagerServiceImpl : public AssistantManagerService, ...@@ -46,13 +43,13 @@ class AssistantManagerServiceImpl : public AssistantManagerService,
void AddAssistantEventSubscriber( void AddAssistantEventSubscriber(
mojom::AssistantEventSubscriberPtr subscriber) override; mojom::AssistantEventSubscriberPtr subscriber) override;
// AssistantEventObserver overrides: // AssistantActionObserver overrides:
void OnShowHtml(const std::string& html) override; void OnShowHtml(const std::string& html) override;
void OnShowText(const std::string& html) override; void OnShowText(const std::string& text) override;
void OnOpenUrl(const std::string& url) override;
private: private:
PlatformApiImpl platform_api_; PlatformApiImpl platform_api_;
CrosDisplayConnection display_connection_;
std::unique_ptr<action::CrosActionModule> action_module_; std::unique_ptr<action::CrosActionModule> action_module_;
std::unique_ptr<assistant_client::AssistantManager> assistant_manager_; std::unique_ptr<assistant_client::AssistantManager> assistant_manager_;
assistant_client::AssistantManagerInternal* const assistant_manager_internal_; assistant_client::AssistantManagerInternal* const assistant_manager_internal_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment