Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationCompatBuilder.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationCompatBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationCompatBuilder.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c770d7bbcf5c54ca6c61899d334267af53b669cc |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationCompatBuilder.java |
@@ -0,0 +1,155 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.notifications; |
+ |
+import android.app.Notification; |
+import android.app.PendingIntent; |
+import android.content.Context; |
+import android.graphics.Bitmap; |
+import android.support.v4.app.NotificationCompat; |
+ |
+/** |
+ * Wraps a NotificationCompat.Builder object. |
+ */ |
+public class NotificationCompatBuilder implements ChromeNotificationBuilder { |
+ private final NotificationCompat.Builder mBuilder; |
+ |
+ public NotificationCompatBuilder(Context context) { |
+ mBuilder = new NotificationCompat.Builder(context); |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setAutoCancel(boolean autoCancel) { |
+ mBuilder.setAutoCancel(autoCancel); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setContentIntent(PendingIntent contentIntent) { |
+ mBuilder.setContentIntent(contentIntent); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setContentTitle(String title) { |
+ mBuilder.setContentTitle(title); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setContentText(String text) { |
+ mBuilder.setContentText(text); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setSmallIcon(int icon) { |
+ mBuilder.setSmallIcon(icon); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setTicker(String text) { |
+ mBuilder.setTicker(text); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setLocalOnly(boolean localOnly) { |
+ mBuilder.setLocalOnly(localOnly); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setGroup(String group) { |
+ mBuilder.setGroup(group); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setOngoing(boolean ongoing) { |
+ mBuilder.setOngoing(ongoing); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setVisibility(int visibility) { |
+ mBuilder.setVisibility(visibility); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setShowWhen(boolean showWhen) { |
+ mBuilder.setShowWhen(showWhen); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder addAction(int icon, String title, PendingIntent intent) { |
+ mBuilder.addAction(icon, title, intent); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setDeleteIntent(PendingIntent intent) { |
+ mBuilder.setDeleteIntent(intent); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setPriority(int pri) { |
+ mBuilder.setPriority(pri); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setProgress(int max, int percentage, boolean indeterminate) { |
+ mBuilder.setProgress(max, percentage, indeterminate); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setSubText(String text) { |
+ mBuilder.setSubText(text); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setContentInfo(String info) { |
+ mBuilder.setContentInfo(info); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setWhen(long time) { |
+ mBuilder.setWhen(time); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setLargeIcon(Bitmap icon) { |
+ mBuilder.setLargeIcon(icon); |
+ return this; |
+ } |
+ |
+ @Override |
+ public ChromeNotificationBuilder setVibrate(long[] vibratePattern) { |
+ mBuilder.setVibrate(vibratePattern); |
+ return this; |
+ } |
+ |
+ @Override |
+ public Notification buildWithBigTextStyle(String bigText) { |
+ NotificationCompat.BigTextStyle bigTextStyle = |
+ new NotificationCompat.BigTextStyle(mBuilder); |
+ bigTextStyle.bigText(bigText); |
+ return bigTextStyle.build(); |
+ } |
+ |
+ @Override |
+ public Notification build() { |
+ return mBuilder.build(); |
+ } |
+} |