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

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

Issue 2699253003: Abstracting over Notification.Builder + NotificationCompat.Builder (Closed)
Patch Set: remove erroneously added methods from 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/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();
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698