| Index: ui/app_list/search/mixer.cc
|
| diff --git a/ui/app_list/search/mixer.cc b/ui/app_list/search/mixer.cc
|
| index e9b0f1b747302172b524a8a09ecaf1d465512b9b..7d3428f5b6b784b6668555e32db91af6c90ef945 100644
|
| --- a/ui/app_list/search/mixer.cc
|
| +++ b/ui/app_list/search/mixer.cc
|
| @@ -56,7 +56,7 @@ class Mixer::Group {
|
|
|
| void AddProvider(SearchProvider* provider) { providers_.push_back(provider); }
|
|
|
| - void FetchResults(const KnownResults& known_results) {
|
| + void FetchResults(bool is_voice_query, const KnownResults& known_results) {
|
| results_.clear();
|
|
|
| for (Providers::const_iterator provider_it = providers_.begin();
|
| @@ -93,6 +93,10 @@ class Mixer::Group {
|
| }
|
| }
|
|
|
| + // If this is a voice query, voice results receive a massive boost.
|
| + if (is_voice_query && (*result_it)->voice_result())
|
| + boost += 4.0;
|
| +
|
| results_.push_back(
|
| SortData(*result_it, (*result_it)->relevance() + boost));
|
| }
|
| @@ -133,8 +137,9 @@ void Mixer::AddProviderToGroup(GroupId group, SearchProvider* provider) {
|
| groups_[group]->AddProvider(provider);
|
| }
|
|
|
| -void Mixer::MixAndPublish(const KnownResults& known_results) {
|
| - FetchResults(known_results);
|
| +void Mixer::MixAndPublish(bool is_voice_query,
|
| + const KnownResults& known_results) {
|
| + FetchResults(is_voice_query, known_results);
|
|
|
| SortedResults results;
|
| results.reserve(kMaxResults);
|
| @@ -242,9 +247,10 @@ void Mixer::RemoveDuplicates(SortedResults* results) {
|
| results->swap(final);
|
| }
|
|
|
| -void Mixer::FetchResults(const KnownResults& known_results) {
|
| +void Mixer::FetchResults(bool is_voice_query,
|
| + const KnownResults& known_results) {
|
| for (const auto& item : groups_)
|
| - item.second->FetchResults(known_results);
|
| + item.second->FetchResults(is_voice_query, known_results);
|
| }
|
|
|
| } // namespace app_list
|
|
|