summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc')
-rw-r--r--chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc51
1 files changed, 32 insertions, 19 deletions
diff --git a/chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc b/chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
index f53cede13a4..6979bd6f555 100644
--- a/chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
+++ b/chromium/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
@@ -56,28 +56,25 @@ AssistantOptInFlowScreenHandler::AssistantOptInFlowScreenHandler(
AssistantOptInFlowScreenHandler::~AssistantOptInFlowScreenHandler() {
if (client_binding_)
StopSpeakerIdEnrollment();
- if (arc::VoiceInteractionControllerClient::Get()) {
- arc::VoiceInteractionControllerClient::Get()->RemoveObserver(this);
- }
- if (screen_) {
+ if (ash::AssistantState::Get())
+ ash::AssistantState::Get()->RemoveObserver(this);
+ if (screen_)
screen_->OnViewDestroyed(this);
- }
}
void AssistantOptInFlowScreenHandler::DeclareLocalizedValues(
::login::LocalizedValuesBuilder* builder) {
builder->Add("locale", g_browser_process->GetApplicationLocale());
- builder->Add("assistantLogo", IDS_VOICE_INTERACTION_LOGO);
- builder->Add("assistantOptinLoading",
- IDS_VOICE_INTERACTION_VALUE_PROP_LOADING);
+ builder->Add("assistantLogo", IDS_ASSISTANT_LOGO);
+ builder->Add("assistantOptinLoading", IDS_ASSISTANT_VALUE_PROP_LOADING);
builder->Add("assistantOptinLoadErrorTitle",
- IDS_VOICE_INTERACTION_VALUE_PROP_LOAD_ERROR_TITLE);
+ IDS_ASSISTANT_VALUE_PROP_LOAD_ERROR_TITLE);
builder->Add("assistantOptinLoadErrorMessage",
- IDS_VOICE_INTERACTION_VALUE_PROP_LOAD_ERROR_MESSAGE);
+ IDS_ASSISTANT_VALUE_PROP_LOAD_ERROR_MESSAGE);
builder->Add("assistantOptinSkipButton",
- IDS_VOICE_INTERACTION_VALUE_PROP_SKIP_BUTTON);
+ IDS_ASSISTANT_VALUE_PROP_SKIP_BUTTON);
builder->Add("assistantOptinRetryButton",
- IDS_VOICE_INTERACTION_VALUE_PROP_RETRY_BUTTON);
+ IDS_ASSISTANT_VALUE_PROP_RETRY_BUTTON);
builder->Add("assistantVoiceMatchTitle", IDS_ASSISTANT_VOICE_MATCH_TITLE);
builder->Add("assistantVoiceMatchMessage", IDS_ASSISTANT_VOICE_MATCH_MESSAGE);
builder->Add("assistantVoiceMatchNoDspMessage",
@@ -149,6 +146,14 @@ void AssistantOptInFlowScreenHandler::RegisterMessages() {
&AssistantOptInFlowScreenHandler::HandleFlowInitialized);
}
+void AssistantOptInFlowScreenHandler::GetAdditionalParameters(
+ base::DictionaryValue* dict) {
+ dict->SetBoolean("hotwordDspAvailable", chromeos::IsHotwordDspAvailable());
+ dict->SetBoolean("voiceMatchDisabled",
+ chromeos::assistant::features::IsVoiceMatchDisabled());
+ BaseScreenHandler::GetAdditionalParameters(dict);
+}
+
void AssistantOptInFlowScreenHandler::Bind(AssistantOptInFlowScreen* screen) {
BaseScreenHandler::SetBaseScreen(screen);
screen_ = screen;
@@ -218,9 +223,9 @@ void AssistantOptInFlowScreenHandler::SetupAssistantConnection() {
// Make sure enable Assistant service since we need it during the flow.
prefs->SetBoolean(chromeos::assistant::prefs::kAssistantEnabled, true);
- if (arc::VoiceInteractionControllerClient::Get()->voice_interaction_state() ==
- ash::mojom::VoiceInteractionState::NOT_READY) {
- arc::VoiceInteractionControllerClient::Get()->AddObserver(this);
+ if (ash::AssistantState::Get()->assistant_state() ==
+ ash::mojom::AssistantState::NOT_READY) {
+ ash::AssistantState::Get()->AddObserver(this);
} else {
BindAssistantSettingsManager();
}
@@ -272,11 +277,11 @@ void AssistantOptInFlowScreenHandler::OnDialogClosed() {
}
}
-void AssistantOptInFlowScreenHandler::OnStateChanged(
- ash::mojom::VoiceInteractionState state) {
- if (state != ash::mojom::VoiceInteractionState::NOT_READY) {
+void AssistantOptInFlowScreenHandler::OnAssistantStatusChanged(
+ ash::mojom::AssistantState state) {
+ if (state != ash::mojom::AssistantState::NOT_READY) {
BindAssistantSettingsManager();
- arc::VoiceInteractionControllerClient::Get()->RemoveObserver(this);
+ ash::AssistantState::Get()->RemoveObserver(this);
}
}
@@ -326,6 +331,14 @@ void AssistantOptInFlowScreenHandler::OnGetSettingsResponse(
UMA_HISTOGRAM_TIMES("Assistant.OptInFlow.GetSettingsRequestTime",
time_since_request_sent);
+ if (ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
+ assistant::prefs::kAssistantDisabledByPolicy)) {
+ DVLOG(1) << "Assistant is disabled by domain policy. Skip Assistant "
+ "opt-in flow.";
+ HandleFlowFinished();
+ return;
+ }
+
assistant::SettingsUi settings_ui;
if (!settings_ui.ParseFromString(settings)) {
LOG(ERROR) << "Failed to parse get settings response.";