Commit e3f29527 authored by Jeroen Dhollander's avatar Jeroen Dhollander Committed by Commit Bot

Uprev LibAssistant to 1.46s

The current LibAssistant branch (1.42c) is no longer maintained,
and also does not contain the latest features.

   * This will only be landed after M83 branches
   * This depends on the internal changes to land first

Note: 
Bug: b/152777569
Change-Id: Ic34b6ca3ba1d793c719ebb58ab9766e943fc5ec6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2134617
Commit-Queue: Jeroen Dhollander <jeroendh@google.com>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758408}
parent 24d4f09a
......@@ -454,12 +454,9 @@ void AssistantManagerServiceImpl::StartWarmerWelcomeInteraction(
void AssistantManagerServiceImpl::StartEditReminderInteraction(
const std::string& client_id) {
const std::string interaction = CreateEditReminderInteraction(client_id);
assistant_client::VoicelessOptions voiceless_options;
voiceless_options.is_user_initiated = true;
assistant_manager_internal_->SendVoicelessInteraction(
interaction, std::string(), voiceless_options, [](auto) {});
SendVoicelessInteraction(CreateEditReminderInteraction(client_id),
/*description=*/std::string(),
/*is_user_initiated=*/true);
}
void AssistantManagerServiceImpl::StartScreenContextInteraction(
......@@ -528,11 +525,9 @@ void AssistantManagerServiceImpl::RetrieveNotification(
SerializeNotificationRequestInteraction(
notification_id, consistency_token, opaque_token, action_index);
assistant_client::VoicelessOptions options;
options.is_user_initiated = true;
assistant_manager_internal_->SendVoicelessInteraction(
request_interaction, "RequestNotification", options, [](auto) {});
SendVoicelessInteraction(request_interaction,
/*description=*/"RequestNotification",
/*is_user_initiated=*/true);
}
void AssistantManagerServiceImpl::DismissNotification(
......@@ -555,7 +550,8 @@ void AssistantManagerServiceImpl::DismissNotification(
options.obfuscated_gaia_id = notification->obfuscated_gaia_id;
assistant_manager_internal_->SendVoicelessInteraction(
dismissed_interaction, "DismissNotification", options, [](auto) {});
dismissed_interaction, /*description=*/"DismissNotification", options,
[](auto) {});
}
void AssistantManagerServiceImpl::OnConversationTurnStartedInternal(
......@@ -646,6 +642,10 @@ void AssistantManagerServiceImpl::OnConversationTurnFinished(
mojom::AssistantInteractionResolution::kMultiDeviceHotwordLoss);
}
break;
// This is only applicable in longform barge-in mode, which we do not use.
case Resolution::LONGFORM_KEEP_MIC_OPEN:
NOTREACHED();
break;
}
}
......@@ -1041,10 +1041,10 @@ void HandleSliderChange(api::client_op::ModifySettingArgs modify_setting_args,
LogUnsupportedChange(modify_setting_args);
}
void AssistantManagerServiceImpl::OnModifySettingsAction(
const std::string& modify_setting_args_proto) {
api::client_op::ModifySettingArgs modify_setting_args;
modify_setting_args.ParseFromString(modify_setting_args_proto);
void AssistantManagerServiceImpl::OnModifyDeviceSetting(
const api::client_op::ModifySettingArgs& modify_setting_args) {
ENSURE_MAIN_THREAD(&AssistantManagerServiceImpl::OnModifyDeviceSetting,
modify_setting_args);
DCHECK(IsSettingSupported(modify_setting_args.setting_id()));
receive_modify_settings_proto_response_ = true;
......@@ -1109,14 +1109,18 @@ void AssistantManagerServiceImpl::OnModifySettingsAction(
}
}
ActionModule::Result AssistantManagerServiceImpl::HandleModifySettingClientOp(
const std::string& modify_setting_args_proto) {
DVLOG(2) << "HandleModifySettingClientOp=" << modify_setting_args_proto;
main_task_runner()->PostTask(
FROM_HERE,
base::BindOnce(&AssistantManagerServiceImpl::OnModifySettingsAction,
weak_factory_.GetWeakPtr(), modify_setting_args_proto));
return ActionModule::Result::Ok();
void AssistantManagerServiceImpl::OnGetDeviceSettings(
int interaction_id,
const api::client_op::GetDeviceSettingsArgs& args) {
// Collect the required information.
std::vector<DeviceSetting> result;
for (const std::string& setting_id : args.setting_ids())
result.emplace_back(setting_id, IsSettingSupported(setting_id));
SendVoicelessInteraction(
CreateGetDeviceSettingInteraction(interaction_id, result),
/*description=*/"get_settings_result",
/*is_user_initiated=*/true);
}
bool AssistantManagerServiceImpl::IsSettingSupported(
......@@ -1184,6 +1188,8 @@ void AssistantManagerServiceImpl::StartAssistantInternal(
UpdateInternalOptions(new_assistant_manager_internal_);
new_assistant_manager_internal_->SetLocaleOverride(
GetLocaleOrDefault(assistant_state()->locale().value()));
new_assistant_manager_internal_->SetDisplayConnection(
new_display_connection_.get());
new_assistant_manager_internal_->RegisterActionModule(action_module_.get());
......@@ -1259,7 +1265,8 @@ void AssistantManagerServiceImpl::HandleOpenAndroidAppResponse(
options.obfuscated_gaia_id = interaction.user_id;
assistant_manager_internal_->SendVoicelessInteraction(
interaction_proto, "open_provider_response", options, [](auto) {});
interaction_proto, /*description=*/"open_provider_response", options,
[](auto) {});
}
void AssistantManagerServiceImpl::HandleVerifyAndroidAppResponse(
......@@ -1281,7 +1288,8 @@ void AssistantManagerServiceImpl::HandleVerifyAndroidAppResponse(
options.is_user_initiated = true;
assistant_manager_internal_->SendVoicelessInteraction(
interaction_proto, "verify_provider_response", options, [](auto) {});
interaction_proto, /*description=*/"verify_provider_response", options,
[](auto) {});
}
// This method runs on the LibAssistant thread.
......@@ -1349,15 +1357,6 @@ void AssistantManagerServiceImpl::UpdateInternalOptions(
internal_options->SetClientControlEnabled(
assistant::features::IsRoutinesEnabled());
// TODO(meilinw): remove this logic and instead use the new config flag
// once we uprev.
if (chromeos::features::IsAmbientModeEnabled() ||
base::CommandLine::ForCurrentProcess()->HasSwitch(
chromeos::switches::kDisableGaiaServices)) {
internal_options->SetUserCredentialMode(
assistant_client::InternalOptions::UserCredentialMode::SIGNED_OUT);
}
if (!features::IsVoiceMatchDisabled())
internal_options->EnableRequireVoiceMatchVerification();
......@@ -1493,6 +1492,18 @@ std::string AssistantManagerServiceImpl::ConsumeLastTriggerSource() {
return trigger_source;
}
void AssistantManagerServiceImpl::SendVoicelessInteraction(
const std::string& interaction,
const std::string& description,
bool is_user_initiated) {
assistant_client::VoicelessOptions voiceless_options;
voiceless_options.is_user_initiated = is_user_initiated;
assistant_manager_internal_->SendVoicelessInteraction(
interaction, description, voiceless_options, [](auto) {});
}
std::string AssistantManagerServiceImpl::GetLastSearchSource() {
return ConsumeLastTriggerSource();
}
......@@ -1541,13 +1552,10 @@ void AssistantManagerServiceImpl::SendAssistantFeedback(
const std::string interaction = CreateSendFeedbackInteraction(
assistant_feedback->assistant_debug_info_allowed,
assistant_feedback->description, assistant_feedback->screenshot_png);
assistant_client::VoicelessOptions voiceless_options;
voiceless_options.is_user_initiated = false;
assistant_manager_internal_->SendVoicelessInteraction(
interaction, "send feedback with details", voiceless_options,
[](auto) {});
SendVoicelessInteraction(interaction,
/*description=*/"send feedback with details",
/*is_user_initiated=*/false);
}
void AssistantManagerServiceImpl::UpdateMediaState() {
......
......@@ -171,6 +171,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl
const action::InteractionInfo& interaction) override;
void OnVerifyAndroidApp(const std::vector<action::AndroidAppInfo>& apps_info,
const action::InteractionInfo& interaction) override;
void OnModifyDeviceSetting(
const ::assistant::api::client_op::ModifySettingArgs& args) override;
void OnGetDeviceSettings(
int interaction_id,
const ::assistant::api::client_op::GetDeviceSettingsArgs& args) override;
// AssistantEventObserver overrides:
void OnSpeechLevelUpdated(float speech_level) override;
......@@ -186,8 +191,6 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl
void OnRespondingStarted(bool is_error_response) override;
// AssistantManagerDelegate overrides:
assistant_client::ActionModule::Result HandleModifySettingClientOp(
const std::string& modify_setting_args_proto) override;
bool IsSettingSupported(const std::string& setting_id) override;
bool SupportsModifySettings() override;
void OnConversationTurnStartedInternal(
......@@ -293,6 +296,10 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl
std::string ConsumeLastTriggerSource();
void SendVoicelessInteraction(const std::string& interaction,
const std::string& description,
bool is_user_initiated);
ash::mojom::AssistantAlarmTimerController* assistant_alarm_timer_controller();
ash::mojom::AssistantNotificationController*
assistant_notification_controller();
......
......@@ -113,6 +113,15 @@ std::string CreateLibAssistantConfig(
// Enable logging.
internal.SetBoolKey("enable_logging", true);
// This only enables logging to local disk combined with the flag above. When
// user choose to file a Feedback report, user can examine the log and choose
// to upload the log with the report or not.
internal.SetBoolKey("logging_opt_in", true);
// Allows libassistant to automatically toggle signed-out mode depending on
// whether it has auth_tokens.
internal.SetBoolKey("enable_signed_out_mode", true);
config.SetKey("internal", std::move(internal));
Value audio_input(Type::DICTIONARY);
......
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