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

Side by Side Diff: chrome/browser/android/ntp/ntp_snippets_bridge.cc

Issue 2194433002: Zine: support multiple sections in the ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanups. Created 4 years, 4 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/android/ntp/ntp_snippets_bridge.h" 5 #include "chrome/browser/android/ntp/ntp_snippets_bridge.h"
6 6
7 #include <jni.h> 7 #include <jni.h>
8 8
9 #include "base/android/callback_android.h" 9 #include "base/android/callback_android.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 base::android::ScopedJavaGlobalRef<jobject> callback(jcallback); 119 base::android::ScopedJavaGlobalRef<jobject> callback(jcallback);
120 120
121 history_service_->QueryURL( 121 history_service_->QueryURL(
122 GURL(ConvertJavaStringToUTF8(env, jurl)), 122 GURL(ConvertJavaStringToUTF8(env, jurl)),
123 false, 123 false,
124 base::Bind(&SnippetVisitedHistoryRequestCallback, callback), 124 base::Bind(&SnippetVisitedHistoryRequestCallback, callback),
125 &tracker_); 125 &tracker_);
126 } 126 }
127 127
128 int NTPSnippetsBridge::GetCategoryStatus(JNIEnv* env, 128 int NTPSnippetsBridge::GetCategoryStatus(JNIEnv* env,
129 const JavaParamRef<jobject>& obj) { 129 const JavaParamRef<jobject>& obj,
130 jint category) {
130 return static_cast<int>(content_suggestions_service_->GetCategoryStatus( 131 return static_cast<int>(content_suggestions_service_->GetCategoryStatus(
131 ContentSuggestionsCategory::ARTICLES)); 132 static_cast<ContentSuggestionsCategory>(category)));
132 } 133 }
133 134
134 NTPSnippetsBridge::~NTPSnippetsBridge() {} 135 NTPSnippetsBridge::~NTPSnippetsBridge() {}
135 136
136 void NTPSnippetsBridge::OnNewSuggestions() { 137 void NTPSnippetsBridge::OnNewSuggestions() {
137 if (observer_.is_null()) 138 if (observer_.is_null())
138 return; 139 return;
139 140
140 std::vector<std::string> ids; 141 std::vector<std::string> ids;
141 std::vector<std::string> titles; 142 std::vector<std::string> titles;
(...skipping 27 matching lines...) Expand all
169 urls.push_back(suggestion.url().spec()); 170 urls.push_back(suggestion.url().spec());
170 amp_urls.push_back(suggestion.amp_url().spec()); 171 amp_urls.push_back(suggestion.amp_url().spec());
171 snippets.push_back(suggestion.snippet_text()); 172 snippets.push_back(suggestion.snippet_text());
172 timestamps.push_back(suggestion.publish_date().ToJavaTime()); 173 timestamps.push_back(suggestion.publish_date().ToJavaTime());
173 publishers.push_back(suggestion.publisher_name()); 174 publishers.push_back(suggestion.publisher_name());
174 scores.push_back(suggestion.score()); 175 scores.push_back(suggestion.score());
175 } 176 }
176 } 177 }
177 178
178 JNIEnv* env = base::android::AttachCurrentThread(); 179 JNIEnv* env = base::android::AttachCurrentThread();
179 Java_SnippetsBridge_onSnippetsAvailable( 180 // TODO(mvanouwerkerk): Do not hard code ARTICLES.
180 env, observer_.obj(), ToJavaArrayOfStrings(env, ids).obj(), 181 Java_SnippetsBridge_onSuggestionsAvailable(
182 env, observer_.obj(),
183 static_cast<int>(ContentSuggestionsCategory::ARTICLES),
184 ToJavaArrayOfStrings(env, ids).obj(),
181 ToJavaArrayOfStrings(env, titles).obj(), 185 ToJavaArrayOfStrings(env, titles).obj(),
182 ToJavaArrayOfStrings(env, urls).obj(), 186 ToJavaArrayOfStrings(env, urls).obj(),
183 ToJavaArrayOfStrings(env, amp_urls).obj(), 187 ToJavaArrayOfStrings(env, amp_urls).obj(),
184 ToJavaArrayOfStrings(env, snippets).obj(), 188 ToJavaArrayOfStrings(env, snippets).obj(),
185 ToJavaLongArray(env, timestamps).obj(), 189 ToJavaLongArray(env, timestamps).obj(),
186 ToJavaArrayOfStrings(env, publishers).obj(), 190 ToJavaArrayOfStrings(env, publishers).obj(),
187 ToJavaFloatArray(env, scores).obj()); 191 ToJavaFloatArray(env, scores).obj());
188 } 192 }
189 193
190 void NTPSnippetsBridge::OnCategoryStatusChanged( 194 void NTPSnippetsBridge::OnCategoryStatusChanged(
191 ContentSuggestionsCategory category, 195 ContentSuggestionsCategory category,
192 ContentSuggestionsCategoryStatus new_status) { 196 ContentSuggestionsCategoryStatus new_status) {
197 // TODO(mvanouwerkerk): Do not hard code ARTICLES.
193 if (category != ContentSuggestionsCategory::ARTICLES) 198 if (category != ContentSuggestionsCategory::ARTICLES)
194 return; 199 return;
195 200
196 JNIEnv* env = base::android::AttachCurrentThread(); 201 JNIEnv* env = base::android::AttachCurrentThread();
197 Java_SnippetsBridge_onCategoryStatusChanged(env, observer_.obj(), 202 Java_SnippetsBridge_onCategoryStatusChanged(env, observer_.obj(),
203 static_cast<int>(category),
198 static_cast<int>(new_status)); 204 static_cast<int>(new_status));
199 } 205 }
200 206
201 void NTPSnippetsBridge::ContentSuggestionsServiceShutdown() { 207 void NTPSnippetsBridge::ContentSuggestionsServiceShutdown() {
202 observer_.Reset(); 208 observer_.Reset();
203 content_suggestions_service_observer_.Remove(content_suggestions_service_); 209 content_suggestions_service_observer_.Remove(content_suggestions_service_);
204 } 210 }
205 211
206 void NTPSnippetsBridge::OnImageFetched(ScopedJavaGlobalRef<jobject> callback, 212 void NTPSnippetsBridge::OnImageFetched(ScopedJavaGlobalRef<jobject> callback,
207 const std::string& snippet_id, 213 const std::string& snippet_id,
208 const gfx::Image& image) { 214 const gfx::Image& image) {
209 ScopedJavaLocalRef<jobject> j_bitmap; 215 ScopedJavaLocalRef<jobject> j_bitmap;
210 if (!image.IsEmpty()) 216 if (!image.IsEmpty())
211 j_bitmap = gfx::ConvertToJavaBitmap(image.ToSkBitmap()); 217 j_bitmap = gfx::ConvertToJavaBitmap(image.ToSkBitmap());
212 218
213 base::android::RunCallbackAndroid(callback, j_bitmap); 219 base::android::RunCallbackAndroid(callback, j_bitmap);
214 } 220 }
215 221
216 // static 222 // static
217 bool NTPSnippetsBridge::Register(JNIEnv* env) { 223 bool NTPSnippetsBridge::Register(JNIEnv* env) {
218 return RegisterNativesImpl(env); 224 return RegisterNativesImpl(env);
219 } 225 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698