Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6219)

Unified Diff: chrome/browser/search_engines/template_url_service_android.cc

Issue 2555513003: [Android] Sort custom search engines based on last visited time and display only top 3 most recentl… (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/search_engines/template_url_service_android.cc
diff --git a/chrome/browser/search_engines/template_url_service_android.cc b/chrome/browser/search_engines/template_url_service_android.cc
index 306cd44c2130303ba5a742eaabe1db46d58d08b0..bd669952364b2e8cd27f9e58c87f0b2f8088d95c 100644
--- a/chrome/browser/search_engines/template_url_service_android.cc
+++ b/chrome/browser/search_engines/template_url_service_android.cc
@@ -152,10 +152,27 @@ void TemplateUrlServiceAndroid::LoadTemplateURLs() {
if (template_url_service_->IsPrepopulatedOrCreatedByPolicy(lhs)) {
return !rhs_prepopulated ||
(lhs->prepopulate_id() < rhs->prepopulate_id());
+ } else if (lhs == default_search_provider) {
+ return !rhs_prepopulated;
}
- return (lhs == default_search_provider && !rhs_prepopulated);
+ return rhs != default_search_provider && !rhs_prepopulated &&
+ lhs->last_visited().ToTimeT() > rhs->last_visited().ToTimeT();
};
std::sort(template_urls_.begin(), template_urls_.end(), comp);
Peter Kasting 2016/12/06 06:24:55 The sort comparator is getting complicated. I won
ltian 2016/12/07 00:56:43 Done.
+ int num_remove = CountRemovedSearchEngineNum();
+ template_urls_.erase(template_urls_.end()-num_remove,
+ template_urls_.end());
Peter Kasting 2016/12/06 06:24:55 Nit: Use resize()
ltian 2016/12/07 00:56:43 Done.
+
+}
+
+int TemplateUrlServiceAndroid::CountRemovedSearchEngineNum() {
+ int num_custom_engine = 0;
+ for (std::vector<TemplateURL*>::const_iterator i = template_urls_.begin();
+ i != template_urls_.end(); i++) {
+ template_url_service_->ShowInDefaultList(*i) ? num_custom_engine :
+ num_custom_engine++;
+ }
Peter Kasting 2016/12/06 06:24:55 Nit: Use std::count_if
ltian 2016/12/07 00:56:43 Done.
+ return num_custom_engine > 5 ? num_custom_engine - 5 : 0;
Peter Kasting 2016/12/06 06:24:55 Nit: Use std::max
ltian 2016/12/07 00:56:43 Done.
}
void TemplateUrlServiceAndroid::OnTemplateURLServiceChanged() {

Powered by Google App Engine
This is Rietveld 408576698