123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- package com.cooleshow.chatmodule.ui;
- import android.content.Intent;
- import android.os.Bundle;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.RadioGroup;
- import com.alibaba.android.arouter.facade.annotation.Route;
- import com.alibaba.android.arouter.launcher.ARouter;
- import com.cooleshow.base.bean.StudentPageListBean;
- import com.cooleshow.base.router.RouterPath;
- import com.cooleshow.base.ui.activity.BaseMVPActivity;
- import com.cooleshow.base.utils.ToastUtil;
- import com.cooleshow.base.utils.UiUtils;
- import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
- import com.cooleshow.chatmodule.R;
- import com.cooleshow.chatmodule.adapter.CreateGroupMemberAdapter;
- import com.cooleshow.chatmodule.constants.TCChatRouterPath;
- import com.cooleshow.chatmodule.contract.CreateGroupContract;
- import com.cooleshow.chatmodule.databinding.TcActivityCreateGroupBinding;
- import com.cooleshow.chatmodule.presenter.CreateGroupPresenter;
- import com.cooleshow.usercenter.constants.UserConstants;
- import com.cooleshow.usercenter.helper.UserHelper;
- import java.util.ArrayList;
- import java.util.List;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.recyclerview.widget.LinearLayoutManager;
- /**
- * 创建日期:2022/6/10 17:23
- *
- * @author Ryan
- * 类说明:
- */
- @Route(path = TCChatRouterPath.CHAT_CREATE_GROUP)
- public class CreateGroupActivity extends BaseMVPActivity<TcActivityCreateGroupBinding, CreateGroupPresenter> implements CreateGroupContract.CreateGroupView, View.OnClickListener {
- public static final int REQUEST_CODE_SELECT = 10001;
- public static final String GROUP_TYPE_FAN = "FAN";
- public static final String GROUP_TYPE_ORG = "ORG";
- private CreateGroupMemberAdapter mMemberAdapter;
- private String groupType = GROUP_TYPE_FAN;
- private ArrayList<String> memberListResult = null;
- private String currentUserId;
- @Override
- public void onClick(View view) {
- int id = view.getId();
- if (id == R.id.tv_create) {
- if (UiUtils.isFastClick(3000)) {
- return;
- }
- String groupName = viewBinding.etGroupName.getText().toString().trim();
- if (TextUtils.isEmpty(groupName)) {
- ToastUtil.getInstance().showShort("请输入群聊名称");
- return;
- }
- if (!checkTenantCondition()) {
- return;
- }
- String introduction = viewBinding.etIntroduction.getText().toString().trim();
- presenter.createGroup(groupName, introduction, groupType, memberListResult);
- }
- if (id == R.id.tv_add_members) {
- ArrayList<StudentPageListBean.RowsBean> cList = new ArrayList<>(mMemberAdapter.getData());
- ARouter.getInstance().build(RouterPath.MineCenter.SELECT_TENANT_MEMBER)
- .withParcelableArrayList("list", cList)
- .navigation(this, REQUEST_CODE_SELECT);
- return;
- }
- }
- private boolean checkTenantCondition() {
- String tenantId = UserHelper.getTenantId();
- if (!UserHelper.isTenantAccount(tenantId)) {
- return true;
- }
- int checkId = viewBinding.rgGroupType.getCheckedRadioButtonId();
- if (checkId == -1) {
- ToastUtil.getInstance().showShort("请选择需要创建的群类型");
- return false;
- }
- if (checkId == R.id.rb_jg_group_type) {
- groupType = GROUP_TYPE_ORG;
- } else {
- groupType = GROUP_TYPE_FAN;
- }
- if (groupType == GROUP_TYPE_ORG) {
- List<StudentPageListBean.RowsBean> data = mMemberAdapter.getData();
- memberListResult = new ArrayList<>();
- for (int i = data.size() - 1; i >= 0; i--) {
- StudentPageListBean.RowsBean rowsBean = data.get(i);
- memberListResult.add(rowsBean.getImUserId());
- }
- }
- return true;
- }
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- QMUIStatusBarHelper.setStatusBarLightMode(this);
- }
- @Override
- protected void initView() {
- initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "创建群聊");
- viewBinding.tvCreate.setOnClickListener(this);
- viewBinding.tvAddMembers.setOnClickListener(this);
- }
- @Override
- public void initData() {
- super.initData();
- currentUserId = UserHelper.getImUserId();
- String tenantId = UserHelper.getTenantId();
- if (UserHelper.isTenantAccount(tenantId)) {
- viewBinding.csGroupType.setVisibility(View.VISIBLE);
- viewBinding.csMember.setVisibility(View.VISIBLE);
- }
- mMemberAdapter = new CreateGroupMemberAdapter("");
- viewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
- viewBinding.recyclerView.setAdapter(mMemberAdapter);
- initListener();
- }
- private void initListener() {
- viewBinding.rgGroupType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(RadioGroup group, int checkedId) {
- viewBinding.csMember.setVisibility(checkedId == viewBinding.rbJgGroupType.getId() ? View.VISIBLE : View.GONE);
- }
- });
- }
- @NonNull
- private ArrayList<StudentPageListBean.RowsBean> getOwnerData() {
- StudentPageListBean.RowsBean rowsBean = new StudentPageListBean.RowsBean();
- rowsBean.setUserId(UserHelper.getImUserId());
- rowsBean.setAvatar(UserHelper.getUserAvatar());
- rowsBean.setUsername(UserHelper.getUserName());
- ArrayList<StudentPageListBean.RowsBean> list = new ArrayList();
- list.add(rowsBean);
- return list;
- }
- @Override
- protected TcActivityCreateGroupBinding getLayoutView() {
- return TcActivityCreateGroupBinding.inflate(getLayoutInflater());
- }
- @Override
- protected CreateGroupPresenter createPresenter() {
- return new CreateGroupPresenter();
- }
- @Override
- public void createImGroupSuccess() {
- ToastUtil.getInstance().showShort("创建成功");
- finish();
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode == RESULT_OK) {
- if (requestCode == REQUEST_CODE_SELECT) {
- assert data != null;
- ArrayList<StudentPageListBean.RowsBean> selectMembers = data.getParcelableArrayListExtra("result");
- if (selectMembers != null) {
- if (selectMembers.size() > 0) {
- viewBinding.recyclerView.setVisibility(View.VISIBLE);
- } else {
- viewBinding.recyclerView.setVisibility(View.GONE);
- }
- if (mMemberAdapter != null) {
- mMemberAdapter.setList(selectMembers);
- }
- }
- }
- }
- }
- }
|