| 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 40364ba072b9a2b33d74887057ac8655fbe7a81e..3f3e4e23a59bf3590a787c8d831418b16bbeffe0 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
|
| @@ -4,8 +4,11 @@
|
|
|
| package org.chromium.chrome.browser.ntp.snippets;
|
|
|
| +import android.app.Activity;
|
| import android.graphics.Bitmap;
|
|
|
| +import org.chromium.base.ActivityState;
|
| +import org.chromium.base.ApplicationStatus;
|
| import org.chromium.base.Callback;
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.chrome.browser.ntp.cards.SuggestionsCategoryInfo;
|
| @@ -171,6 +174,22 @@ public class SnippetsBridge implements SuggestionsSource {
|
| nativeOnMoreButtonClicked(mNativeSnippetsBridge, category, position);
|
| }
|
|
|
| + /**
|
| + * Returns a listener creating a bridge to propagate the activity state changes.
|
| + */
|
| + public static ApplicationStatus.ActivityStateListener makeActivityStateListener() {
|
| + return new ApplicationStatus.ActivityStateListener() {
|
| + @Override
|
| + public void onActivityStateChange(Activity activity, int newState) {
|
| + if (newState == ActivityState.RESUMED) {
|
| + SnippetsBridge snippetsBridge =
|
| + new SnippetsBridge(Profile.getLastUsedProfile());
|
| + snippetsBridge.onActivityResumed();
|
| + }
|
| + }
|
| + };
|
| + }
|
| +
|
| public static void onSuggestionTargetVisited(int category, long visitTimeMs) {
|
| nativeOnSuggestionTargetVisited(category, visitTimeMs);
|
| }
|
| @@ -200,6 +219,11 @@ public class SnippetsBridge implements SuggestionsSource {
|
| nativeFetch(mNativeSnippetsBridge, category, displayedSuggestionIds);
|
| }
|
|
|
| + private void onActivityResumed() {
|
| + assert mNativeSnippetsBridge != 0;
|
| + nativeOnActivityResumed(mNativeSnippetsBridge);
|
| + }
|
| +
|
| @CalledByNative
|
| private static List<SnippetArticle> createSuggestionList() {
|
| return new ArrayList<>();
|
| @@ -304,6 +328,7 @@ public class SnippetsBridge implements SuggestionsSource {
|
| long nativeNTPSnippetsBridge, int category, int position);
|
| private native void nativeOnMoreButtonClicked(
|
| long nativeNTPSnippetsBridge, int category, int position);
|
| + private native void nativeOnActivityResumed(long nativeNTPSnippetsBridge);
|
| private static native void nativeOnSuggestionTargetVisited(int category, long visitTimeMs);
|
| private native void nativeSetObserver(long nativeNTPSnippetsBridge, SnippetsBridge bridge);
|
| }
|
|
|