Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java |
| index d321e1e91abecccca68dc115ba567cafbe9b009c..4e85712fd4f69a2d8aabe7283860f866541adcb3 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java |
| @@ -5,96 +5,41 @@ |
| 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; |
| +import android.support.v4.app.NotificationCompat.Action; |
| /** |
| * Builds a notification using the given inputs. Relies on NotificationCompat and |
| * NotificationCompat.BigTextStyle to provide a standard layout. |
| */ |
| -public class StandardNotificationBuilder implements NotificationBuilder { |
| - private final NotificationCompat.Builder mBuilder; |
| +public class StandardNotificationBuilder extends NotificationBuilderBase { |
| + private final Context mContext; |
| public StandardNotificationBuilder(Context context) { |
| - mBuilder = new NotificationCompat.Builder(context); |
| + mContext = context; |
| } |
| @Override |
| public Notification build() { |
| - return mBuilder.build(); |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setTitle(CharSequence title) { |
| - mBuilder.setContentTitle(title); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setBody(CharSequence body) { |
| - mBuilder.setContentText(body).setStyle(new NotificationCompat.BigTextStyle().bigText(body)); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setOrigin(CharSequence origin) { |
| - mBuilder.setSubText(origin); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setTicker(CharSequence tickerText) { |
| - mBuilder.setTicker(tickerText); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setLargeIcon(Bitmap icon) { |
| - mBuilder.setLargeIcon(icon); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setSmallIcon(int iconId) { |
| - mBuilder.setSmallIcon(iconId); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setContentIntent(PendingIntent intent) { |
| - mBuilder.setContentIntent(intent); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setDeleteIntent(PendingIntent intent) { |
| - mBuilder.setDeleteIntent(intent); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder addAction(int iconId, CharSequence title, PendingIntent intent) { |
| - mBuilder.addAction(iconId, title, intent); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder addSettingsAction( |
| - int iconId, CharSequence title, PendingIntent intent) { |
| - return addAction(iconId, title, intent); |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setDefaults(int defaults) { |
| - mBuilder.setDefaults(defaults); |
| - return this; |
| - } |
| - |
| - @Override |
| - public NotificationBuilder setVibrate(long[] pattern) { |
| - mBuilder.setVibrate(pattern); |
| - return this; |
| + NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext); |
|
Peter Beverloo
2016/01/27 11:36:03
Something to consider: Perhaps the base could hold
Michael van Ouwerkerk
2016/01/27 15:04:25
I considered this, but I worry that sprinkling usa
|
| + builder.setContentTitle(mTitle); |
| + builder.setContentText(mBody).setStyle( |
| + new NotificationCompat.BigTextStyle().bigText(mBody)); |
| + builder.setSubText(mOrigin); |
| + builder.setTicker(mTickerText); |
| + builder.setLargeIcon(mLargeIcon); |
| + builder.setSmallIcon(mSmallIconId); |
| + builder.setContentIntent(mContentIntent); |
| + builder.setDeleteIntent(mDeleteIntent); |
| + for (Action action : mActions) { |
| + builder.addAction(action); |
| + } |
| + if (mSettingsAction != null) { |
| + builder.addAction(mSettingsAction); |
| + } |
| + builder.setDefaults(mDefaults); |
| + builder.setVibrate(mVibratePattern); |
| + return builder.build(); |
| } |
| } |