Commit 938e5bb1 authored by David Black's avatar David Black Committed by Commit Bot

Handle OnShowContextualQueryFallback.

See associated CL and description details in:
https://chrome-internal-review.googlesource.com/c/chrome/assistant/+/669327

Bug: b:113541754
Change-Id: Icbab2c753c0e3b0c3f3797a5a85f52fb210e9cf3
Reviewed-on: https://chromium-review.googlesource.com/1196222Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Commit-Queue: David Black <dmblack@google.com>
Cr-Commit-Position: refs/heads/master@{#587766}
parent ff295b50
......@@ -120,6 +120,13 @@
</translations>
<release seq="1" allow_pseudo="false">
<messages fallback_to_english="true">
<message name="IDS_ASSISTANT_SCREEN_CONTEXT_QUERY_FALLBACK_TEXT" desc="Message shown in Assistant UI when a query for content related to the screen context returns no results.">
I can't find anything on your screen I can help with.
Try tapping the mic to ask me anything.
</message>
<message name="IDS_ASSISTANT_SCREEN_CONTEXT_QUERY_FALLBACK_CARD" desc="Message shown in Assistant UI when a query for content related to the screen context returns no results.">
Nothing found on screen
</message>
<message name="IDS_ASSISTANT_TIMER_NOTIFICATION_TITLE" desc="Title for assistant timer notification.">
Timer done
</message>
......
......@@ -318,6 +318,50 @@ void AssistantManagerServiceImpl::OnConversationTurnFinished(
weak_factory_.GetWeakPtr(), resolution));
}
// TODO(b/113541754): Deprecate this API when the server provides a fallback.
void AssistantManagerServiceImpl::OnShowContextualQueryFallback() {
// Show fallback text.
main_thread_task_runner_->PostTask(
FROM_HERE,
base::BindOnce(&AssistantManagerServiceImpl::OnShowTextOnMainThread,
weak_factory_.GetWeakPtr(),
l10n_util::GetStringUTF8(
IDS_ASSISTANT_SCREEN_CONTEXT_QUERY_FALLBACK_TEXT)));
// Construct a fallback card.
std::stringstream html;
html << R"(
<html>
<head><meta CHARSET='utf-8'></head>
<body>
<style>
* {
cursor: default;
font-family: Google Sans, sans-serif;
user-select: none;
}
html, body { margin: 0; padding: 0; }
div {
border: 1px solid rgba(32, 33, 36, 0.08);
border-radius: 12px;
color: #5F6368;
font-size: 13px;
padding: 16px;
text-align: center;
}
</style>
<div>)"
<< l10n_util::GetStringUTF8(
IDS_ASSISTANT_SCREEN_CONTEXT_QUERY_FALLBACK_CARD)
<< "</div></body></html>";
// Show fallback card.
main_thread_task_runner_->PostTask(
FROM_HERE,
base::BindOnce(&AssistantManagerServiceImpl::OnShowHtmlOnMainThread,
weak_factory_.GetWeakPtr(), html.str()));
}
void AssistantManagerServiceImpl::OnShowHtml(const std::string& html) {
main_thread_task_runner_->PostTask(
FROM_HERE,
......
......@@ -96,6 +96,7 @@ class AssistantManagerServiceImpl
void CacheScreenContext(CacheScreenContextCallback callback) override;
// AssistantActionObserver overrides:
void OnShowContextualQueryFallback() override;
void OnShowHtml(const std::string& html) override;
void OnShowSuggestions(
const std::vector<action::Suggestion>& suggestions) override;
......
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