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

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

Issue 2235463002: Change Snippet layout based on Category. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge in master. 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
« no previous file with comments | « chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 return base::android::ScopedJavaLocalRef<jobject>(env, nullptr); 141 return base::android::ScopedJavaLocalRef<jobject>(env, nullptr);
142 return Java_SnippetsBridge_createSuggestionsCategoryInfo( 142 return Java_SnippetsBridge_createSuggestionsCategoryInfo(
143 env, ConvertUTF16ToJavaString(env, info->title()).obj(), 143 env, ConvertUTF16ToJavaString(env, info->title()).obj(),
144 static_cast<int>(info->card_layout()), info->has_more_button()); 144 static_cast<int>(info->card_layout()), info->has_more_button());
145 } 145 }
146 146
147 ScopedJavaLocalRef<jobject> NTPSnippetsBridge::GetSuggestionsForCategory( 147 ScopedJavaLocalRef<jobject> NTPSnippetsBridge::GetSuggestionsForCategory(
148 JNIEnv* env, 148 JNIEnv* env,
149 const base::android::JavaParamRef<jobject>& obj, 149 const base::android::JavaParamRef<jobject>& obj,
150 jint category) { 150 jint category) {
151 // Get layout for the category.
152 base::Optional<CategoryInfo> info =
153 content_suggestions_service_->GetCategoryInfo(
154 content_suggestions_service_->category_factory()->FromIDValue(
155 category));
156 DCHECK(info);
157
151 const std::vector<ContentSuggestion>& suggestions = 158 const std::vector<ContentSuggestion>& suggestions =
152 content_suggestions_service_->GetSuggestionsForCategory( 159 content_suggestions_service_->GetSuggestionsForCategory(
153 content_suggestions_service_->category_factory()->FromIDValue( 160 content_suggestions_service_->category_factory()->FromIDValue(
154 category)); 161 category));
155 ScopedJavaLocalRef<jobject> result = 162 ScopedJavaLocalRef<jobject> result =
156 Java_SnippetsBridge_createSuggestionList(env); 163 Java_SnippetsBridge_createSuggestionList(env);
157 for (const ContentSuggestion& suggestion : suggestions) { 164 for (const ContentSuggestion& suggestion : suggestions) {
158 Java_SnippetsBridge_addSuggestion( 165 Java_SnippetsBridge_addSuggestion(
159 env, result.obj(), ConvertUTF8ToJavaString(env, suggestion.id()).obj(), 166 env, result.obj(), ConvertUTF8ToJavaString(env, suggestion.id()).obj(),
160 ConvertUTF16ToJavaString(env, suggestion.title()).obj(), 167 ConvertUTF16ToJavaString(env, suggestion.title()).obj(),
161 ConvertUTF16ToJavaString(env, suggestion.publisher_name()).obj(), 168 ConvertUTF16ToJavaString(env, suggestion.publisher_name()).obj(),
162 ConvertUTF16ToJavaString(env, suggestion.snippet_text()).obj(), 169 ConvertUTF16ToJavaString(env, suggestion.snippet_text()).obj(),
163 ConvertUTF8ToJavaString(env, suggestion.url().spec()).obj(), 170 ConvertUTF8ToJavaString(env, suggestion.url().spec()).obj(),
164 ConvertUTF8ToJavaString(env, suggestion.amp_url().spec()).obj(), 171 ConvertUTF8ToJavaString(env, suggestion.amp_url().spec()).obj(),
165 suggestion.publish_date().ToJavaTime(), suggestion.score()); 172 suggestion.publish_date().ToJavaTime(), suggestion.score(),
173 static_cast<int>(info->card_layout()));
166 } 174 }
167 return result; 175 return result;
168 } 176 }
169 177
170 void NTPSnippetsBridge::FetchSuggestionImage( 178 void NTPSnippetsBridge::FetchSuggestionImage(
171 JNIEnv* env, 179 JNIEnv* env,
172 const JavaParamRef<jobject>& obj, 180 const JavaParamRef<jobject>& obj,
173 const JavaParamRef<jstring>& suggestion_id, 181 const JavaParamRef<jstring>& suggestion_id,
174 const JavaParamRef<jobject>& j_callback) { 182 const JavaParamRef<jobject>& j_callback) {
175 base::android::ScopedJavaGlobalRef<jobject> callback(j_callback); 183 base::android::ScopedJavaGlobalRef<jobject> callback(j_callback);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 if (!image.IsEmpty()) 240 if (!image.IsEmpty())
233 j_bitmap = gfx::ConvertToJavaBitmap(image.ToSkBitmap()); 241 j_bitmap = gfx::ConvertToJavaBitmap(image.ToSkBitmap());
234 242
235 base::android::RunCallbackAndroid(callback, j_bitmap); 243 base::android::RunCallbackAndroid(callback, j_bitmap);
236 } 244 }
237 245
238 // static 246 // static
239 bool NTPSnippetsBridge::Register(JNIEnv* env) { 247 bool NTPSnippetsBridge::Register(JNIEnv* env) {
240 return RegisterNativesImpl(env); 248 return RegisterNativesImpl(env);
241 } 249 }
OLDNEW
« no previous file with comments | « chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698