package com.jasonchen.microlang.utils;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import com.jasonchen.microlang.R;
import com.jasonchen.microlang.beans.CommentListBean;
import com.jasonchen.microlang.beans.MessageListBean;
import com.jasonchen.microlang.beans.UnreadBean;
/**
* jasonchen
* 2015/04/10
*/
public class NotificationUtility {
private NotificationUtility() {
// Forbidden being instantiated.
}
public static int getCount(UnreadBean unreadBean) {
int count = 0;
if (SettingUtility.allowMentionToMe()) {
count += unreadBean.getMention_status();
}
if (SettingUtility.allowCommentToMe()) {
count += unreadBean.getCmt();
}
if (SettingUtility.allowMentionCommentToMe()) {
count += unreadBean.getMention_cmt();
}
return count;
}
@Deprecated
public static String getTicker(UnreadBean unreadBean, MessageListBean mentionsWeibo,
CommentListBean mentionsComment,
CommentListBean commentsToMe) {
int unreadMentionCmt = unreadBean.getMention_cmt();
int unreadMentionStatus = unreadBean.getMention_status();
int mention = 0;
if (SettingUtility.allowMentionToMe() && unreadMentionStatus > 0 && mentionsWeibo != null) {
int actualFetchedSize = mentionsWeibo.getSize();
if (actualFetchedSize < Integer.valueOf(SettingUtility.getMsgCount())) {
mention += actualFetchedSize;
} else {
mention += Math.max(actualFetchedSize, unreadMentionStatus);
}
}
if (SettingUtility.allowMentionCommentToMe() && unreadMentionCmt > 0
&& mentionsComment != null) {
int actualFetchedSize = mentionsComment.getSize();
if (actualFetchedSize < Integer.valueOf(SettingUtility.getMsgCount())) {
mention += actualFetchedSize;
} else {
mention += Math.max(actualFetchedSize, unreadMentionCmt);
}
}
StringBuilder stringBuilder = new StringBuilder();
if (mention > 0) {
String txt = String.format(GlobalContext.getInstance().getString(R.string.new_mentions),
String.valueOf(mention));
stringBuilder.append(txt);
}
int unreadCmt = unreadBean.getCmt();
int cmt = 0;
if (SettingUtility.allowCommentToMe() && unreadCmt > 0 && commentsToMe != null) {
//
int actualFetchedSize = commentsToMe.getSize();
if (actualFetchedSize < Integer.valueOf(SettingUtility.getMsgCount())) {
cmt += actualFetchedSize;
} else {
cmt += Math.max(actualFetchedSize, unreadCmt);
}
if (mention > 0) {
stringBuilder.append("、");
}
if (cmt > 0) {
String txt = String
.format(GlobalContext.getInstance().getString(R.string.new_comments),
String.valueOf(cmt));
stringBuilder.append(txt);
}
}
return stringBuilder.toString();
}
@Deprecated
public static String getTicker(UnreadBean unreadBean) {
int unreadMentionCmt = unreadBean.getMention_cmt();
int unreadMentionStatus = unreadBean.getMention_status();
int unreadCmt = unreadBean.getCmt();
int messageCount = unreadMentionCmt + unreadMentionStatus + unreadCmt;
String txt = String
.format(GlobalContext.getInstance().getString(R.string.new_unread_messages),
String.valueOf(messageCount));
return txt;
}
public static void show(Notification notification, int id) {
NotificationManager notificationManager = (NotificationManager) GlobalContext.getInstance()
.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(id, notification);
}
public static void cancel(int id) {
NotificationManager notificationManager = (NotificationManager) GlobalContext.getInstance()
.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(id);
}
}