Browse Source

修改部分IM问题

Pq 1 year ago
parent
commit
ad38aabebb

+ 5 - 5
chatModule/src/main/java/com/cooleshow/chatmodule/utils/helper/IMThemManager.java

@@ -2,6 +2,7 @@ package com.cooleshow.chatmodule.utils.helper;
 
 
 import android.content.Context;
 import android.content.Context;
 
 
+import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.utils.SizeUtils;
 import com.cooleshow.base.utils.SizeUtils;
 import com.cooleshow.chatmodule.R;
 import com.cooleshow.chatmodule.R;
 import com.cooleshow.chatmodule.constants.TCMessageConstants;
 import com.cooleshow.chatmodule.constants.TCMessageConstants;
@@ -34,14 +35,13 @@ public class IMThemManager {
         private static IMThemManager mManager = new IMThemManager();
         private static IMThemManager mManager = new IMThemManager();
     }
     }
 
 
-    public void init(Context context){
+    public void init(Context context) {
         //自定义消息
         //自定义消息
         TUIChatService.getInstance().addCustomMessageType(TCMessageConstants.TC_CHAT_SHARE_LIVE_MSG_TAG, TUIChatShareLiveMessageBean.class);
         TUIChatService.getInstance().addCustomMessageType(TCMessageConstants.TC_CHAT_SHARE_LIVE_MSG_TAG, TUIChatShareLiveMessageBean.class);
         TUIChatService.getInstance().addCustomMessageType(TCMessageConstants.TC_CHAT_SHARE_MUSIC_MSG_TAG, TUIChatShareMusicMessageBean.class);
         TUIChatService.getInstance().addCustomMessageType(TCMessageConstants.TC_CHAT_SHARE_MUSIC_MSG_TAG, TUIChatShareMusicMessageBean.class);
         ClassicUIService.getInstance().addMessageType(TUIChatShareLiveMessageBean.class, TUIChatShareLiveMessageHolder.class);
         ClassicUIService.getInstance().addMessageType(TUIChatShareLiveMessageBean.class, TUIChatShareLiveMessageHolder.class);
         ClassicUIService.getInstance().addMessageType(TUIChatShareMusicMessageBean.class, TUIChatShareMusicMessageHolder.class);
         ClassicUIService.getInstance().addMessageType(TUIChatShareMusicMessageBean.class, TUIChatShareMusicMessageHolder.class);
 
 
-        
 
 
         MessageProperties instance = MessageProperties.getInstance();
         MessageProperties instance = MessageProperties.getInstance();
         instance.setRightBubble(context.getResources().getDrawable(R.drawable.tc_chat_message_pop_right));
         instance.setRightBubble(context.getResources().getDrawable(R.drawable.tc_chat_message_pop_right));
@@ -49,7 +49,6 @@ public class IMThemManager {
         instance.setAvatarRadius(6);
         instance.setAvatarRadius(6);
 
 
 
 
-
         //禁用群聊合并展示九宫格头像
         //禁用群聊合并展示九宫格头像
         TUIConfig.setEnableGroupGridAvatar(false);
         TUIConfig.setEnableGroupGridAvatar(false);
 //        TUIConfig.setDefaultGroupAvatarImage(ChatGroupHelper.getChatGroupAvatar());
 //        TUIConfig.setDefaultGroupAvatarImage(ChatGroupHelper.getChatGroupAvatar());
@@ -58,7 +57,8 @@ public class IMThemManager {
         TUIChatConfigs.getConfigs().getGeneralConfig().setEnableVideoCall(false);
         TUIChatConfigs.getConfigs().getGeneralConfig().setEnableVideoCall(false);
         TUIChatConfigs.getConfigs().getGeneralConfig().setEnableVoiceCall(false);
         TUIChatConfigs.getConfigs().getGeneralConfig().setEnableVoiceCall(false);
         //群聊右上角-群设置(也可以通过这种方式去设置)
         //群聊右上角-群设置(也可以通过这种方式去设置)
-        TUICore.registerExtensionToFirst(TUIConstants.TUIChat.Extension.InputMore.CLASSIC_EXTENSION_ID, new CustomChatInputMusicExtension());
-
+        if (BaseApplication.Companion.isTeacherClient()) {
+            TUICore.registerExtensionToFirst(TUIConstants.TUIChat.Extension.InputMore.CLASSIC_EXTENSION_ID, new CustomChatInputMusicExtension());
+        }
     }
     }
 }
 }

+ 4 - 1
chatModule/src/main/res/layout/tc_chat_share_music.xml

@@ -20,8 +20,11 @@
             app:layout_constraintTop_toTopOf="parent" />
             app:layout_constraintTop_toTopOf="parent" />
 
 
         <TextView
         <TextView
+            android:maxLines="1"
+            android:ellipsize="end"
+            app:layout_constraintRight_toLeftOf="@+id/im_state"
             android:id="@+id/tv_name"
             android:id="@+id/tv_name"
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="14dp"
             android:layout_marginLeft="14dp"
             android:text="Exodus(出埃及记)"
             android:text="Exodus(出埃及记)"

+ 1 - 0
student/src/main/java/com/cooleshow/student/adapter/LiveCourseListAdapter.java

@@ -26,6 +26,7 @@ public class LiveCourseListAdapter extends BaseQuickAdapter<LiveCourseListBean.R
 
 
     public LiveCourseListAdapter(int layoutResId) {
     public LiveCourseListAdapter(int layoutResId) {
         super(layoutResId);
         super(layoutResId);
+        addChildClickViewIds(R.id.iv_chat);
     }
     }
 
 
     @Override
     @Override

+ 15 - 0
student/src/main/java/com/cooleshow/student/ui/course/LiveCourseFragment.java

@@ -21,6 +21,7 @@ import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
 import com.bigkoo.pickerview.view.OptionsPickerView;
 import com.bigkoo.pickerview.view.OptionsPickerView;
 import com.bigkoo.pickerview.view.TimePickerView;
 import com.bigkoo.pickerview.view.TimePickerView;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.listener.OnItemChildClickListener;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.common.WebConstants;
@@ -34,6 +35,7 @@ import com.cooleshow.base.widgets.EmptyViewLayout;
 
 
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
 import com.cooleshow.base.widgets.poplist.PopupListWindow;
 import com.cooleshow.base.widgets.poplist.PopupListWindow;
+import com.cooleshow.chatmodule.utils.helper.ChatHelper;
 import com.cooleshow.student.R;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.student.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.student.adapter.LiveCourseListAdapter;
 import com.cooleshow.student.adapter.LiveCourseListAdapter;
@@ -156,6 +158,19 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
                     .withString(WebConstants.WEB_URL,String.format(WebConstants.TEACHER_LIVE_DETAIL_NORMAL_COURSE, item.courseGoupId, item.courseId))
                     .withString(WebConstants.WEB_URL,String.format(WebConstants.TEACHER_LIVE_DETAIL_NORMAL_COURSE, item.courseGoupId, item.courseId))
                     .navigation();
                     .navigation();
         });
         });
+
+        mAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
+            @Override
+            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                int id = view.getId();
+                if (id == R.id.iv_chat) {
+                    LiveCourseListBean.RowsBean item = (LiveCourseListBean.RowsBean) adapter.getItem(position);
+                    if (item != null) {
+                        ChatHelper.getInstance().goGroupChat(item.imGroupId, "");
+                    }
+                }
+            }
+        });
     }
     }
 
 
     private void queryCourse(boolean isShowLoading) {
     private void queryCourse(boolean isShowLoading) {

+ 1 - 0
student/src/main/res/layout/item_live_course_list_layout.xml

@@ -37,6 +37,7 @@
         tools:text="张豆张豆豆豆" />
         tools:text="张豆张豆豆豆" />
 
 
     <ImageView
     <ImageView
+        android:id="@+id/iv_chat"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginStart="5dp"
         android:layout_marginStart="5dp"

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/adapter/LiveCourseListAdapter.java

@@ -24,6 +24,7 @@ public class LiveCourseListAdapter extends BaseQuickAdapter<LiveCourseListBean.R
 
 
     public LiveCourseListAdapter() {
     public LiveCourseListAdapter() {
         super(R.layout.item_live_course_list_layout);
         super(R.layout.item_live_course_list_layout);
+        addChildClickViewIds(R.id.iv_chat);
     }
     }
 
 
     @Override
     @Override

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/bean/LiveCourseListBean.java

@@ -80,5 +80,6 @@ public class LiveCourseListBean {
         public String avatar;
         public String avatar;
         public String username;
         public String username;
         public int userId;
         public int userId;
+        public String imGroupId;
     }
     }
 }
 }

+ 35 - 19
teacher/src/main/java/com/cooleshow/teacher/ui/course/LiveCourseFragment.java

@@ -13,6 +13,7 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder;
 import com.bigkoo.pickerview.listener.CustomListener;
 import com.bigkoo.pickerview.listener.CustomListener;
 import com.bigkoo.pickerview.view.TimePickerView;
 import com.bigkoo.pickerview.view.TimePickerView;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.listener.OnItemChildClickListener;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.common.WebConstants;
@@ -25,6 +26,7 @@ import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
 import com.cooleshow.base.widgets.poplist.PopupListWindow;
 import com.cooleshow.base.widgets.poplist.PopupListWindow;
+import com.cooleshow.chatmodule.utils.helper.ChatHelper;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.teacher.adapter.CourseStatusFilterAdapter;
 import com.cooleshow.teacher.adapter.LiveCourseListAdapter;
 import com.cooleshow.teacher.adapter.LiveCourseListAdapter;
@@ -152,6 +154,20 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
                     .withString(WebConstants.WEB_URL, String.format(WebConstants.TEACHER_LIVE_DETAIL_NORMAL_COURSE, item.courseGroupId, item.courseId))
                     .withString(WebConstants.WEB_URL, String.format(WebConstants.TEACHER_LIVE_DETAIL_NORMAL_COURSE, item.courseGroupId, item.courseId))
                     .navigation();
                     .navigation();
         });
         });
+        mAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
+            @Override
+            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                int id = view.getId();
+                if (id == R.id.iv_chat) {
+                    LiveCourseListBean.RowsBean item = (LiveCourseListBean.RowsBean) adapter.getItem(position);
+                    if (item != null) {
+                        ChatHelper.getInstance().goGroupChat(item.imGroupId, "");
+                    }
+                }
+            }
+        });
+
+
         buildDefaultCourseStatusFilterList();
         buildDefaultCourseStatusFilterList();
     }
     }
 
 
@@ -232,27 +248,27 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
                 reBuildFilter(date, currentCourseFilterStatus);
                 reBuildFilter(date, currentCourseFilterStatus);
             }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, new CustomListener() {
             }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, new CustomListener() {
-                @Override
-                public void customLayout(View v) {
-                    //自定义布局中的控件初始化及事件处理
-                    final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
-                    TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
-                    tvSubmit.setOnClickListener(new View.OnClickListener() {
-                        @Override
-                        public void onClick(View v) {
-                            pvTime.returnData();
-                            pvTime.dismiss();
-                        }
-                    });
-                    ivCancel.setOnClickListener(new View.OnClickListener() {
                         @Override
                         @Override
-                        public void onClick(View v) {
-                            pvTime.dismiss();
-                        }
-                    });
+                        public void customLayout(View v) {
+                            //自定义布局中的控件初始化及事件处理
+                            final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
+                            TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
+                            tvSubmit.setOnClickListener(new View.OnClickListener() {
+                                @Override
+                                public void onClick(View v) {
+                                    pvTime.returnData();
+                                    pvTime.dismiss();
+                                }
+                            });
+                            ivCancel.setOnClickListener(new View.OnClickListener() {
+                                @Override
+                                public void onClick(View v) {
+                                    pvTime.dismiss();
+                                }
+                            });
 
 
-                }
-            })
+                        }
+                    })
                     .setLineSpacingMultiplier(2.5f)
                     .setLineSpacingMultiplier(2.5f)
                     .setType(new boolean[]{true, true, false, false, false, false})// 默认全部显示
                     .setType(new boolean[]{true, true, false, false, false, false})// 默认全部显示
                     .setTextColorCenter(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a))//设置选中项的颜色
                     .setTextColorCenter(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a))//设置选中项的颜色

+ 1 - 1
teacher/src/main/res/layout/item_live_course_list_layout.xml

@@ -37,11 +37,11 @@
         tools:text="张豆张豆豆豆" />
         tools:text="张豆张豆豆豆" />
 
 
     <ImageView
     <ImageView
+        android:id="@+id/iv_chat"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginStart="5dp"
         android:layout_marginStart="5dp"
         android:src="@drawable/icon_chat_small"
         android:src="@drawable/icon_chat_small"
-        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="@+id/tv_title"
         app:layout_constraintBottom_toBottomOf="@+id/tv_title"
         app:layout_constraintLeft_toRightOf="@+id/tv_title"
         app:layout_constraintLeft_toRightOf="@+id/tv_title"
         app:layout_constraintTop_toTopOf="@+id/tv_title" />
         app:layout_constraintTop_toTopOf="@+id/tv_title" />