Commit 46ad4b7d authored by David Black's avatar David Black Committed by Commit Bot

Wire suggestion responses to AshAssistantController.

Bug: b:77235133
Change-Id: I0af7895ce28fe58195845f2ad4c130956e3518e6
Reviewed-on: https://chromium-review.googlesource.com/986667
Commit-Queue: David Black <dmblack@google.com>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547581}
parent a869ea9b
# Temporary, since the IPC endpoint is just a skeleton.
per-file ash_assistant_controller.cc=set noparent
per-file ash_assistant_controller.cc=file://ipc/SECURITY_OWNERS
\ No newline at end of file
...@@ -36,6 +36,12 @@ void AshAssistantController::OnHtmlResponse(const std::string& response) { ...@@ -36,6 +36,12 @@ void AshAssistantController::OnHtmlResponse(const std::string& response) {
NOTIMPLEMENTED(); NOTIMPLEMENTED();
} }
void AshAssistantController::OnSuggestionsResponse(
const std::vector<std::string>& response) {
// TODO(dmblack): Handle.
NOTIMPLEMENTED();
}
void AshAssistantController::OnTextResponse(const std::string& response) { void AshAssistantController::OnTextResponse(const std::string& response) {
// TODO(dmblack): Handle. // TODO(dmblack): Handle.
NOTIMPLEMENTED(); NOTIMPLEMENTED();
......
...@@ -23,6 +23,7 @@ class AshAssistantController ...@@ -23,6 +23,7 @@ class AshAssistantController
// chromeos::assistant::mojom::AssistantEventSubscriber: // chromeos::assistant::mojom::AssistantEventSubscriber:
void OnHtmlResponse(const std::string& response) override; void OnHtmlResponse(const std::string& response) override;
void OnSuggestionsResponse(const std::vector<std::string>& response) override;
void OnTextResponse(const std::string& response) override; void OnTextResponse(const std::string& response) override;
void OnOpenUrlResponse(const GURL& url) override; void OnOpenUrlResponse(const GURL& url) override;
......
...@@ -79,25 +79,39 @@ void AssistantManagerServiceImpl::AddAssistantEventSubscriber( ...@@ -79,25 +79,39 @@ void AssistantManagerServiceImpl::AddAssistantEventSubscriber(
void AssistantManagerServiceImpl::OnShowHtml(const std::string& html) { void AssistantManagerServiceImpl::OnShowHtml(const std::string& html) {
main_thread_task_runner_->PostTask( main_thread_task_runner_->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&OnShowHtmlInternal, weak_factory_.GetWeakPtr(), html)); base::BindOnce(&AssistantManagerServiceImpl::OnShowHtmlOnMainThread,
weak_factory_.GetWeakPtr(), html));
}
void AssistantManagerServiceImpl::OnShowSuggestions(
const std::vector<std::string>& suggestions) {
main_thread_task_runner_->PostTask(
FROM_HERE,
base::BindOnce(
&AssistantManagerServiceImpl::OnShowSuggestionsOnMainThread,
weak_factory_.GetWeakPtr(), suggestions));
} }
void AssistantManagerServiceImpl::OnShowText(const std::string& text) { void AssistantManagerServiceImpl::OnShowText(const std::string& text) {
main_thread_task_runner_->PostTask( main_thread_task_runner_->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&OnShowTextInternal, weak_factory_.GetWeakPtr(), text)); base::BindOnce(&AssistantManagerServiceImpl::OnShowTextOnMainThread,
weak_factory_.GetWeakPtr(), text));
} }
void AssistantManagerServiceImpl::OnOpenUrl(const std::string& url) { void AssistantManagerServiceImpl::OnOpenUrl(const std::string& url) {
main_thread_task_runner_->PostTask( main_thread_task_runner_->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&OnOpenUrlInteranl, weak_factory_.GetWeakPtr(), url)); base::BindOnce(&AssistantManagerServiceImpl::OnOpenUrlOnMainThread,
weak_factory_.GetWeakPtr(), url));
} }
void AssistantManagerServiceImpl::OnSpeechLevelUpdated( void AssistantManagerServiceImpl::OnSpeechLevelUpdated(
const float speech_level) { const float speech_level) {
main_thread_task_runner_->PostTask( main_thread_task_runner_->PostTask(
FROM_HERE, base::BindOnce(&OnSpeechLevelUpdatedInternal, FROM_HERE,
base::BindOnce(
&AssistantManagerServiceImpl::OnSpeechLevelUpdatedOnMainThread,
weak_factory_.GetWeakPtr(), speech_level)); weak_factory_.GetWeakPtr(), speech_level));
} }
...@@ -137,45 +151,32 @@ std::string AssistantManagerServiceImpl::BuildUserAgent( ...@@ -137,45 +151,32 @@ std::string AssistantManagerServiceImpl::BuildUserAgent(
return user_agent; return user_agent;
} }
// static void AssistantManagerServiceImpl::OnShowHtmlOnMainThread(
void AssistantManagerServiceImpl::OnShowHtmlInternal(
const base::WeakPtr<AssistantManagerServiceImpl>& self,
const std::string& html) { const std::string& html) {
if (self) { subscribers_.ForAllPtrs([&html](auto* ptr) { ptr->OnHtmlResponse(html); });
self->subscribers_.ForAllPtrs(
[&html](auto* ptr) { ptr->OnHtmlResponse(html); });
}
} }
// static void AssistantManagerServiceImpl::OnShowSuggestionsOnMainThread(
void AssistantManagerServiceImpl::OnShowTextInternal( const std::vector<std::string>& suggestions) {
const base::WeakPtr<AssistantManagerServiceImpl>& self, subscribers_.ForAllPtrs(
[&suggestions](auto* ptr) { ptr->OnSuggestionsResponse(suggestions); });
}
void AssistantManagerServiceImpl::OnShowTextOnMainThread(
const std::string& text) { const std::string& text) {
if (self) { subscribers_.ForAllPtrs([&text](auto* ptr) { ptr->OnTextResponse(text); });
self->subscribers_.ForAllPtrs(
[&text](auto* ptr) { ptr->OnTextResponse(text); });
}
} }
// static void AssistantManagerServiceImpl::OnOpenUrlOnMainThread(
void AssistantManagerServiceImpl::OnOpenUrlInteranl(
const base::WeakPtr<AssistantManagerServiceImpl>& self,
const std::string& url) { const std::string& url) {
if (self) { subscribers_.ForAllPtrs(
self->subscribers_.ForAllPtrs(
[&url](auto* ptr) { ptr->OnOpenUrlResponse(GURL(url)); }); [&url](auto* ptr) { ptr->OnOpenUrlResponse(GURL(url)); });
}
} }
// static void AssistantManagerServiceImpl::OnSpeechLevelUpdatedOnMainThread(
void AssistantManagerServiceImpl::OnSpeechLevelUpdatedInternal(
const base::WeakPtr<AssistantManagerServiceImpl>& self,
const float speech_level) { const float speech_level) {
if (self) { subscribers_.ForAllPtrs(
self->subscribers_.ForAllPtrs([&speech_level](auto* ptr) { [&speech_level](auto* ptr) { ptr->OnSpeechLevelUpdated(speech_level); });
ptr->OnSpeechLevelUpdated(speech_level);
});
}
} }
} // namespace assistant } // namespace assistant
......
...@@ -48,6 +48,7 @@ class AssistantManagerServiceImpl ...@@ -48,6 +48,7 @@ class AssistantManagerServiceImpl
// AssistantActionObserver overrides: // AssistantActionObserver overrides:
void OnShowHtml(const std::string& html) override; void OnShowHtml(const std::string& html) override;
void OnShowSuggestions(const std::vector<std::string>& suggestions) override;
void OnShowText(const std::string& text) override; void OnShowText(const std::string& text) override;
void OnOpenUrl(const std::string& url) override; void OnOpenUrl(const std::string& url) override;
...@@ -59,18 +60,12 @@ class AssistantManagerServiceImpl ...@@ -59,18 +60,12 @@ class AssistantManagerServiceImpl
const std::string& arc_version); const std::string& arc_version);
std::string BuildUserAgent(const std::string& arc_version) const; std::string BuildUserAgent(const std::string& arc_version) const;
static void OnShowHtmlInternal( void OnShowHtmlOnMainThread(const std::string& html);
const base::WeakPtr<AssistantManagerServiceImpl>& self, void OnShowSuggestionsOnMainThread(
const std::string& html); const std::vector<std::string>& suggestions);
static void OnShowTextInternal( void OnShowTextOnMainThread(const std::string& text);
const base::WeakPtr<AssistantManagerServiceImpl>& self, void OnOpenUrlOnMainThread(const std::string& url);
const std::string& text); void OnSpeechLevelUpdatedOnMainThread(const float speech_level);
static void OnOpenUrlInteranl(
const base::WeakPtr<AssistantManagerServiceImpl>& self,
const std::string& url);
static void OnSpeechLevelUpdatedInternal(
const base::WeakPtr<AssistantManagerServiceImpl>& self,
const float speech_level);
bool running_ = false; bool running_ = false;
PlatformApiImpl platform_api_; PlatformApiImpl platform_api_;
......
...@@ -25,6 +25,9 @@ interface AssistantEventSubscriber { ...@@ -25,6 +25,9 @@ interface AssistantEventSubscriber {
// Assistant got Html response from server. // Assistant got Html response from server.
OnHtmlResponse(string response); OnHtmlResponse(string response);
// Assistant got suggestions response from server.
OnSuggestionsResponse(array<string> response);
// Assistant got text response from server. // Assistant got text response from server.
OnTextResponse(string response); OnTextResponse(string response);
......
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