Index: chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/suggestions/FakeSuggestionsSource.java |
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/suggestions/FakeSuggestionsSource.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/suggestions/FakeSuggestionsSource.java |
index b2969cadbb0cf229382cdc2751a2b43bf0a49a20..b8d20edf55f010949396517c7516d6271de9606a 100644 |
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/suggestions/FakeSuggestionsSource.java |
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/suggestions/FakeSuggestionsSource.java |
@@ -7,6 +7,7 @@ package org.chromium.chrome.test.util.browser.suggestions; |
import android.graphics.Bitmap; |
import org.chromium.base.Callback; |
+import org.chromium.base.ThreadUtils; |
import org.chromium.chrome.browser.ntp.cards.SuggestionsCategoryInfo; |
import org.chromium.chrome.browser.ntp.snippets.CategoryInt; |
import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; |
@@ -31,7 +32,10 @@ public class FakeSuggestionsSource implements SuggestionsSource { |
private final Map<Integer, List<SnippetArticle>> mSuggestions = new HashMap<>(); |
private final Map<Integer, Integer> mCategoryStatus = new LinkedHashMap<>(); |
private final Map<Integer, SuggestionsCategoryInfo> mCategoryInfo = new HashMap<>(); |
+ |
+ // Maps within-category ids to their fake bitmaps. |
private final Map<String, Bitmap> mThumbnails = new HashMap<>(); |
+ private final Map<String, Bitmap> mFavicons = new HashMap<>(); |
private final List<Integer> mDismissedCategories = new ArrayList<>(); |
private final Map<Integer, List<SnippetArticle>> mDismissedCategorySuggestions = |
@@ -70,13 +74,22 @@ public class FakeSuggestionsSource implements SuggestionsSource { |
} |
/** |
- * Sets the bitmap to be returned when the thumbnail is requested for a snippet with that id. |
+ * Sets the bitmap to be returned when the thumbnail is requested for a suggestion with that |
+ * (within-category) id. |
*/ |
public void setThumbnailForId(String id, Bitmap bitmap) { |
mThumbnails.put(id, bitmap); |
} |
/** |
+ * Sets the bitmap to be returned when the favicon is requested for a suggestion with that |
+ * (within-category) id. |
+ */ |
+ public void setFaviconForId(String id, Bitmap bitmap) { |
+ mFavicons.put(id, bitmap); |
+ } |
+ |
+ /** |
* Removes the given suggestion from the source and notifies any observer that it has been |
* invalidated. |
*/ |
@@ -138,9 +151,28 @@ public class FakeSuggestionsSource implements SuggestionsSource { |
} |
@Override |
- public void fetchSuggestionImage(SnippetArticle suggestion, Callback<Bitmap> callback) { |
+ public void fetchSuggestionImage( |
+ final SnippetArticle suggestion, final Callback<Bitmap> callback) { |
if (mThumbnails.containsKey(suggestion.mIdWithinCategory)) { |
- callback.onResult(mThumbnails.get(suggestion.mIdWithinCategory)); |
+ ThreadUtils.postOnUiThread(new Runnable() { |
+ @Override |
+ public void run() { |
+ callback.onResult(mThumbnails.get(suggestion.mIdWithinCategory)); |
+ } |
+ }); |
+ } |
+ } |
+ |
+ @Override |
+ public void fetchSuggestionFavicon(final SnippetArticle suggestion, int minimumSizePx, |
+ int desiredSizePx, final Callback<Bitmap> callback) { |
+ if (mFavicons.containsKey(suggestion.mIdWithinCategory)) { |
+ ThreadUtils.postOnUiThread(new Runnable() { |
+ @Override |
+ public void run() { |
+ callback.onResult(mFavicons.get(suggestion.mIdWithinCategory)); |
+ } |
+ }); |
} |
} |