| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
|
| index d76bd1c590f129ab676224a86e9a04d31f852eb1..985090986baa848b7aaf4e2b42cacdd571487989 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
|
| @@ -4,6 +4,7 @@
|
|
|
| package org.chromium.chrome.browser.ntp.snippets;
|
|
|
| +import android.os.AsyncTask;
|
| import android.text.format.DateUtils;
|
| import android.view.LayoutInflater;
|
| import android.view.View;
|
| @@ -30,6 +31,7 @@
|
| public ImageView mThumbnailView;
|
| public String mUrl;
|
| public int mPosition;
|
| + private ThumbnailFetchingTask mThumbnailFetchingTask;
|
|
|
| /**
|
| * Creates the CardView object to display snippets information
|
| @@ -90,7 +92,12 @@ public void onBindViewHolder(NewTabPageListItem article) {
|
| mUrl = item.mUrl;
|
| mPosition = item.mPosition;
|
|
|
| - item.setThumbnailOnView(mThumbnailView);
|
| + // If this view has a pending task, it will display the stale thumbnail when it finishes,
|
| + // so we need to cancel it.
|
| + if (mThumbnailFetchingTask != null) mThumbnailFetchingTask.cancel(true);
|
| +
|
| + mThumbnailFetchingTask = new ThumbnailFetchingTask(item, mThumbnailView);
|
| + mThumbnailFetchingTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
| }
|
|
|
| @Override
|
|
|