OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/search/hotword_service.h" | 5 #include "chrome/browser/search/hotword_service.h" |
6 | 6 |
7 #include "base/i18n/case_conversion.h" | 7 #include "base/i18n/case_conversion.h" |
8 #include "base/metrics/field_trial.h" | 8 #include "base/metrics/field_trial.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 #if defined(ENABLE_EXTENSIONS) | 38 #if defined(ENABLE_EXTENSIONS) |
39 using extensions::BrowserContextKeyedAPIFactory; | 39 using extensions::BrowserContextKeyedAPIFactory; |
40 using extensions::HotwordPrivateEventService; | 40 using extensions::HotwordPrivateEventService; |
41 #endif | 41 #endif |
42 | 42 |
43 namespace { | 43 namespace { |
44 | 44 |
45 // Allowed languages for hotwording. | 45 // Allowed languages for hotwording. |
46 static const char* kSupportedLocales[] = { | 46 static const char* kSupportedLocales[] = { |
47 "en", | 47 "en", |
48 "en_us", | 48 "de", |
| 49 "fr", |
| 50 "ru" |
49 }; | 51 }; |
50 | 52 |
51 // Enum describing the state of the hotword preference. | 53 // Enum describing the state of the hotword preference. |
52 // This is used for UMA stats -- do not reorder or delete items; only add to | 54 // This is used for UMA stats -- do not reorder or delete items; only add to |
53 // the end. | 55 // the end. |
54 enum HotwordEnabled { | 56 enum HotwordEnabled { |
55 UNSET = 0, // The hotword preference has not been set. | 57 UNSET = 0, // The hotword preference has not been set. |
56 ENABLED, // The hotword preference is enabled. | 58 ENABLED, // The hotword preference is enabled. |
57 DISABLED, // The hotword preference is disabled. | 59 DISABLED, // The hotword preference is disabled. |
58 NUM_HOTWORD_ENABLED_METRICS | 60 NUM_HOTWORD_ENABLED_METRICS |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 #if defined(OS_CHROMEOS) | 161 #if defined(OS_CHROMEOS) |
160 // On ChromeOS locale is per-profile. | 162 // On ChromeOS locale is per-profile. |
161 profile->GetPrefs()->GetString(prefs::kApplicationLocale); | 163 profile->GetPrefs()->GetString(prefs::kApplicationLocale); |
162 #else | 164 #else |
163 g_browser_process->GetApplicationLocale(); | 165 g_browser_process->GetApplicationLocale(); |
164 #endif | 166 #endif |
165 std::string normalized_locale = l10n_util::NormalizeLocale(locale); | 167 std::string normalized_locale = l10n_util::NormalizeLocale(locale); |
166 StringToLowerASCII(&normalized_locale); | 168 StringToLowerASCII(&normalized_locale); |
167 | 169 |
168 for (size_t i = 0; i < arraysize(kSupportedLocales); i++) { | 170 for (size_t i = 0; i < arraysize(kSupportedLocales); i++) { |
169 if (kSupportedLocales[i] == normalized_locale) | 171 if (normalized_locale.compare(0, 2, kSupportedLocales[i]) == 0) |
170 return true; | 172 return true; |
171 } | 173 } |
172 return false; | 174 return false; |
173 } | 175 } |
174 | 176 |
175 HotwordService::HotwordService(Profile* profile) | 177 HotwordService::HotwordService(Profile* profile) |
176 : profile_(profile), | 178 : profile_(profile), |
177 client_(NULL), | 179 client_(NULL), |
178 error_message_(0) { | 180 error_message_(0) { |
179 // This will be called during profile initialization which is a good time | 181 // This will be called during profile initialization which is a good time |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 | 364 |
363 DCHECK(client_ == client); | 365 DCHECK(client_ == client); |
364 | 366 |
365 client_ = NULL; | 367 client_ = NULL; |
366 HotwordPrivateEventService* event_service = | 368 HotwordPrivateEventService* event_service = |
367 BrowserContextKeyedAPIFactory<HotwordPrivateEventService>::Get(profile_); | 369 BrowserContextKeyedAPIFactory<HotwordPrivateEventService>::Get(profile_); |
368 if (event_service) | 370 if (event_service) |
369 event_service->OnHotwordSessionStopped(); | 371 event_service->OnHotwordSessionStopped(); |
370 #endif | 372 #endif |
371 } | 373 } |
OLD | NEW |