package org.qii.weiciyuan.othercomponent.unreadnotification; import org.qii.weiciyuan.bean.AccountBean; import org.qii.weiciyuan.bean.CommentBean; import org.qii.weiciyuan.bean.CommentListBean; import org.qii.weiciyuan.bean.MessageBean; import org.qii.weiciyuan.bean.MessageListBean; import org.qii.weiciyuan.bean.UnreadBean; import org.qii.weiciyuan.support.database.NotificationDBTask; import org.qii.weiciyuan.support.utils.BundleArgsConstants; import org.qii.weiciyuan.support.utils.NotificationUtility; import org.qii.weiciyuan.ui.main.MainTimeLineActivity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import java.util.Iterator; import java.util.List; import java.util.Set; /** * User: Jiang Qi * Date: 12-7-31 */ @Deprecated public class UnreadMsgReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { AccountBean accountBean = (AccountBean) intent .getParcelableExtra(BundleArgsConstants.ACCOUNT_EXTRA); CommentListBean commentsToMeData = (CommentListBean) intent .getParcelableExtra(BundleArgsConstants.COMMENTS_TO_ME_EXTRA); MessageListBean mentionsWeiboData = (MessageListBean) intent .getParcelableExtra(BundleArgsConstants.MENTIONS_WEIBO_EXTRA); CommentListBean mentionsCommentData = (CommentListBean) intent .getParcelableExtra(BundleArgsConstants.MENTIONS_COMMENT_EXTRA); UnreadBean unreadBean = (UnreadBean) intent .getParcelableExtra(BundleArgsConstants.UNREAD_EXTRA); showNotification(context, accountBean, mentionsWeiboData, commentsToMeData, mentionsCommentData, unreadBean); } private void showNotification(Context context, AccountBean accountBean, MessageListBean mentionsWeiboData, CommentListBean commentsToMeData , CommentListBean mentionsCommentData, UnreadBean unreadBean) { Intent clickNotificationToOpenAppPendingIntentInner = MainTimeLineActivity .newIntent(accountBean, mentionsWeiboData, mentionsCommentData, commentsToMeData, unreadBean); clickNotificationToOpenAppPendingIntentInner .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); String accountId = accountBean.getUid(); Set<String> dbUnreadMentionsWeibo = NotificationDBTask.getUnreadMsgIds(accountId, NotificationDBTask.UnreadDBType.mentionsWeibo); Set<String> dbUnreadMentionsComment = NotificationDBTask.getUnreadMsgIds(accountId, NotificationDBTask.UnreadDBType.mentionsComment); Set<String> dbUnreadCommentsToMe = NotificationDBTask.getUnreadMsgIds(accountId, NotificationDBTask.UnreadDBType.commentsToMe); if (mentionsWeiboData != null && mentionsWeiboData.getSize() > 0) { List<MessageBean> msgList = mentionsWeiboData.getItemList(); Iterator<MessageBean> iterator = msgList.iterator(); while (iterator.hasNext()) { MessageBean msg = iterator.next(); if (dbUnreadMentionsWeibo.contains(msg.getId())) { iterator.remove(); } } } if (mentionsCommentData != null && mentionsCommentData.getSize() > 0) { List<CommentBean> msgList = mentionsCommentData.getItemList(); Iterator<CommentBean> iterator = msgList.iterator(); while (iterator.hasNext()) { CommentBean msg = iterator.next(); if (dbUnreadMentionsComment.contains(msg.getId())) { iterator.remove(); } } } if (commentsToMeData != null && commentsToMeData.getSize() > 0) { List<CommentBean> msgList = commentsToMeData.getItemList(); Iterator<CommentBean> iterator = msgList.iterator(); while (iterator.hasNext()) { CommentBean msg = iterator.next(); if (dbUnreadCommentsToMe.contains(msg.getId())) { iterator.remove(); } } } boolean mentionsWeibo = (mentionsWeiboData != null && mentionsWeiboData.getSize() > 0); boolean mentionsComment = (mentionsCommentData != null && mentionsCommentData.getSize() > 0); boolean commentsToMe = (commentsToMeData != null && commentsToMeData.getSize() > 0); if (!mentionsWeibo && !mentionsComment && !commentsToMe) { return; } // boolean commentsToMeDataSizeIsLarge = (commentsToMeData != null) && ( // commentsToMeData.getSize() >= Integer.valueOf( // SettingUtility.getMsgCount())); // // boolean mentionsWeiboDataSizeIsLarge = (mentionsWeiboData != null) && ( // mentionsWeiboData.getSize() >= Integer.valueOf( // SettingUtility.getMsgCount())); // // boolean mentionsCommentDataSizeIsLarge = (mentionsCommentData != null) && ( // mentionsCommentData.getSize() >= Integer.valueOf( // SettingUtility.getMsgCount())); // // boolean showSimpleTextNotification = commentsToMeDataSizeIsLarge // || mentionsWeiboDataSizeIsLarge || mentionsCommentDataSizeIsLarge; // if (showSimpleTextNotification) { // String ticker = NotificationUtility // .getTicker(unreadBean); // Intent intent = new Intent(context, // SimpleTextNotificationService.class); // // intent.putExtra(NotificationServiceHelper.ACCOUNT_ARG, accountBean); // intent.putExtra(NotificationServiceHelper.UNREAD_ARG, unreadBean); // intent.putExtra(NotificationServiceHelper.PENDING_INTENT_INNER_ARG, // clickNotificationToOpenAppPendingIntentInner); // intent.putExtra(NotificationServiceHelper.TICKER, ticker); // context.startService(intent); // // } else { String ticker = NotificationUtility .getTicker(unreadBean, mentionsWeiboData, mentionsCommentData, commentsToMeData); Intent intent = BigTextNotificationService .newIntent(accountBean, mentionsWeiboData, commentsToMeData, mentionsCommentData, unreadBean, clickNotificationToOpenAppPendingIntentInner, ticker, 0); context.startService(intent); } }