| 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);
|
| }
|
|
|