package com.gettingmobile.android.app; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import fixes.android.support.v4.app.NotificationCompat; public final class SimpleNotificationBuilder extends NotificationCompat.Builder { private final Context context; public static PendingIntent createPendingIntent(Context context, Intent intent) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public static SimpleNotificationBuilder create(Context context, int iconId, int titleId, boolean showTickerText) { final CharSequence titleText = context.getText(titleId); final SimpleNotificationBuilder b = new SimpleNotificationBuilder(context); b.setSmallIcon(iconId); if (showTickerText) { b.setTicker(titleText); } b.setContentTitle(titleText); b.setWhen(System.currentTimeMillis()); b.setAutoCancel(true); return b; } public static SimpleNotificationBuilder create(Context context, int iconId, int titleId) { return create(context, iconId, titleId, false); } private SimpleNotificationBuilder(Context context) { super(context); this.context = context; } public SimpleNotificationBuilder setContentText(int textId) { setContentText(context.getText(textId)); return this; } public SimpleNotificationBuilder setContentTitle(int titleId) { setContentTitle(context.getText(titleId)); return this; } public SimpleNotificationBuilder setContentIntent(Intent intent) { setContentIntent(createPendingIntent(context, intent)); return this; } public SimpleNotificationBuilder addAction(int icon, int titleId, PendingIntent intent) { addAction(icon, context.getText(titleId), intent); return this; } }