Commit 98ef1d68 authored by Xiaohui Chen's avatar Xiaohui Chen Committed by Commit Bot

assistant: add query source warmer_welcome

Bug: None
Test: locally build and see histogram recorded
Change-Id: I09096840496378551ad84301972d46c2f77d060d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879654Reviewed-by: default avatarSam McNally <sammc@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Commit-Queue: Xiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709549}
parent 2e720fc7
......@@ -31,6 +31,7 @@
#include "chromeos/services/assistant/media_session/assistant_media_session.h"
#include "chromeos/services/assistant/platform_api_impl.h"
#include "chromeos/services/assistant/public/features.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom-shared.h"
#include "chromeos/services/assistant/service_context.h"
#include "chromeos/services/assistant/utils.h"
#include "chromeos/strings/grit/chromeos_strings.h"
......@@ -409,6 +410,12 @@ void AssistantManagerServiceImpl::StartWarmerWelcomeInteraction(
allow_tts ? assistant_client::VoicelessOptions::Modality::VOICE_MODALITY
: assistant_client::VoicelessOptions::Modality::TYPING_MODALITY;
auto interaction_type = allow_tts ? mojom::AssistantInteractionType::kVoice
: mojom::AssistantInteractionType::kText;
options.conversation_turn_id = NewPendingInteraction(
interaction_type, mojom::AssistantQuerySource::kWarmerWelcome,
/*query=*/std::string());
assistant_manager_internal_->SendVoicelessInteraction(
interaction, /*description=*/"warmer_welcome_trigger", options,
[](auto) {});
......@@ -466,10 +473,8 @@ void AssistantManagerServiceImpl::StartTextInteraction(
// Cache metadata about this interaction that can be resolved when the
// associated conversation turn starts in LibAssistant.
options.conversation_turn_id = base::NumberToString(next_interaction_id_++);
pending_interactions_[options.conversation_turn_id] =
mojom::AssistantInteractionMetadata::New(
mojom::AssistantInteractionType::kText, source, query);
options.conversation_turn_id = NewPendingInteraction(
mojom::AssistantInteractionType::kText, source, query);
if (base::FeatureList::IsEnabled(
assistant::features::kEnableTextQueriesWithClientDiscourseContext) &&
......@@ -1632,6 +1637,16 @@ void AssistantManagerServiceImpl::UpdateMediaState() {
media_manager->SetExternalPlaybackState(media_status);
}
std::string AssistantManagerServiceImpl::NewPendingInteraction(
mojom::AssistantInteractionType interaction_type,
mojom::AssistantQuerySource source,
const std::string& query) {
auto id = base::NumberToString(next_interaction_id_++);
pending_interactions_[id] =
mojom::AssistantInteractionMetadata::New(interaction_type, source, query);
return id;
}
ash::mojom::AssistantAlarmTimerController*
AssistantManagerServiceImpl::assistant_alarm_timer_controller() {
return context_->assistant_alarm_timer_controller();
......
......@@ -20,6 +20,7 @@
#include "chromeos/services/assistant/assistant_manager_service.h"
#include "chromeos/services/assistant/assistant_settings_manager_impl.h"
#include "chromeos/services/assistant/chromium_api_delegate.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom-shared.h"
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "libassistant/shared/internal_api/assistant_manager_delegate.h"
#include "libassistant/shared/public/conversation_state_listener.h"
......@@ -290,6 +291,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl
void UpdateMediaState();
std::string NewPendingInteraction(
mojom::AssistantInteractionType interaction_type,
mojom::AssistantQuerySource source,
const std::string& query);
ash::mojom::AssistantAlarmTimerController* assistant_alarm_timer_controller();
ash::mojom::AssistantNotificationController*
assistant_notification_controller();
......
......@@ -164,6 +164,7 @@ enum AssistantQuerySource {
kVoiceInput = 5,
kProactiveSuggestions = 6,
kLibAssistantInitiated = 7,
kWarmerWelcome = 8,
};
// Subscribes to Assistant's interaction event. These events are server driven
......
......@@ -3033,6 +3033,7 @@ Unknown properties are collapsed to zero. -->
<int value="5" label="kVoiceInput"/>
<int value="6" label="kProactiveSuggestions"/>
<int value="7" label="kLibAssistantInitiated"/>
<int value="8" label="kWarmerWelcome"/>
</enum>
<enum name="AsyncDNSConfigParsePosix">
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