项目:Onosendai
文件:Notifications.java
private static void updateColumn (final Context context,final DbInterface db,final Column col,final notificationmanager nm) {
final int nId = idForColumn(col);
final int count = db.getUnreadCount(col);
if (count > 0) {
final Intent showMainActI = new Intent(context,MainActivity.class)
.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
.putExtra(MainActivity.ARG_FOCUS_COLUMN_ID,col.getId());
final PendingIntent showMainActPi = PendingIntent.getActivity(context,col.getId(),showMainActI,PendingIntent.FLAG_CANCEL_CURRENT);
final List<Tweet> tweets = db.getTweets(col.getId(),Math.min(count,5),Selection.FILTERED,col.getExcludeColumnIds(),col.getInlineMediaStyle() == InlineMediaStyle.SEAMLESS,col.getNotificationStyle().isExcludeRetweets(),!col.getNotificationStyle().isIncludeOwnTweets());
final String msg = makeMsg(col,tweets,count);
final Style style = makePreview(tweets,count);
final PendingIntent markAsReadPi = MarkAsReadReceiver.makePi(context,col,tweets);
final Builder nb = new NotificationCompat.Builder(context)
.setonlyAlertOnce(true)
.setSmallIcon(notificationIcon())
.setContentTitle(col.getTitle())
.setContentText(msg)
.setTicker(msg)
.setNumber(count)
.setContentIntent(showMainActPi)
.setAutoCancel(true)
.setWhen(System.currentTimeMillis())
.setStyle(style);
if (markAsReadPi != null) nb.addAction(android.R.drawable.ic_menu_close_clear_cancel,"Mark as read",markAsReadPi); //ES
applyStyle(nb,col.getNotificationStyle());
nm.notify(nId,nb.build());
}
else {
nm.cancel(nId);
}
}
项目:Onosendai
文件:Notifications.java
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;
}
private static void addMediaStyletoBuilderLollipop(NotificationBuilderWithBuilderAccessor builder,Style style) {
if (style instanceof MediaStyle) {
MediaStyle mediaStyle = (MediaStyle) style;
NotificationCompatImpl21.addMediaStyle(builder,mediaStyle.mActionsToShowInCompact,mediaStyle.mToken != null ? mediaStyle.mToken.getToken() : null);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。