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 @@ ...@@ -31,6 +31,7 @@
#include "chromeos/services/assistant/media_session/assistant_media_session.h" #include "chromeos/services/assistant/media_session/assistant_media_session.h"
#include "chromeos/services/assistant/platform_api_impl.h" #include "chromeos/services/assistant/platform_api_impl.h"
#include "chromeos/services/assistant/public/features.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/service_context.h"
#include "chromeos/services/assistant/utils.h" #include "chromeos/services/assistant/utils.h"
#include "chromeos/strings/grit/chromeos_strings.h" #include "chromeos/strings/grit/chromeos_strings.h"
...@@ -409,6 +410,12 @@ void AssistantManagerServiceImpl::StartWarmerWelcomeInteraction( ...@@ -409,6 +410,12 @@ void AssistantManagerServiceImpl::StartWarmerWelcomeInteraction(
allow_tts ? assistant_client::VoicelessOptions::Modality::VOICE_MODALITY allow_tts ? assistant_client::VoicelessOptions::Modality::VOICE_MODALITY
: assistant_client::VoicelessOptions::Modality::TYPING_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( assistant_manager_internal_->SendVoicelessInteraction(
interaction, /*description=*/"warmer_welcome_trigger", options, interaction, /*description=*/"warmer_welcome_trigger", options,
[](auto) {}); [](auto) {});
...@@ -466,9 +473,7 @@ void AssistantManagerServiceImpl::StartTextInteraction( ...@@ -466,9 +473,7 @@ void AssistantManagerServiceImpl::StartTextInteraction(
// Cache metadata about this interaction that can be resolved when the // Cache metadata about this interaction that can be resolved when the
// associated conversation turn starts in LibAssistant. // associated conversation turn starts in LibAssistant.
options.conversation_turn_id = base::NumberToString(next_interaction_id_++); options.conversation_turn_id = NewPendingInteraction(
pending_interactions_[options.conversation_turn_id] =
mojom::AssistantInteractionMetadata::New(
mojom::AssistantInteractionType::kText, source, query); mojom::AssistantInteractionType::kText, source, query);
if (base::FeatureList::IsEnabled( if (base::FeatureList::IsEnabled(
...@@ -1632,6 +1637,16 @@ void AssistantManagerServiceImpl::UpdateMediaState() { ...@@ -1632,6 +1637,16 @@ void AssistantManagerServiceImpl::UpdateMediaState() {
media_manager->SetExternalPlaybackState(media_status); 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* ash::mojom::AssistantAlarmTimerController*
AssistantManagerServiceImpl::assistant_alarm_timer_controller() { AssistantManagerServiceImpl::assistant_alarm_timer_controller() {
return context_->assistant_alarm_timer_controller(); return context_->assistant_alarm_timer_controller();
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "chromeos/services/assistant/assistant_manager_service.h" #include "chromeos/services/assistant/assistant_manager_service.h"
#include "chromeos/services/assistant/assistant_settings_manager_impl.h" #include "chromeos/services/assistant/assistant_settings_manager_impl.h"
#include "chromeos/services/assistant/chromium_api_delegate.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 "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "libassistant/shared/internal_api/assistant_manager_delegate.h" #include "libassistant/shared/internal_api/assistant_manager_delegate.h"
#include "libassistant/shared/public/conversation_state_listener.h" #include "libassistant/shared/public/conversation_state_listener.h"
...@@ -290,6 +291,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl ...@@ -290,6 +291,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl
void UpdateMediaState(); 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::AssistantAlarmTimerController* assistant_alarm_timer_controller();
ash::mojom::AssistantNotificationController* ash::mojom::AssistantNotificationController*
assistant_notification_controller(); assistant_notification_controller();
......
...@@ -164,6 +164,7 @@ enum AssistantQuerySource { ...@@ -164,6 +164,7 @@ enum AssistantQuerySource {
kVoiceInput = 5, kVoiceInput = 5,
kProactiveSuggestions = 6, kProactiveSuggestions = 6,
kLibAssistantInitiated = 7, kLibAssistantInitiated = 7,
kWarmerWelcome = 8,
}; };
// Subscribes to Assistant's interaction event. These events are server driven // Subscribes to Assistant's interaction event. These events are server driven
......
...@@ -3033,6 +3033,7 @@ Unknown properties are collapsed to zero. --> ...@@ -3033,6 +3033,7 @@ Unknown properties are collapsed to zero. -->
<int value="5" label="kVoiceInput"/> <int value="5" label="kVoiceInput"/>
<int value="6" label="kProactiveSuggestions"/> <int value="6" label="kProactiveSuggestions"/>
<int value="7" label="kLibAssistantInitiated"/> <int value="7" label="kLibAssistantInitiated"/>
<int value="8" label="kWarmerWelcome"/>
</enum> </enum>
<enum name="AsyncDNSConfigParsePosix"> <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