OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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_engines/template_url_service_android.h" | 5 #include "chrome/browser/search_engines/template_url_service_android.h" |
6 | 6 |
7 #include "base/android/jni_string.h" | 7 #include "base/android/jni_string.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 base::Unretained(this))); | 44 base::Unretained(this))); |
45 } | 45 } |
46 | 46 |
47 TemplateUrlServiceAndroid::~TemplateUrlServiceAndroid() { | 47 TemplateUrlServiceAndroid::~TemplateUrlServiceAndroid() { |
48 } | 48 } |
49 | 49 |
50 void TemplateUrlServiceAndroid::Load(JNIEnv* env, jobject obj) { | 50 void TemplateUrlServiceAndroid::Load(JNIEnv* env, jobject obj) { |
51 template_url_service_->Load(); | 51 template_url_service_->Load(); |
52 } | 52 } |
53 | 53 |
54 void TemplateUrlServiceAndroid::SetDefaultSearchProvider(JNIEnv* env, | 54 void TemplateUrlServiceAndroid::SetUserSelectedDefaultSearchProvider( |
55 jobject obj, | 55 JNIEnv* env, |
56 jint selected_index) { | 56 jobject obj, |
| 57 jint selected_index) { |
57 std::vector<TemplateURL*> template_urls = | 58 std::vector<TemplateURL*> template_urls = |
58 template_url_service_->GetTemplateURLs(); | 59 template_url_service_->GetTemplateURLs(); |
59 size_t selected_index_size_t = static_cast<size_t>(selected_index); | 60 size_t selected_index_size_t = static_cast<size_t>(selected_index); |
60 DCHECK_LT(selected_index_size_t, template_urls.size()) << | 61 DCHECK_LT(selected_index_size_t, template_urls.size()) << |
61 "Wrong index for search engine"; | 62 "Wrong index for search engine"; |
62 | 63 |
63 TemplateURL* template_url = template_urls[selected_index_size_t]; | 64 TemplateURL* template_url = template_urls[selected_index_size_t]; |
64 DCHECK_GT(template_url->prepopulate_id(), 0) << | 65 DCHECK_GT(template_url->prepopulate_id(), 0) << |
65 "Tried to select non-prepopulated search engine"; | 66 "Tried to select non-prepopulated search engine"; |
66 template_url_service_->SetDefaultSearchProvider(template_url); | 67 template_url_service_->SetUserSelectedDefaultSearchProvider(template_url); |
67 } | 68 } |
68 | 69 |
69 jint TemplateUrlServiceAndroid::GetDefaultSearchProvider(JNIEnv* env, | 70 jint TemplateUrlServiceAndroid::GetDefaultSearchProvider(JNIEnv* env, |
70 jobject obj) { | 71 jobject obj) { |
71 std::vector<TemplateURL*> template_urls = | 72 std::vector<TemplateURL*> template_urls = |
72 template_url_service_->GetTemplateURLs(); | 73 template_url_service_->GetTemplateURLs(); |
73 TemplateURL* default_search_provider = | 74 TemplateURL* default_search_provider = |
74 template_url_service_->GetDefaultSearchProvider(); | 75 template_url_service_->GetDefaultSearchProvider(); |
75 for (size_t i = 0; i < template_urls.size(); ++i) { | 76 for (size_t i = 0; i < template_urls.size(); ++i) { |
76 if (default_search_provider == template_urls[i]) | 77 if (default_search_provider == template_urls[i]) |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 static jlong Init(JNIEnv* env, jobject obj) { | 199 static jlong Init(JNIEnv* env, jobject obj) { |
199 TemplateUrlServiceAndroid* template_url_service_android = | 200 TemplateUrlServiceAndroid* template_url_service_android = |
200 new TemplateUrlServiceAndroid(env, obj); | 201 new TemplateUrlServiceAndroid(env, obj); |
201 return reinterpret_cast<intptr_t>(template_url_service_android); | 202 return reinterpret_cast<intptr_t>(template_url_service_android); |
202 } | 203 } |
203 | 204 |
204 // static | 205 // static |
205 bool TemplateUrlServiceAndroid::Register(JNIEnv* env) { | 206 bool TemplateUrlServiceAndroid::Register(JNIEnv* env) { |
206 return RegisterNativesImpl(env); | 207 return RegisterNativesImpl(env); |
207 } | 208 } |
OLD | NEW |