Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2152)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilder.java

Issue 2702023002: Migrate web notifications to ChromeNotificationBuilder (Closed)
Patch Set: rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698