| Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java
|
| index 86bec852b955669acd1afdc322510996697e365d..900762f28c3fcc0d3e8a9c8daae2c16921846e26 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java
|
| @@ -8,7 +8,9 @@ import android.app.Notification;
|
| import android.app.PendingIntent;
|
| import android.content.Context;
|
| import android.graphics.Bitmap;
|
| +import android.graphics.drawable.Icon;
|
| import android.os.Build;
|
| +import android.widget.RemoteViews;
|
|
|
| /**
|
| * Wraps a Notification.Builder object.
|
| @@ -33,13 +35,13 @@ public class NotificationBuilder implements ChromeNotificationBuilder {
|
| }
|
|
|
| @Override
|
| - public ChromeNotificationBuilder setContentTitle(String title) {
|
| + public ChromeNotificationBuilder setContentTitle(CharSequence title) {
|
| mBuilder.setContentTitle(title);
|
| return this;
|
| }
|
|
|
| @Override
|
| - public ChromeNotificationBuilder setContentText(String text) {
|
| + public ChromeNotificationBuilder setContentText(CharSequence text) {
|
| mBuilder.setContentText(text);
|
| return this;
|
| }
|
| @@ -51,7 +53,15 @@ public class NotificationBuilder implements ChromeNotificationBuilder {
|
| }
|
|
|
| @Override
|
| - public ChromeNotificationBuilder setTicker(String text) {
|
| + public ChromeNotificationBuilder setSmallIcon(Icon icon) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
| + mBuilder.setSmallIcon(icon);
|
| + }
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeNotificationBuilder setTicker(CharSequence text) {
|
| mBuilder.setTicker(text);
|
| return this;
|
| }
|
| @@ -95,12 +105,20 @@ public class NotificationBuilder implements ChromeNotificationBuilder {
|
| }
|
|
|
| @Override
|
| - public ChromeNotificationBuilder addAction(int icon, String title, PendingIntent intent) {
|
| + public ChromeNotificationBuilder addAction(int icon, CharSequence title, PendingIntent intent) {
|
| mBuilder.addAction(icon, title, intent);
|
| return this;
|
| }
|
|
|
| @Override
|
| + public ChromeNotificationBuilder addAction(Notification.Action action) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
|
| + mBuilder.addAction(action);
|
| + }
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) {
|
| mBuilder.setDeleteIntent(intent);
|
| return this;
|
| @@ -119,7 +137,7 @@ public class NotificationBuilder implements ChromeNotificationBuilder {
|
| }
|
|
|
| @Override
|
| - public ChromeNotificationBuilder setSubText(String text) {
|
| + public ChromeNotificationBuilder setSubText(CharSequence text) {
|
| mBuilder.setSubText(text);
|
| return this;
|
| }
|
| @@ -153,6 +171,59 @@ public class NotificationBuilder implements ChromeNotificationBuilder {
|
| }
|
|
|
| @Override
|
| + public ChromeNotificationBuilder setDefaults(int defaults) {
|
| + mBuilder.setDefaults(defaults);
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeNotificationBuilder setOnlyAlertOnce(boolean onlyAlertOnce) {
|
| + mBuilder.setOnlyAlertOnce(onlyAlertOnce);
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeNotificationBuilder setPublicVersion(Notification publicNotification) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
| + mBuilder.setPublicVersion(publicNotification);
|
| + }
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeNotificationBuilder setContent(RemoteViews views) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
| + mBuilder.setCustomContentView(views);
|
| + } else {
|
| + mBuilder.setContent(views);
|
| + }
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeNotificationBuilder setStyle(Notification.BigPictureStyle style) {
|
| + mBuilder.setStyle(style);
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public ChromeNotificationBuilder setStyle(Notification.BigTextStyle style) {
|
| + mBuilder.setStyle(style);
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public Notification buildWithBigContentView(RemoteViews view) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
| + return mBuilder.setCustomBigContentView(view).build();
|
| + } else {
|
| + Notification notification = mBuilder.build();
|
| + notification.bigContentView = view;
|
| + return notification;
|
| + }
|
| + }
|
| +
|
| + @Override
|
| public Notification buildWithBigTextStyle(String bigText) {
|
| Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle(mBuilder);
|
| bigTextStyle.bigText(bigText);
|
|
|