| Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java
|
| index 69691489464e1e9188917ce3415ddf09f5965e91..275dd012694020f7219b9de8366d82194a7e867e 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java
|
| @@ -6,6 +6,7 @@ package org.chromium.chrome.browser.suggestions;
|
|
|
| import android.app.Activity;
|
|
|
| +import org.chromium.base.Callback;
|
| import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.browser.NativePageHost;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| @@ -17,6 +18,7 @@ import org.chromium.chrome.browser.ntp.snippets.KnownCategories;
|
| import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
|
| +import org.chromium.chrome.browser.offlinepages.SavePageRequest;
|
| import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageNotificationBridge;
|
| import org.chromium.chrome.browser.preferences.PrefServiceBridge;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| @@ -186,8 +188,21 @@ public class SuggestionsNavigationDelegateImpl implements SuggestionsNavigationD
|
| }
|
|
|
| private void saveUrlForOffline(String url) {
|
| - OfflinePageNotificationBridge.showDownloadingToast(mActivity);
|
| - OfflinePageBridge.getForProfile(mProfile).savePageLater(
|
| - url, "ntp_suggestions", true /* userRequested */);
|
| + final String mUrl = url;
|
| + OfflinePageBridge.getForProfile(mProfile).getRequestsInQueue(
|
| + new Callback<SavePageRequest[]>() {
|
| + @Override
|
| + public void onResult(SavePageRequest[] requests) {
|
| + OfflinePageNotificationBridge.showDownloadingToast(mActivity);
|
| + for (int i = 0, len = requests.length; i < len; i++) {
|
| + if (requests[i].getUrl().equals(mUrl)) {
|
| + // Download was scheduled earlier,
|
| + return;
|
| + }
|
| + }
|
| + OfflinePageBridge.getForProfile(mProfile).savePageLater(
|
| + mUrl, "ntp_suggestions", true /* userRequested */);
|
| + }
|
| + });
|
| }
|
| }
|
|
|