@Override
  public boolean handleMessage(android.os.Message msg) {
    switch (msg.what) {
      case PREPARE_LIST:
        List<String> mMemberInfo = (List<String>) msg.obj;
        int i = 0;
        for (String id : mMemberInfo) {
          if (i < 50) {
            UserInfo userInfo = RongContext.getInstance().getUserInfoFromCache(id);
            if (userInfo == null) {
              mMembers.add(new UserInfo(id, null, null));
            } else mMembers.add(userInfo);
          } else {
            break;
          }

          i++;
        }
        UserInfo addBtn = new UserInfo("RongAddBtn", null, null);
        mMembers.add(addBtn);

        String curUserId = RongIM.getInstance().getRongIMClient().getCurrentUserId();
        if (mAdapter.getCreatorId() != null
            && mConversationType.equals(Conversation.ConversationType.DISCUSSION)
            && curUserId.equals(mAdapter.getCreatorId())) {
          UserInfo deleteBtn = new UserInfo("RongDelBtn", null, null);
          mMembers.add(deleteBtn);
        }

        mAdapter.addCollection(mMembers);
        mAdapter.notifyDataSetChanged();
        break;
      case REMOVE_ITEM:
        int position = (Integer) msg.obj;
        mAdapter.remove(position);
        mAdapter.notifyDataSetChanged();
        break;
      case SHOW_TOAST:
        break;
    }
    return true;
  }