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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java

Issue 2196273002: Zine: support multiple sections in the ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
index 8e79401fd4cb66837a3bb4cf0adbbcb6643c92f3..98a84154148bd8dbf8fa7b7bf000c2956d039973 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
@@ -8,6 +8,8 @@ import android.graphics.Bitmap;
import org.chromium.base.Callback;
import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum;
+import org.chromium.chrome.browser.ntp.snippets.KnownCategories.KnownCategoriesEnum;
import org.chromium.chrome.browser.profiles.Profile;
import java.util.ArrayList;
@@ -22,17 +24,17 @@ public class SnippetsBridge implements SnippetsSource {
private long mNativeSnippetsBridge;
private SnippetsObserver mObserver;
- public static boolean isCategoryStatusAvailable(int status) {
+ public static boolean isCategoryStatusAvailable(@CategoryStatusEnum int status) {
// Note: This code is duplicated in content_suggestions_category_status.cc.
return status == CategoryStatus.AVAILABLE_LOADING || status == CategoryStatus.AVAILABLE;
}
- public static boolean isCategoryStatusInitOrAvailable(int status) {
+ public static boolean isCategoryStatusInitOrAvailable(@CategoryStatusEnum int status) {
// Note: This code is duplicated in content_suggestions_category_status.cc.
return status == CategoryStatus.INITIALIZING || isCategoryStatusAvailable(status);
}
- public static boolean isCategoryLoading(int status) {
+ public static boolean isCategoryLoading(@CategoryStatusEnum int status) {
return status == CategoryStatus.AVAILABLE_LOADING || status == CategoryStatus.INITIALIZING;
}
@@ -118,29 +120,39 @@ public class SnippetsBridge implements SnippetsSource {
}
@Override
- public int getCategoryStatus() {
+ @CategoryStatusEnum
+ public int getCategoryStatus(@KnownCategoriesEnum int category) {
assert mNativeSnippetsBridge != 0;
- return nativeGetCategoryStatus(mNativeSnippetsBridge);
+ return nativeGetCategoryStatus(mNativeSnippetsBridge, category);
}
@CalledByNative
- private void onSnippetsAvailable(String[] ids, String[] titles, String[] urls, String[] ampUrls,
- String[] previewText, long[] timestamps, String[] publishers, float[] scores) {
+ private static List<SnippetArticleListItem> createSuggestionList() {
+ return new ArrayList<>();
+ }
+
+ @CalledByNative
+ private static void addSuggestion(List<SnippetArticleListItem> suggestions, String id,
+ String title, String publisher, String previewText, String url, String ampUrl,
+ long timestamp, float score) {
+ int position = suggestions.size();
+ suggestions.add(new SnippetArticleListItem(id, title, publisher, previewText, url, ampUrl,
+ timestamp, score, position));
+ }
+
+ @CalledByNative
+ private void onSuggestionsAvailable(/* @KnownCategoriesEnum */ int category,
+ List<SnippetArticleListItem> suggestions) {
assert mNativeSnippetsBridge != 0;
assert mObserver != null;
- List<SnippetArticleListItem> newSnippets = new ArrayList<>(ids.length);
- for (int i = 0; i < ids.length; i++) {
- newSnippets.add(new SnippetArticleListItem(ids[i], titles[i], publishers[i],
- previewText[i], urls[i], ampUrls[i], timestamps[i], scores[i], i));
- }
-
- mObserver.onSnippetsReceived(newSnippets);
+ mObserver.onSuggestionsReceived(category, suggestions);
}
@CalledByNative
- private void onCategoryStatusChanged(int newStatus) {
- if (mObserver != null) mObserver.onCategoryStatusChanged(newStatus);
+ private void onCategoryStatusChanged(/* @KnownCategoriesEnum */ int category,
+ /* @CategoryStatusEnum */ int newStatus) {
+ if (mObserver != null) mObserver.onCategoryStatusChanged(category, newStatus);
}
private native long nativeInit(Profile profile);
@@ -153,5 +165,5 @@ public class SnippetsBridge implements SnippetsSource {
Callback<Boolean> callback, String url);
private native void nativeFetchImage(
long nativeNTPSnippetsBridge, String snippetId, Callback<Bitmap> callback);
- private native int nativeGetCategoryStatus(long nativeNTPSnippetsBridge);
+ private native int nativeGetCategoryStatus(long nativeNTPSnippetsBridge, int category);
}

Powered by Google App Engine
This is Rietveld 408576698