package com.jasonchen.microlang.dao; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.jasonchen.microlang.beans.CommentBean; import com.jasonchen.microlang.beans.CommentListBean; import com.jasonchen.microlang.debug.AppLogger; import com.jasonchen.microlang.settings.SettingUtility; import com.jasonchen.microlang.utils.GlobalContext; import com.jasonchen.microlang.utils.TimeUtility; import com.jasonchen.microlang.utils.http.HttpMethod; import com.jasonchen.microlang.utils.http.HttpUtility; import com.jasonchen.microlang.utils.http.URLHelper; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import com.jasonchen.microlang.exception.WeiboException; /** * jasonchen * 2015/04/10 */ public class MentionsCommentTimeLineDao { public MentionsCommentTimeLineDao(String access_token) { this.access_token = access_token; this.count = SettingUtility.getMsgCount(); } public void setSince_id(String since_id) { this.since_id = since_id; } public void setMax_id(String max_id) { this.max_id = max_id; } public void setPage(String page) { this.page = page; } public void setFilter_by_author(String filter_by_author) { this.filter_by_author = filter_by_author; } protected String access_token; private String since_id; private String max_id; private String count; private String page; private String filter_by_author; private String filter_by_source; protected String getUrl() { return URLHelper.COMMENTS_MENTIONS_TIMELINE; } public CommentListBean getGSONMsgListWithoutClearUnread() throws WeiboException { String url = getUrl(); Map<String, String> map = new HashMap<String, String>(); map.put("access_token", GlobalContext.getInstance().getSpecialBlackToken()); map.put("since_id", since_id); map.put("max_id", max_id); map.put("count", count); map.put("page", page); map.put("filter_by_author", filter_by_author); map.put("filter_by_source", filter_by_source); String jsonData = HttpUtility.getInstance().executeNormalTask(HttpMethod.Get, url, map); Gson gson = new Gson(); CommentListBean value = null; try { value = gson.fromJson(jsonData, CommentListBean.class); } catch (JsonSyntaxException e) { AppLogger.e(e.getMessage()); } if (value != null && value.getSize() > 0) { List<CommentBean> msgList = value.getItemList(); Iterator<CommentBean> iterator = msgList.iterator(); while (iterator.hasNext()) { CommentBean msg = iterator.next(); if (msg.getUser() == null) { iterator.remove(); } else { msg.getListViewSpannableString(); TimeUtility.dealMills(msg); } } } return value; } public CommentListBean getGSONMsgList() throws WeiboException { CommentListBean value = getGSONMsgListWithoutClearUnread(); clearUnread(); return value; } protected void clearUnread() { try { new ClearUnreadDao(access_token, ClearUnreadDao.MENTION_CMT).clearUnread(); } catch (WeiboException ignored) { } } }