| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/ContentSuggestionsNotificationHelper.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContentSuggestionsNotificationHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContentSuggestionsNotificationHelper.java
|
| index fbe8a13a88505feb373317f6c8b2ed301515abcc..412887fafdd648e7a4056fd9f74f805defb9d6b9 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContentSuggestionsNotificationHelper.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContentSuggestionsNotificationHelper.java
|
| @@ -4,13 +4,18 @@
|
|
|
| package org.chromium.chrome.browser.ntp;
|
|
|
| +import android.app.NotificationManager;
|
| +import android.app.PendingIntent;
|
| import android.content.Context;
|
| import android.content.Intent;
|
| +import android.graphics.Bitmap;
|
| import android.net.Uri;
|
| import android.provider.Browser;
|
| +import android.support.v4.app.NotificationCompat;
|
|
|
| import org.chromium.base.ContextUtils;
|
| import org.chromium.base.annotations.CalledByNative;
|
| +import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.IntentHandler;
|
| import org.chromium.chrome.browser.ShortcutHelper;
|
| import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
| @@ -21,6 +26,9 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
| * Exposes helper functions to native C++ code.
|
| */
|
| public class ContentSuggestionsNotificationHelper {
|
| + private static final String TAG = "ContentSuggestionsNotification";
|
| + private static final int ID = 0;
|
| +
|
| private ContentSuggestionsNotificationHelper() {} // Prevent instantiation
|
|
|
| @CalledByNative
|
| @@ -36,4 +44,34 @@ public class ContentSuggestionsNotificationHelper {
|
| IntentHandler.addTrustedIntentExtras(intent, context);
|
| context.startActivity(intent);
|
| }
|
| +
|
| + @CalledByNative
|
| + private static void showNotification(String url, String title, String text, Bitmap image) {
|
| + Context context = ContextUtils.getApplicationContext();
|
| + NotificationManager manager =
|
| + (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
| + Intent intent = new Intent()
|
| + .setAction(Intent.ACTION_VIEW)
|
| + .setData(Uri.parse(url))
|
| + .setClass(context, ChromeLauncherActivity.class)
|
| + .putExtra(ShortcutHelper.REUSE_URL_MATCHING_TAB_ELSE_NEW_TAB, true)
|
| + .putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
|
| + NotificationCompat.Builder builder =
|
| + new NotificationCompat.Builder(context)
|
| + .setAutoCancel(true)
|
| + .setContentIntent(PendingIntent.getActivity(context, 0, intent, 0))
|
| + .setContentTitle(title)
|
| + .setContentText(text)
|
| + .setLargeIcon(image)
|
| + .setSmallIcon(R.drawable.ic_chrome);
|
| + manager.notify(TAG, ID, builder.build());
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static void hideNotification() {
|
| + Context context = ContextUtils.getApplicationContext();
|
| + NotificationManager manager =
|
| + (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
| + manager.cancel(TAG, ID);
|
| + }
|
| }
|
|
|