Chromium Code Reviews| Index: chrome/browser/ui/app_list/app_list_view_delegate.cc |
| diff --git a/chrome/browser/ui/app_list/app_list_view_delegate.cc b/chrome/browser/ui/app_list/app_list_view_delegate.cc |
| index e9c2a506db15c089ce73fac5ff2b413ec42bd218..ba85a0c13689753b373cd546ce3949455ba51cfe 100644 |
| --- a/chrome/browser/ui/app_list/app_list_view_delegate.cc |
| +++ b/chrome/browser/ui/app_list/app_list_view_delegate.cc |
| @@ -16,6 +16,8 @@ |
| #include "chrome/browser/feedback/feedback_util.h" |
| #include "chrome/browser/profiles/profile_info_cache.h" |
| #include "chrome/browser/profiles/profile_manager.h" |
| +#include "chrome/browser/search/hotword_service.h" |
| +#include "chrome/browser/search/hotword_service_factory.h" |
| #include "chrome/browser/ui/app_list/app_list_controller_delegate.h" |
| #include "chrome/browser/ui/app_list/app_list_service.h" |
| #include "chrome/browser/ui/app_list/app_list_syncable_service.h" |
| @@ -143,6 +145,24 @@ AppListViewDelegate::~AppListViewDelegate() { |
| search_controller_.reset(); |
| } |
| +void AppListViewDelegate::OnHotwordStateChanged(bool enabled) { |
| + if (enabled) { |
| + if (speech_ui_->state() == app_list::SPEECH_RECOGNITION_READY) { |
| + OnSpeechRecognitionStateChanged( |
| + app_list::SPEECH_RECOGNITION_HOTWORD_LISTENING); |
| + } |
| + } else { |
| + if (speech_ui_->state() == app_list::SPEECH_RECOGNITION_HOTWORD_LISTENING) |
|
rpetterson
2014/05/05 19:43:36
I'm confused by what the "enabled" parameter is re
Jun Mukai
2014/05/05 20:00:55
good catch. changed to use 'started' everywhere
|
| + OnSpeechRecognitionStateChanged(app_list::SPEECH_RECOGNITION_READY); |
| + } |
| +} |
| + |
| +void AppListViewDelegate::OnHotwordRecognized() { |
| + DCHECK_EQ(app_list::SPEECH_RECOGNITION_HOTWORD_LISTENING, |
| + speech_ui_->state()); |
| + ToggleSpeechRecognition(); |
| +} |
| + |
| void AppListViewDelegate::SigninManagerCreated(SigninManagerBase* manager) { |
| scoped_observer_.Add(manager); |
| } |
| @@ -290,8 +310,15 @@ void AppListViewDelegate::AutoLaunchCanceled() { |
| void AppListViewDelegate::ViewInitialized() { |
| app_list::StartPageService* service = |
| app_list::StartPageService::Get(profile_); |
| - if (service) |
| + if (service) { |
| service->AppListShown(); |
| + if (service->HotwordEnabled()) { |
| + HotwordService* hotword_service = |
| + HotwordServiceFactory::GetForProfile(profile_); |
| + if (hotword_service) |
| + hotword_service->RequestHotwordSession(this); |
| + } |
| + } |
| } |
| void AppListViewDelegate::Dismiss() { |
| @@ -303,8 +330,15 @@ void AppListViewDelegate::ViewClosing() { |
| app_list::StartPageService* service = |
| app_list::StartPageService::Get(profile_); |
| - if (service) |
| + if (service) { |
| service->AppListHidden(); |
| + if (service->HotwordEnabled()) { |
| + HotwordService* hotword_service = |
| + HotwordServiceFactory::GetForProfile(profile_); |
| + if (hotword_service) |
| + hotword_service->StopHotwordSession(this); |
| + } |
| + } |
| } |
| gfx::ImageSkia AppListViewDelegate::GetWindowIcon() { |