Exemple #1
0
  /**
   * 获取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();
  }
Exemple #2
0
  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();
  }