/** * 获取account指定用户的好友分组列表 * * @param account 为null时默认获取当前activity用户的列表 */ public void fetchList(AccountModel account, final FetchCompleteListener listener) { if (listener == null) throw new NullPointerException("Fetch Listener can not be null"); FetchHandler<GroupsModel> handler = new FetchHandler<GroupsModel>(account, listener) { @Override public void callAPI(Oauth2AccessToken oa, RequestListener listener) { GroupsAPI groupsAPI = new GroupsAPI(oa); groupsAPI.groupsList(listener); } @Override public void convertData(String arg0, ArrayList<GroupsModel> list, Message msg) throws JSONException { JSONObject root = new JSONObject(arg0); JSONArray groupsArray = root.optJSONArray("lists"); if (groupsArray == null || groupsArray.length() == 0) { msg.arg1 = FETCH_EMPTY; msg.obj = list; return; } for (int i = 0; i < groupsArray.length(); i++) { JSONObject groups = groupsArray.getJSONObject(i); GroupsModel model = new GroupsModel(); if (WeiboConverter.convertGroupsModel(groups, model)) { list.add(model); } } msg.arg1 = FETCH_SUCCEED_NEWS; msg.obj = list; } }; handler.fetch(); }
public void fetchStatus( final long list_id, final long since_id, final long max_id, final int count, final int page, FetchCompleteListener listener) { if (listener == null) throw new NullPointerException("Fetch Listener can not be null"); FetchHandler<StatusModel> handler = new FetchHandler<StatusModel>(listener) { @Override public void callAPI(Oauth2AccessToken oa, RequestListener listener) { GroupsAPI groupsAPI = new GroupsAPI(oa); groupsAPI.timeline( list_id, since_id, max_id, count, page, false, FEATURE.ALL, listener); } @Override public void convertData(String arg0, ArrayList<StatusModel> list, Message msg) throws JSONException { JSONObject root = new JSONObject(arg0); JSONArray statusArray = root.optJSONArray("statuses"); if (statusArray == null || statusArray.length() == 0) { msg.arg1 = FETCH_EMPTY; msg.obj = list; return; } list.clear(); for (int i = 0; i < statusArray.length(); i++) { JSONObject status = statusArray.getJSONObject(i); StatusModel itemModel = new StatusModel(); WeiboConverter.convertStatusToModel(status, itemModel); if (itemModel != null) { list.add(itemModel); } } if (max_id == 0) { msg.arg1 = FETCH_SUCCEED_NEWS; } else { msg.arg1 = FETCH_SUCCEED_MORE; } msg.obj = list; } }; handler.fetch(); }