浏览代码

修复bug

Pq 3 年之前
父节点
当前提交
203c6d8d0c
共有 20 个文件被更改,包括 236 次插入70 次删除
  1. 10 0
      BaseLibrary/src/main/java/com/cooleshow/base/utils/JumpUtils.java
  2. 1 1
      BaseLibrary/src/main/res/drawable/shape_click_btn.xml
  3. 14 26
      rong_im/common_im_ui/src/main/java/com/common/im/adapter/GroupMemberAdapter.java
  4. 6 0
      rong_im/common_im_ui/src/main/java/com/common/im/adapter/NoticeListAdapter.java
  5. 9 0
      rong_im/common_im_ui/src/main/java/com/common/im/api/IMApi.java
  6. 3 3
      rong_im/common_im_ui/src/main/java/com/common/im/bean/GroupMemberBean.java
  7. 3 3
      rong_im/common_im_ui/src/main/java/com/common/im/bean/RongIMGroupInfo.java
  8. 2 0
      rong_im/common_im_ui/src/main/java/com/common/im/contract/ChatGroupSettingContract.java
  9. 1 1
      rong_im/common_im_ui/src/main/java/com/common/im/contract/SetRemarksContract.java
  10. 51 8
      rong_im/common_im_ui/src/main/java/com/common/im/presenter/ChatGroupSettingPresenter.java
  11. 0 1
      rong_im/common_im_ui/src/main/java/com/common/im/presenter/MessagePresenter.java
  12. 1 1
      rong_im/common_im_ui/src/main/java/com/common/im/presenter/SetRemarksPresenter.java
  13. 69 16
      rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/ChatGroupSettingActivity.java
  14. 9 0
      rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/GroupMemberActivity.java
  15. 9 0
      rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/ImAppealActivity.java
  16. 9 3
      rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/NoticeActivity.java
  17. 33 2
      rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/SetRemarksActivity.java
  18. 3 1
      rong_im/common_im_ui/src/main/res/layout/activity_chat_group_setting.xml
  19. 0 2
      rong_im/common_im_ui/src/main/res/layout/activity_im_appeal.xml
  20. 3 2
      rong_im/common_im_ui/src/main/res/layout/group_member_list_item.xml

+ 10 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/JumpUtils.java

@@ -109,4 +109,14 @@ public class JumpUtils {
         }
         return "";
     }
+
+    /**
+     * 跳转首页,选中目标页面
+     * @param selectPosition
+     */
+    public static void jumpMain(int selectPosition){
+        ARouter.getInstance().build(RouterPath.APPCenter.PATH_HOME)
+                .withInt(Constants.MAIN_PAGE_SELECT_POTION_KEY, selectPosition)
+                .navigation();
+    }
 }

+ 1 - 1
BaseLibrary/src/main/res/drawable/shape_click_btn.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/color_ff2dc7aa"/>
+    <solid android:color="@color/color_01c1b5"/>
     <corners android:radius="39dp"/>
 </shape>

+ 14 - 26
rong_im/common_im_ui/src/main/java/com/common/im/adapter/GroupMemberAdapter.java

@@ -10,6 +10,7 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.common.im.bean.GroupMemberBean;
 import com.common.im_ui.R;
 import com.cooleshow.base.utils.GlideUtils;
+import com.cooleshow.usercenter.helper.UserHelper;
 
 import java.util.List;
 
@@ -20,20 +21,23 @@ import java.util.List;
  * 类说明:
  */
 public class GroupMemberAdapter extends BaseQuickAdapter<GroupMemberBean, BaseViewHolder> {
+    private String currentId;
 
     public GroupMemberAdapter(List<GroupMemberBean> data) {
         super(R.layout.group_member_list_item, data);
+        currentId = UserHelper.getUserId();
     }
 
 
     @Override
     protected void convert(BaseViewHolder helper, GroupMemberBean bean) {
 
-        ImageView ivIcon=helper.getView(R.id.iv_icon);
-        TextView tvTitle=helper.getView(R.id.tv_title);
-        TextView tvType=helper.getView(R.id.tv_type);
-        View viewLine=helper.getView(R.id.view_line);
-       int position= getItemPosition(bean);
+        ImageView ivIcon = helper.getView(R.id.iv_icon);
+        TextView tvTitle = helper.getView(R.id.tv_title);
+        TextView tvType = helper.getView(R.id.tv_type);
+        View viewLine = helper.getView(R.id.view_line);
+        ImageView imageView2 = helper.getView(R.id.imageView2);
+        int position = getItemPosition(bean);
         if (position == getItemCount() - 1 || !bean.getSuspensionTag().equals(getData().get(position + 1).getSuspensionTag())) {
             viewLine.setVisibility(View.INVISIBLE);
         } else {
@@ -41,29 +45,13 @@ public class GroupMemberAdapter extends BaseQuickAdapter<GroupMemberBean, BaseVi
         }
 
         if (null != bean) {
-            String title = bean.getRoleType();
-            GlideUtils.INSTANCE.loadImage(getContext(),bean.getAvatar(),ivIcon);
+            String roleType = bean.getRoleType();
+            GlideUtils.INSTANCE.loadImage(getContext(), bean.getAvatar(), ivIcon);
             tvTitle.setText(bean.getNickname());
-            if (!TextUtils.isEmpty(title) && "乐团主管".equals(title)) {
-                tvType.setText(title);
-                tvType.setBackgroundResource(com.cooleshow.base.R.drawable.bg_group_member_item_yelloy);
-            } else if (!TextUtils.isEmpty(title) && "运营主管".equals(title)) {
-                tvType.setText(title);
-                tvType.setBackgroundResource(com.cooleshow.base.R.drawable.bg_group_member_item_green);
-            } else if (!TextUtils.isEmpty(title) && "乐队指导".equals(title)) {
-                tvType.setText(title);
-                tvType.setBackgroundResource(com.cooleshow.base.R.drawable.bg_group_member_item_blue);
-            } else if (!TextUtils.isEmpty(title) && "指导老师".equals(title)) {
-                tvType.setText(title);
-                tvType.setBackgroundResource(com.cooleshow.base.R.drawable.bg_group_member_item_light_blue);
-            } else if (!TextUtils.isEmpty(title) && "衔接老师".equals(title)) {
-                tvType.setText(title);
-                tvType.setBackgroundResource(com.cooleshow.base.R.drawable.bg_group_member_item_red_fc9);
-            } else if (!TextUtils.isEmpty(title)) {
-                tvType.setText(title);
-                tvType.setBackground(null);
+            if (TextUtils.equals(currentId, bean.getUserId())) {
+                imageView2.setVisibility(View.GONE);
             } else {
-                tvType.setVisibility(View.GONE);
+                imageView2.setVisibility(View.VISIBLE);
             }
         }
 

+ 6 - 0
rong_im/common_im_ui/src/main/java/com/common/im/adapter/NoticeListAdapter.java

@@ -15,6 +15,7 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.common.im.bean.GroupNoticeBean;
 import com.common.im.bean.MusicSheetListBean;
 import com.common.im_ui.R;
+import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.utils.DateUtil;
 import com.cooleshow.base.utils.GlideUtils;
 
@@ -55,6 +56,11 @@ public class NoticeListAdapter extends BaseQuickAdapter<GroupNoticeBean.RowsBean
         }
         tvTitle.setText(bean.title);
         tvContent.setText(bean.content);
+        if (BaseApplication.Companion.isTeacherClient()) {
+            ivSetting.setVisibility(View.VISIBLE);
+        } else {
+            ivSetting.setVisibility(View.GONE);
+        }
         ivSetting.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {

+ 9 - 0
rong_im/common_im_ui/src/main/java/com/common/im/api/IMApi.java

@@ -211,4 +211,13 @@ public interface IMApi {
     @POST(TEACHER_GROUP + "sysImComplaint/add")
     Observable<BaseResponse<Object>> sysImComplaint(@Body RequestBody body);
 
+
+    /**
+     * 解散群组
+     *
+     * @param groupId
+     * @return
+     */
+    @POST(TEACHER_GROUP + "imGroup/dismiss/{groupId}")
+    Observable<BaseResponse<Object>> dissolveChatGroup(@Path("groupId") String groupId);
 }

+ 3 - 3
rong_im/common_im_ui/src/main/java/com/common/im/bean/GroupMemberBean.java

@@ -33,7 +33,7 @@ public class GroupMemberBean  extends BaseIndexPinyinBean implements Serializabl
     private String nickname;
     private String roleType;
     private String updateTime;
-    private long userId;
+    private String userId;
 
     public String getAvatar() {
         return avatar;
@@ -99,11 +99,11 @@ public class GroupMemberBean  extends BaseIndexPinyinBean implements Serializabl
         this.updateTime = updateTime;
     }
 
-    public long getUserId() {
+    public String getUserId() {
         return userId;
     }
 
-    public void setUserId(long userId) {
+    public void setUserId(String userId) {
         this.userId = userId;
     }
 

+ 3 - 3
rong_im/common_im_ui/src/main/java/com/common/im/bean/RongIMGroupInfo.java

@@ -30,7 +30,7 @@ public class RongIMGroupInfo {
     private String id;
     private String img;
     private String introduce;
-    private int memberNum;
+    private String memberNum;
     private String memo;
     private String name;
     private String type;
@@ -100,11 +100,11 @@ public class RongIMGroupInfo {
         this.introduce = introduce;
     }
 
-    public int getMemberNum() {
+    public String getMemberNum() {
         return memberNum;
     }
 
-    public void setMemberNum(int memberNum) {
+    public void setMemberNum(String memberNum) {
         this.memberNum = memberNum;
     }
 

+ 2 - 0
rong_im/common_im_ui/src/main/java/com/common/im/contract/ChatGroupSettingContract.java

@@ -19,6 +19,8 @@ public interface ChatGroupSettingContract {
         void onGroupUsers(List<GroupMemberBean> data, String groupId);
 
         void onQueryGroupDetail(RongIMGroupInfo data);
+
+        void dissolveChatGroupSuccess(String targetId);
     }
 
     interface Presenter {

+ 1 - 1
rong_im/common_im_ui/src/main/java/com/common/im/contract/SetRemarksContract.java

@@ -11,7 +11,7 @@ import com.cooleshow.base.presenter.view.BaseView;
  */
 public interface SetRemarksContract {
     interface SetRemarksView extends BaseView {
-        void  updateGroupInfoSuccess();
+        void  updateGroupInfoSuccess(String targetId,String title);
     }
 
     interface Presenter {

+ 51 - 8
rong_im/common_im_ui/src/main/java/com/common/im/presenter/ChatGroupSettingPresenter.java

@@ -14,6 +14,7 @@ import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
+import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.RequestBodyUtil;
 
 import org.json.JSONException;
@@ -21,6 +22,15 @@ import org.json.JSONObject;
 
 import java.util.List;
 
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.ObservableEmitter;
+import io.reactivex.rxjava3.core.ObservableOnSubscribe;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.core.Scheduler;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
 import io.rong.imkit.RongIM;
 import io.rong.imlib.RongIMClient;
 import io.rong.imlib.model.Conversation;
@@ -83,11 +93,10 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
     }
 
     public void queryGroupMembers(Context context, String groupId) {
-        String tempGroupId = groupId.replace("S", "").replace("s", "").replace("I", "").replace("i", "");
 
         JSONObject jsonObject = new JSONObject();
         try {
-            jsonObject.put("groupId", tempGroupId);
+            jsonObject.put("groupId", groupId);
         } catch (JSONException e) {
             e.printStackTrace();
         }
@@ -130,16 +139,15 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
 
     //查询群详情
     public void queryGroupDetail(Context context, String groupId) {
-        String tempGroupId = groupId.replace("S", "").replace("s", "").replace("I", "").replace("i", "");
         if (!BaseApplication.Companion.isTeacherClient()) {
-            addSubscribe(create(IMApi.class).queryStuGroupDetail(tempGroupId), new BaseObserver<RongIMGroupInfo>() {
+            addSubscribe(create(IMApi.class).queryStuGroupDetail(groupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
                 protected void onSuccess(RongIMGroupInfo data) {
                     if (isViewAttached()) {
                         getView().onQueryGroupDetail(data);
                     }
                     if (data != null) {
-                        String id = data.getId()+"";
+                        String id = data.getId() + "";
                         String name = data.getName();
                         if (!TextUtils.isEmpty(id)) {
                             RongIM.getInstance().refreshGroupInfoCache(new Group(id, name, Uri.parse(TextUtils.isEmpty(data.getImg()) ? "" : data.getImg())));
@@ -148,15 +156,15 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
                 }
 
             });
-        }else{
-            addSubscribe(create(IMApi.class).queryTeaGroupDetail(tempGroupId), new BaseObserver<RongIMGroupInfo>() {
+        } else {
+            addSubscribe(create(IMApi.class).queryTeaGroupDetail(groupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override
                 protected void onSuccess(RongIMGroupInfo data) {
                     if (isViewAttached()) {
                         getView().onQueryGroupDetail(data);
                     }
                     if (data != null) {
-                        String id = data.getId()+"";
+                        String id = data.getId() + "";
                         String name = data.getName();
                         if (!TextUtils.isEmpty(id)) {
                             RongIM.getInstance().refreshGroupInfoCache(new Group(id, name, Uri.parse(TextUtils.isEmpty(data.getImg()) ? "" : data.getImg())));
@@ -172,4 +180,39 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
         }
     }
 
+    /**
+     * 集散群组
+     *
+     * @param groupId
+     */
+    public void dissolveChatGroup(String groupId) {
+        addSubscribe(create(IMApi.class).dissolveChatGroup(groupId), new BaseObserver<Object>() {
+            @Override
+            protected void onSuccess(Object data) {
+                delLocalConversation(groupId);
+            }
+
+            @Override
+            public void onError(Throwable e) {
+                super.onError(e);
+            }
+        });
+    }
+
+
+    public void delLocalConversation(String targetId) {
+        RongIMClient.getInstance().removeConversation(Conversation.ConversationType.GROUP, targetId, new RongIMClient.ResultCallback<Boolean>() {
+            @Override
+            public void onSuccess(Boolean aBoolean) {
+                if (getView() != null) {
+                    getView().dissolveChatGroupSuccess(targetId);
+                }
+            }
+
+            @Override
+            public void onError(RongIMClient.ErrorCode e) {
+                LogUtils.i("pq", "errorMsg:" + e.msg + "\n" + "errorCode:" + e.code);
+            }
+        });
+    }
 }

+ 0 - 1
rong_im/common_im_ui/src/main/java/com/common/im/presenter/MessagePresenter.java

@@ -48,7 +48,6 @@ public class MessagePresenter extends BasePresenter<MessageFragmentContract.Mess
 
     //查询群详情
     public void queryGroupDetail(Context context, String groupId) {
-//        String tempGroupId = groupId.replace("S", "").replace("s", "").replace("I", "").replace("i", "");
         if (!BaseApplication.Companion.isTeacherClient()) {
             addSubscribe(create(IMApi.class).queryStuGroupDetail(groupId), new BaseObserver<RongIMGroupInfo>() {
                 @Override

+ 1 - 1
rong_im/common_im_ui/src/main/java/com/common/im/presenter/SetRemarksPresenter.java

@@ -35,7 +35,7 @@ public class SetRemarksPresenter extends BasePresenter<SetRemarksContract.SetRem
             @Override
             protected void onSuccess(Object data) {
                 if (getView() != null) {
-                    getView().updateGroupInfoSuccess();
+                    getView().updateGroupInfoSuccess(groupId, name);
                 }
             }
 

+ 69 - 16
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/ChatGroupSettingActivity.java

@@ -1,6 +1,7 @@
 package com.common.im.ui.activity;
 
 import android.content.Intent;
+import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.Button;
@@ -30,6 +31,11 @@ import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.GlideUtils;
+import com.cooleshow.base.utils.JumpUtils;
+import com.cooleshow.base.utils.ToastUtil;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
+import com.cooleshow.base.widgets.dialog.CommonConfirmDialog;
+import com.cooleshow.base.widgets.dialog.CommonDialog;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -37,6 +43,8 @@ import java.util.List;
 
 import io.rong.imkit.RongIM;
 import io.rong.imkit.userinfo.model.GroupUserInfo;
+import io.rong.imkit.utils.helper.ChatGroupHelper;
+import io.rong.imlib.RongIMClient;
 import io.rong.imlib.model.Conversation;
 
 /**
@@ -48,6 +56,7 @@ import io.rong.imlib.model.Conversation;
 @Route(path = RouterPath.ChatCenter.CHAT_GROUP_SETTING)
 public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupSettingBinding, ChatGroupSettingPresenter> implements ChatGroupSettingContract.ChatGroupSettingView, View.OnClickListener {
     private final int REQUEST_GROUP_REMARKS_CODE = 100;
+
     @Override
     public void onClick(View view) {
         if (view.getId() == R.id.ll_history_message) {
@@ -60,13 +69,14 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
             ARouter.getInstance().build(RouterPath.ChatCenter.CHAT_GROUP_SET_REMARK)
                     .withString("targetId", targetId)
                     .withString("remarks", tv_group_name_remarks.getText().toString().trim())
-                    .navigation(this,REQUEST_GROUP_REMARKS_CODE);
+                    .navigation(this, REQUEST_GROUP_REMARKS_CODE);
         } else if (view.getId() == R.id.tv_group_member_list) {
             //查看联系人
-            ARouter.getInstance().build(RouterPath.ChatCenter.CHAT_GROUP_MEMBER)
-                    .withSerializable("list", (Serializable) data)
-                    .navigation();
-
+            if(data!=null){
+                ARouter.getInstance().build(RouterPath.ChatCenter.CHAT_GROUP_MEMBER)
+                        .withSerializable("list", (Serializable) data)
+                        .navigation();
+            }
         } else if (view.getId() == R.id.tv_group_apply_count) {
             //查看入群申请
             ARouter.getInstance().build(RouterPath.ChatCenter.CHAT_GROUP_JOIN_APPLY)
@@ -85,12 +95,39 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
                     .withString("targetId", targetId)
                     .navigation();
         } else if (view.getId() == R.id.btn_confirm) {
-            //发消息
             finish();
+//            if (BaseApplication.Companion.isTeacherClient()) {
+//                //老师端解散群组
+//                showConfirmDialog();
+//            } else {
+//                //发消息
+//                finish();
+//            }
         }
 
     }
 
+    private void showConfirmDialog() {
+        CommonDialog commonDialog = new CommonDialog(this);
+        commonDialog.setTitle("提示");
+        commonDialog.setContent("确认解散群组吗?");
+        commonDialog.setOnConfirmClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+//                presenter.delLocalConversation();
+
+            }
+        });
+        commonDialog.setOnCancelClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (commonDialog != null) {
+                    commonDialog.dismiss();
+                }
+            }
+        });
+    }
+
     private ImageView iv_portrait;
     private TextView tv_group_name;
     private TextView tv_class_num;
@@ -103,6 +140,12 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
     MessageSettingGroupMemberAdapter adapter;
 
     @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "群设置");
         iv_portrait = viewBinding.ivPortrait;
@@ -111,6 +154,15 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
         tv_group_member_list = viewBinding.tvGroupMemberList;
         tv_group_member_list.setOnClickListener(this);
         recyclerView = viewBinding.recyclerView;
+
+        Button btnConfirm = viewBinding.btnConfirm;
+        if (BaseApplication.Companion.isTeacherClient()) {
+            btnConfirm.setText("发消息");
+            viewBinding.llChatJoinApply.setVisibility(View.VISIBLE);
+        } else {
+            btnConfirm.setText("发消息");
+            viewBinding.llChatJoinApply.setVisibility(View.GONE);
+        }
         tv_group_apply_count = viewBinding.tvGroupApplyCount;
         tv_group_apply_count.setOnClickListener(this);
         tv_group_name_remarks = viewBinding.tvGroupNameRemarks;
@@ -207,16 +259,11 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
             if (!BaseApplication.Companion.isTeacherClient()) {
                 GlideUtils.INSTANCE.loadImage(this, data.getImg(), iv_portrait, R.drawable.rc_default_group_portrait_stu);
             } else {
-                if (TextUtils.isEmpty(data.getType()) || (!data.getType().equals("VIP") && !data.getType().equals("COMM"))) {
-                    GlideUtils.INSTANCE.loadImage(this, data.getImg(), iv_portrait, R.drawable.ic_group_list_mussic_team_stu);
-                } else {
-                    GlideUtils.INSTANCE.loadImage(this, data.getImg(), iv_portrait, R.drawable.ic_group_list_vip);
-
-                }
+                iv_portrait.setImageResource(ChatGroupHelper.getChatGroupAvatarFromId(data.getId()));
             }
-            if (!TextUtils.isEmpty(data.getMemo())) {
+            if (!TextUtils.isEmpty(data.getMemberNum())) {
                 tv_class_num.setVisibility(View.VISIBLE);
-                tv_class_num.setText(data.getMemo());
+                tv_class_num.setText(data.getMemberNum() + "/500");
             } else {
                 tv_class_num.setVisibility(View.GONE);
             }
@@ -226,10 +273,16 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<ActivityChatGroupS
     }
 
     @Override
+    public void dissolveChatGroupSuccess(String targetId) {
+        ToastUtil.getInstance().showShort("解散成功");
+        JumpUtils.jumpMain(2);
+    }
+
+    @Override
     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        if (resultCode==RESULT_OK){
-            if (requestCode==REQUEST_GROUP_REMARKS_CODE){
+        if (resultCode == RESULT_OK) {
+            if (requestCode == REQUEST_GROUP_REMARKS_CODE) {
                 tv_group_name_remarks.setText(data.getStringExtra("remarks"));
                 tv_group_name.setText(data.getStringExtra("remarks"));
             }

+ 9 - 0
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/GroupMemberActivity.java

@@ -1,11 +1,13 @@
 package com.common.im.ui.activity;
 
+import android.os.Bundle;
 import android.view.View;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -19,6 +21,7 @@ import com.common.im.presenter.GroupMemberPresenter;
 import com.common.im_ui.databinding.ActivityGroupMemberBinding;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.widgets.DensityUtil;
 import com.mcxtzhang.indexlib.IndexBar.widget.IndexBar;
 import com.mcxtzhang.indexlib.suspension.SuspensionDecoration;
@@ -53,6 +56,12 @@ public class GroupMemberActivity extends BaseMVPActivity<ActivityGroupMemberBind
     private List<GroupMemberBean> mDatas = new ArrayList<>();
 
     @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "群聊成员");
         etSearch = viewBinding.etSearch;

+ 9 - 0
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/ImAppealActivity.java

@@ -2,6 +2,7 @@ package com.common.im.ui.activity;
 
 import android.app.Activity;
 import android.content.Intent;
+import android.os.Bundle;
 import android.os.Parcelable;
 import android.text.TextUtils;
 import android.view.View;
@@ -9,6 +10,7 @@ import android.widget.Button;
 import android.widget.EditText;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -27,6 +29,7 @@ import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.utils.ToastUtils;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.utils.helper.upload.UploadHelper;
 import com.daya.live_teaching.utils.GlideEngine;
 import com.luck.picture.lib.PictureSelector;
@@ -61,6 +64,12 @@ public class ImAppealActivity extends BaseMVPActivity<ActivityImAppealBinding, I
     private String memo;
 
     @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "投诉");
 

+ 9 - 3
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/NoticeActivity.java

@@ -21,6 +21,7 @@ import com.common.im.contract.NoticeContract;
 import com.common.im.presenter.NoticePresenter;
 import com.common.im_ui.R;
 import com.common.im_ui.databinding.ActivityNoticeBinding;
+import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
@@ -69,9 +70,14 @@ public class NoticeActivity extends BaseMVPActivity<ActivityNoticeBinding, Notic
     @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "群公告");
-        viewBinding.toolbarInclude.tvRight.setImageResource(R.drawable.icon_chat_group_notice_add);
-        viewBinding.toolbarInclude.tvRight.setVisibility(View.VISIBLE);
-        viewBinding.toolbarInclude.tvRight.setOnClickListener(this);
+        if (BaseApplication.Companion.isTeacherClient()) {
+            viewBinding.toolbarInclude.tvRight.setImageResource(R.drawable.icon_chat_group_notice_add);
+            viewBinding.toolbarInclude.tvRight.setVisibility(View.VISIBLE);
+            viewBinding.toolbarInclude.tvRight.setOnClickListener(this);
+        } else {
+            //学生不可修改群公告
+            viewBinding.toolbarInclude.tvRight.setVisibility(View.GONE);
+        }
         targetId = getIntent().getStringExtra("targetId");
         recyclerView = viewBinding.recyclerView;
         floatbutton = viewBinding.floatbutton;

+ 33 - 2
rong_im/common_im_ui/src/main/java/com/common/im/ui/activity/SetRemarksActivity.java

@@ -1,6 +1,8 @@
 package com.common.im.ui.activity;
 
 import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
@@ -15,8 +17,16 @@ import com.common.im_ui.R;
 import com.common.im_ui.databinding.ActivitySetRemarkBinding;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.utils.ToastUtils;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
+
+import androidx.annotation.Nullable;
+import io.rong.imkit.RongIM;
+import io.rong.imlib.RongIMClient;
+import io.rong.imlib.model.Conversation;
+import io.rong.imlib.model.Group;
 
 /**
  * 创建日期:2022/6/13 11:15
@@ -47,6 +57,12 @@ public class SetRemarksActivity extends BaseMVPActivity<ActivitySetRemarkBinding
     private ImageView iv_close;
 
     @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "设置备注名");
         viewBinding.toolbarInclude.tvRightText.setText("完成");
@@ -93,11 +109,26 @@ public class SetRemarksActivity extends BaseMVPActivity<ActivitySetRemarkBinding
     }
 
     @Override
-    public void updateGroupInfoSuccess() {
+    public void updateGroupInfoSuccess(String targetId, String title) {
+        if (!TextUtils.isEmpty(targetId) && !TextUtils.isEmpty(title)) {
+            RongIM.getInstance().refreshGroupInfoCache(new Group(targetId, title, Uri.parse("")));
+            RongIMClient.getInstance().updateConversationInfo(Conversation.ConversationType.GROUP, targetId, title, title, new RongIMClient.ResultCallback() {
+                @Override
+                public void onSuccess(Object o) {
+                    LogUtils.i("pq", "设置成功");
+
+                }
+
+                @Override
+                public void onError(RongIMClient.ErrorCode e) {
+                    LogUtils.i("pq", "设置fail:" + e.msg + "\n" + "code:" + e.code);
+                }
+            });
+        }
         ToastUtil.getInstance().showShort("设置成功");
         Intent intent = new Intent();
         intent.putExtra("remarks", remarks);
-        setResult(RESULT_OK,intent);
+        setResult(RESULT_OK, intent);
         finish();
     }
 }

+ 3 - 1
rong_im/common_im_ui/src/main/res/layout/activity_chat_group_setting.xml

@@ -29,8 +29,9 @@
                 android:layout_marginTop="@dimen/dp_15"
                 android:background="@color/white">
 
-                <de.hdodenhof.circleimageview.CircleImageView
+                <com.cooleshow.base.widgets.QMUIRadiusImageView
                     android:id="@+id/iv_portrait"
+                    app:qmui_corner_radius="5dp"
                     android:layout_width="@dimen/dp_60"
                     android:layout_height="@dimen/dp_60"
                     android:layout_marginStart="@dimen/dp_15"
@@ -108,6 +109,7 @@
                 android:scrollbars="none" />
 
             <LinearLayout
+                android:id="@+id/ll_chat_join_apply"
                 android:layout_width="match_parent"
                 android:layout_height="50dp"
                 android:layout_marginTop="@dimen/dp_15"

+ 0 - 2
rong_im/common_im_ui/src/main/res/layout/activity_im_appeal.xml

@@ -2,8 +2,6 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/color_f6f8f9"
-    android:fitsSystemWindows="true"
     android:orientation="vertical">
 
     <include

+ 3 - 2
rong_im/common_im_ui/src/main/res/layout/group_member_list_item.xml

@@ -11,10 +11,10 @@
         android:id="@+id/iv_icon"
         android:layout_width="@dimen/dp_40"
         android:layout_height="@dimen/dp_40"
-        app:qmui_corner_radius="@dimen/dp_5"
         android:layout_marginTop="6dp"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        app:layout_constraintTop_toTopOf="parent"
+        app:qmui_corner_radius="@dimen/dp_5" />
 
     <TextView
         android:id="@+id/tv_title"
@@ -41,6 +41,7 @@
         android:text=""
         android:textColor="@color/white"
         android:textSize="@dimen/dp_12"
+        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="@id/iv_icon"
         app:layout_constraintStart_toEndOf="@+id/tv_title"
         app:layout_constraintTop_toTopOf="@+id/iv_icon" />