Chromium Code Reviews| Index: chrome/browser/ui/webui/options/browser_options_handler.cc |
| diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc |
| index 330dd20e211805e13677b85f86d296e93fc11e5d..0ad413696f1b12843139e442062816369558b641 100644 |
| --- a/chrome/browser/ui/webui/options/browser_options_handler.cc |
| +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc |
| @@ -746,6 +746,12 @@ void BrowserOptionsHandler::RegisterMessages() { |
| base::Unretained(this))); |
| web_ui()->RegisterMessageCallback( |
| + "launchHotwordAudioVerificationApp", |
| + base::Bind( |
| + &BrowserOptionsHandler::HandleLaunchHotwordAudioVerificationApp, |
| + base::Unretained(this))); |
| + |
| + web_ui()->RegisterMessageCallback( |
| "launchEasyUnlockSetup", |
| base::Bind(&BrowserOptionsHandler::HandleLaunchEasyUnlockSetup, |
| base::Unretained(this))); |
| @@ -1623,6 +1629,42 @@ void BrowserOptionsHandler::HandleRequestHotwordAvailable( |
| } |
| } |
| +void BrowserOptionsHandler::HandleLaunchHotwordAudioVerificationApp( |
| + const base::ListValue* args) { |
| + Profile* profile = Profile::FromWebUI(web_ui()); |
| + HotwordService* hotword_service = |
| + HotwordServiceFactory::GetForProfile(profile); |
| + DCHECK(hotword_service); |
|
Dan Beam
2014/09/23 18:45:18
^ can you move |hotword_service|'s initialization
kcarattini
2014/09/23 23:56:50
Done.
|
| + |
| + bool retrain = false; |
| + bool success = args->GetBoolean(0, &retrain); |
| + DCHECK(success); |
| + HotwordService::LaunchMode launch_mode = |
| + HotwordService::HOTWORD_AND_AUDIO_HISTORY; |
| + |
| + if (retrain) { |
| + DCHECK(profile->GetPrefs()->GetBoolean( |
| + prefs::kHotwordAlwaysOnSearchEnabled)); |
| + DCHECK(profile->GetPrefs()->GetBoolean( |
| + prefs::kHotwordAudioLoggingEnabled)); |
| + |
| + launch_mode = HotwordService::SPEECH_TRAINING; |
| + } else if (profile->GetPrefs()->GetBoolean( |
| + prefs::kHotwordAudioLoggingEnabled)) { |
| + DCHECK(!profile->GetPrefs()->GetBoolean( |
| + prefs::kHotwordAlwaysOnSearchEnabled)); |
| + |
| + // TODO(kcarattini): Make sure the Chrome Audio Logging pref is synced |
| + // to the account-level Audio History setting from footprints. |
| + launch_mode = HotwordService::HOTWORD_ONLY; |
| + } else { |
| + DCHECK(!profile->GetPrefs()->GetBoolean( |
| + prefs::kHotwordAlwaysOnSearchEnabled)); |
| + } |
| + |
| + hotword_service->LaunchHotwordAudioVerificationApp(launch_mode); |
| +} |
| + |
| void BrowserOptionsHandler::HandleLaunchEasyUnlockSetup( |
| const base::ListValue* args) { |
| EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->LaunchSetup(); |