Index: ui/app_list/search/mixer.cc |
diff --git a/ui/app_list/search/mixer.cc b/ui/app_list/search/mixer.cc |
index cf3fd06be5d0f87e4199617554c0cb952ec50475..e4ef2f59747981d833f5a525dc546ea54a2b0923 100644 |
--- a/ui/app_list/search/mixer.cc |
+++ b/ui/app_list/search/mixer.cc |
@@ -57,7 +57,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(); |
@@ -94,6 +94,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)); |
} |
@@ -135,8 +139,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); |
@@ -247,9 +252,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 |