blob: f7e0d3373101df13363c01601617caaf461eed2f [file] [log] [blame]
// Copyright 2015 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.content.Context;
/**
* Builds a notification using the standard Notification.BigTextStyle layout.
*/
public class StandardNotificationBuilder extends NotificationBuilderBase {
private final Context mContext;
public StandardNotificationBuilder(Context context) {
mContext = context;
}
@Override
public Notification build() {
// Note: this is not a NotificationCompat builder so be mindful of the
// API level of methods you call on the builder.
Notification.Builder builder = new Notification.Builder(mContext);
builder.setContentTitle(mTitle);
builder.setContentText(mBody).setStyle(new Notification.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) {
addActionToBuilder(builder, action);
}
if (mSettingsAction != null) {
addActionToBuilder(builder, mSettingsAction);
}
builder.setDefaults(mDefaults);
builder.setVibrate(mVibratePattern);
builder.setWhen(mTimestamp);
builder.setOnlyAlertOnce(!mRenotify);
return builder.build();
}
}