Commit 439c20cc authored by Yue Li's avatar Yue Li Committed by Commit Bot

Update Assistant voice match training logics

No longer need to wait for Assistant restart when toggle Hotword.

Bug: b/123363474
Test: Manual Test
Change-Id: Ibc89f44e52c4dab2b18a95cf53c2d7d8b4b1109b
Reviewed-on: https://chromium-review.googlesource.com/c/1480815Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Yue Li <updowndota@chromium.org>
Cr-Commit-Position: refs/heads/master@{#634405}
parent c57e36e2
...@@ -240,15 +240,7 @@ void AssistantOptInFlowScreenHandler::OnEmailOptInResult(bool opted_in) { ...@@ -240,15 +240,7 @@ void AssistantOptInFlowScreenHandler::OnEmailOptInResult(bool opted_in) {
void AssistantOptInFlowScreenHandler::OnStateChanged( void AssistantOptInFlowScreenHandler::OnStateChanged(
ash::mojom::VoiceInteractionState state) { ash::mojom::VoiceInteractionState state) {
if (state != ash::mojom::VoiceInteractionState::NOT_READY) { if (state != ash::mojom::VoiceInteractionState::NOT_READY) {
if (voice_enrollment_pending) { BindAssistantSettingsManager();
voice_enrollment_pending = false;
DCHECK(settings_manager_.is_bound() &&
base::FeatureList::IsEnabled(
assistant::features::kAssistantVoiceMatch));
settings_manager_->StartSpeakerIdEnrollment(true, std::move(client_ptr_));
} else {
BindAssistantSettingsManager();
}
arc::VoiceInteractionControllerClient::Get()->RemoveObserver(this); arc::VoiceInteractionControllerClient::Get()->RemoveObserver(this);
} }
} }
...@@ -449,14 +441,9 @@ void AssistantOptInFlowScreenHandler::HandleVoiceMatchScreenUserAction( ...@@ -449,14 +441,9 @@ void AssistantOptInFlowScreenHandler::HandleVoiceMatchScreenUserAction(
ShowNextScreen(); ShowNextScreen();
} else if (action == kRecordPressed) { } else if (action == kRecordPressed) {
if (!prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)) { if (!prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)) {
// Turn on hotword will restart the Assistant service. Thus the enrollment
// request should be sent after the service restart complete.
voice_enrollment_pending = true;
prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, true); prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, true);
arc::VoiceInteractionControllerClient::Get()->AddObserver(this);
} else {
settings_manager_->StartSpeakerIdEnrollment(true, std::move(client_ptr_));
} }
settings_manager_->StartSpeakerIdEnrollment(true, std::move(client_ptr_));
} }
} }
......
...@@ -130,9 +130,6 @@ class AssistantOptInFlowScreenHandler ...@@ -130,9 +130,6 @@ class AssistantOptInFlowScreenHandler
// Whether the screen has been initialized. // Whether the screen has been initialized.
bool initialized_ = false; bool initialized_ = false;
// Whether there is a pending voice match enrollment request.
bool voice_enrollment_pending = false;
mojo::Binding<assistant::mojom::SpeakerIdEnrollmentClient> client_binding_; mojo::Binding<assistant::mojom::SpeakerIdEnrollmentClient> client_binding_;
assistant::mojom::SpeakerIdEnrollmentClientPtr client_ptr_; assistant::mojom::SpeakerIdEnrollmentClientPtr client_ptr_;
assistant::mojom::AssistantSettingsManagerPtr settings_manager_; assistant::mojom::AssistantSettingsManagerPtr settings_manager_;
......
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