private static void generateStyle(NotificationCompat.Builder builder) { Integer styleValue = STYLE.getValueInt(); if (STYLE_BIG_PICTURE.equals(styleValue)) { BigPictureStyle bigPicture = new NotificationCompat.BigPictureStyle(); if (PICTURE.hasValue()) bigPicture.bigPicture(PICTURE.getValueBitmap()); if (BIG_CONTENT_TITLE.hasValue()) bigPicture.setBigContentTitle(BIG_CONTENT_TITLE.getValueString()); if (SUMMARY_TEXT.hasValue()) bigPicture.setSummaryText(SUMMARY_TEXT.getValueString()); builder.setStyle(bigPicture); } else if (STYLE_BIG_TEXT.equals(styleValue)) { BigTextStyle bigText = new NotificationCompat.BigTextStyle(); if (BIG_TEXT.hasValue()) bigText.bigText(BIG_TEXT.getValueString()); if (BIG_CONTENT_TITLE.hasValue()) bigText.setBigContentTitle(BIG_CONTENT_TITLE.getValueString()); if (SUMMARY_TEXT.hasValue()) bigText.setSummaryText(SUMMARY_TEXT.getValueString()); builder.setStyle(bigText); } else if (STYLE_INBOX.equals(styleValue)) { InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); if (LINES.hasValue()) { for (String line : LINES.getValueString().split("\\n")) { inboxStyle.addLine(line); } } if (BIG_CONTENT_TITLE.hasValue()) inboxStyle.setBigContentTitle(BIG_CONTENT_TITLE.getValueString()); if (SUMMARY_TEXT.hasValue()) inboxStyle.setSummaryText(SUMMARY_TEXT.getValueString()); builder.setStyle(inboxStyle); } }
private void Notification(PushNotification noti, Context context) { NotificationDBProvider dbProvider = NotificationDBProvider.getInstance(context); PendingIntent pendingIntent = getPendingIntent(context, DummyActivity.class); ArrayList<String> messages = dbProvider.getUnReadMessageTitle6(); int count = dbProvider.getUnReadMessageCount(); Builder builder = new NotificationCompat.Builder(context); if (count > 1) { if (count > 9999) { builder.setContentTitle("9999+" + context.getString(R.string.new_notification)); } else { builder.setContentTitle(String.valueOf(count) + context.getString(R.string.new_notification)); } InboxStyle style = new InboxStyle(builder); if (count > messages.size()) { count = messages.size(); } for (int i = 0; i < count; i++) { style.addLine(messages.get(i)); } // style.setSummaryText("+ more"); builder.setStyle(style); } else { builder.setContentTitle(noti.title); builder.setContentText(noti.message); } commonBuilder(builder, pendingIntent, noti.message); NotificationManager notifyManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notifyManager.notify(0, builder.build()); Intent intentBoradCast = new Intent(Setting.BROADCAST_ALARM_UPDATE); LocalBroadcastManager.getInstance(context).sendBroadcast(intentBoradCast); }
private RemoteViews buildBigContentView(final String pkg, final CharSequence title, final List<CharSequence> lines) { // final Bitmap large_icon = evolved_extras.getParcelable(NotificationCompat.EXTRA_LARGE_ICON); Context context; try { context = createPackageContext(pkg, 0); } // This ensure the correct display of the small icon catch (final PackageManager.NameNotFoundException e) { context = this; } final Builder builder = new Builder(context)/*.setSmallIcon(evolved_n.icon).setLargeIcon(large_icon)*/; final InboxStyle inbox = new NotificationCompat.InboxStyle(builder).setBigContentTitle(title); for (final CharSequence line : lines) inbox.addLine(line); return inbox.build().bigContentView; }
public static void setInboxStyle(Builder builder, String title, List<String> lines) { builder.setNumber(lines.size()); InboxStyle inboxStyle = new InboxStyle(); inboxStyle.setBigContentTitle(title); for (String line : lines) { inboxStyle.addLine(line); } builder.setStyle(inboxStyle); }
public <E extends BaseEntity<?>> void showTriggersNotification( MovirtAccount account, List<Pair<E, Trigger>> entitiesAndTriggers, Context context, PendingIntent resultPendingIntent ) { Log.d(TAG, "Displaying notification " + notificationCount); if (entitiesAndTriggers.size() == 1) { // one entity displays in full format Pair<E, Trigger> entityAndTrigger = entitiesAndTriggers.get(0); showTriggerNotification(account, entityAndTrigger.second, entityAndTrigger.first, context, resultPendingIntent); return; } boolean critical = false; InboxStyle style = new NotificationCompat.InboxStyle(); for (int i = 0; i < entitiesAndTriggers.size(); i++) { Pair<E, Trigger> pair = entitiesAndTriggers.get(i); if (!critical && pair.second.getNotificationType() == Trigger.NotificationType.CRITICAL) { critical = true; } if (i < maxDisplayedNotifications) { style.addLine(pair.second.getCondition().getMessage(context, pair.first)); } } if (entitiesAndTriggers.size() > maxDisplayedNotifications) { style.addLine("."); // dummy line to show dots style.setSummaryText("+ " + (entitiesAndTriggers.size() - maxDisplayedNotifications) + " more"); } Notification notification = prepareNotification(context, resultPendingIntent, System.currentTimeMillis(), getEventTitle(account, critical)) .setStyle(style) .build(); notificationManager.notify(notificationCount++, notification); if (critical) { vibrator.vibrate(vibrationDuration); } }
private static Style makePreview (final List<Tweet> tweets, final int count) { if (tweets == null || tweets.size() < 1) return null; if (tweets.size() == 1) return new NotificationCompat.BigTextStyle() .bigText(tweetToSpanable(tweets.iterator().next())); final InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); for (final Tweet tweet : tweets) { inboxStyle.addLine(tweetToSpanable(tweet)); } if (tweets.size() < count) { inboxStyle.setSummaryText(String.format("+%s more", count - tweets.size())); } return inboxStyle; }
protected InboxStyle createInboxStyle(Builder builder) { return new InboxStyle(builder); }
@Override protected InboxStyle createInboxStyle(Builder builder) { return inboxStyle; }
private static void sendMultipleThreadNotification(Context context, MasterSecret masterSecret, NotificationState notificationState, boolean signal) { List<NotificationItem> notifications = notificationState.getNotifications(); NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setSmallIcon(R.drawable.icon_notification); builder.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_notification)); builder.setContentTitle(String.format(context.getString(R.string.MessageNotifier_d_new_messages), notificationState.getMessageCount())); builder.setContentText(String.format(context.getString(R.string.MessageNotifier_most_recent_from_s), notifications.get(0).getIndividualRecipientName())); builder.setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, RoutingActivity.class), 0)); builder.setContentInfo(String.valueOf(notificationState.getMessageCount())); builder.setNumber(notificationState.getMessageCount()); builder.setDeleteIntent(PendingIntent.getBroadcast(context, 0, new Intent(DeleteReceiver.DELETE_REMINDER_ACTION), 0)); if (masterSecret != null) { builder.addAction(R.drawable.check, context.getString(R.string.MessageNotifier_mark_all_as_read), notificationState.getMarkAsReadIntent(context, masterSecret)); } InboxStyle style = new InboxStyle(); ListIterator<NotificationItem> iterator = notifications.listIterator(notifications.size()); while(iterator.hasPrevious()) { NotificationItem item = iterator.previous(); style.addLine(item.getTickerText()); } builder.setStyle(style); setNotificationAlarms(context, builder, signal); if (signal) { builder.setTicker(notifications.get(0).getTickerText()); } ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE)) .notify(NOTIFICATION_ID, builder.build()); }
private static void sendMultipleThreadNotification(Context context, MasterSecret masterSecret, NotificationState notificationState, boolean signal) { List<NotificationItem> notifications = notificationState.getNotifications(); NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setColor(context.getResources().getColor(R.color.textsecure_primary)); builder.setSmallIcon(R.drawable.icon_notification); builder.setContentTitle(context.getString(R.string.app_name)); builder.setSubText(context.getString(R.string.MessageNotifier_d_messages_in_d_conversations, notificationState.getMessageCount(), notificationState.getThreadCount())); builder.setContentText(context.getString(R.string.MessageNotifier_most_recent_from_s, notifications.get(0).getIndividualRecipientName())); builder.setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, ConversationListActivity.class), 0)); builder.setContentInfo(String.valueOf(notificationState.getMessageCount())); builder.setNumber(notificationState.getMessageCount()); builder.setCategory(NotificationCompat.CATEGORY_MESSAGE); long timestamp = notifications.get(0).getTimestamp(); if (timestamp != 0) builder.setWhen(timestamp); builder.setDeleteIntent(PendingIntent.getBroadcast(context, 0, new Intent(DeleteReceiver.DELETE_REMINDER_ACTION), 0)); if (masterSecret != null) { Action markAllAsReadAction = new Action(R.drawable.check, context.getString(R.string.MessageNotifier_mark_all_as_read), notificationState.getMarkAsReadIntent(context, masterSecret)); builder.addAction(markAllAsReadAction); builder.extend(new NotificationCompat.WearableExtender().addAction(markAllAsReadAction)); } InboxStyle style = new InboxStyle(); ListIterator<NotificationItem> iterator = notifications.listIterator(notifications.size()); while(iterator.hasPrevious()) { NotificationItem item = iterator.previous(); style.addLine(item.getTickerText()); if (item.getIndividualRecipient().getContactUri() != null) { builder.addPerson(item.getIndividualRecipient().getContactUri().toString()); } } builder.setStyle(style); setNotificationAlarms(context, builder, signal, notificationState.getRingtone(), notificationState.getVibrate()); if (signal) { builder.setTicker(notifications.get(0).getTickerText()); } ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE)) .notify(NOTIFICATION_ID, builder.build()); }
private static void sendMultipleThreadNotification(Context context, MasterSecret masterSecret, NotificationState notificationState, boolean signal) { List<NotificationItem> notifications = notificationState.getNotifications(); NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setSmallIcon(R.drawable.icon_notification); builder.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_notification)); builder.setContentTitle(String.format(context.getString(R.string.MessageNotifier_d_new_messages), notificationState.getMessageCount())); builder.setContentText(String.format(context.getString(R.string.MessageNotifier_most_recent_from_s), notifications.get(0).getIndividualRecipientName())); builder.setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, RoutingActivity.class), 0)); builder.setContentInfo(String.valueOf(notificationState.getMessageCount())); builder.setNumber(notificationState.getMessageCount()); if (masterSecret != null) { builder.addAction(R.drawable.check, context.getString(R.string.MessageNotifier_mark_all_as_read), notificationState.getMarkAsReadIntent(context, masterSecret)); } InboxStyle style = new InboxStyle(); for (NotificationItem item : notifications) { style.addLine(item.getTickerText()); } builder.setStyle(style); setNotificationAlarms(context, builder, signal); if (signal) { builder.setTicker(notifications.get(0).getTickerText()); } ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE)) .notify(NOTIFICATION_ID, builder.build()); }