Pārlūkot izejas kodu

1.优化聊天用户头像显示

王鹏鹏 1 gadu atpakaļ
vecāks
revīzija
b595fbb689

+ 1 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/activity/HealthConsultationActivity.kt

@@ -259,6 +259,7 @@ class HealthConsultationActivity :
                     param.putString(TUIConstants.TUIChat.CHAT_ID, bean.id)
                     param.putString(TUIConstants.TUIChat.CHAT_NAME, bean.userName)
                     param.putString(TUIConstants.TUIChat.FACE_URL, bean.avatar)
+                    User.saveDoctorAvatar(bean.avatar)
                     TUICore.startActivity(TUIConstants.TUIChat.C2C_CHAT_ACTIVITY_NAME, param)
                 }
             }

+ 1 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/paid/PaidActivity.kt

@@ -375,6 +375,7 @@ class PaidActivity : BaseMVVMActivity<ActivityPaidBinding, PaidViewModel>(),
                     param.putString(TUIConstants.TUIChat.CHAT_ID, doctor!!.id)
                     param.putString(TUIConstants.TUIChat.CHAT_NAME, doctor!!.userName)
                     param.putString(TUIConstants.TUIChat.FACE_URL, doctor!!.avatar)
+                    User.saveDoctorAvatar(doctor!!.avatar)
                     TUICore.startActivity(TUIConstants.TUIChat.C2C_CHAT_ACTIVITY_NAME, param)
                 }
             }

+ 1 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/record/ConsultationRecordActivity.kt

@@ -275,6 +275,7 @@ class ConsultationRecordActivity :
                     param.putString(TUIConstants.TUIChat.CHAT_ID, bean.id)
                     param.putString(TUIConstants.TUIChat.CHAT_NAME, bean.userName)
                     param.putString(TUIConstants.TUIChat.FACE_URL, bean.avatar)
+                    User.saveDoctorAvatar(bean.avatar)
                     TUICore.startActivity(TUIConstants.TUIChat.C2C_CHAT_ACTIVITY_NAME, param)
                 }
             }

+ 52 - 39
timcommon/src/main/java/com/tencent/qcloud/tuikit/timcommon/classicui/widget/message/MessageContentHolder.java

@@ -27,6 +27,8 @@ import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.UserIconView;
 import com.tencent.qcloud.tuikit.timcommon.util.DateTimeUtil;
 import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
 import com.tencent.qcloud.tuikit.timcommon.util.TIMCommonLog;
+import com.yingyangfly.baselib.utils.User;
+
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -364,53 +366,64 @@ public abstract class MessageContentHolder<T extends TUIMessageBean> extends Mes
     }
 
     private void loadAvatar(TUIMessageBean msg) {
-        if (msg.isUseMsgReceiverAvatar()) {
-            String userId = "";
-            if (TextUtils.equals(msg.getSender(), V2TIMManager.getInstance().getLoginUser())) {
-                userId = msg.getUserId();
-            } else {
-                userId = V2TIMManager.getInstance().getLoginUser();
-            }
-            List<String> idList = new ArrayList<>();
-            idList.add(userId);
-            V2TIMManager.getInstance().getUsersInfo(idList, new V2TIMValueCallback<List<V2TIMUserFullInfo>>() {
-                @Override
-                public void onSuccess(List<V2TIMUserFullInfo> v2TIMUserFullInfos) {
-                    V2TIMUserFullInfo userInfo = v2TIMUserFullInfos.get(0);
-                    if (userInfo == null) {
-                        setupAvatar("", msg.isSelf());
-                    } else {
-                        setupAvatar(userInfo.getFaceUrl(), msg.isSelf());
-                    }
-                }
-
-                @Override
-                public void onError(int code, String desc) {
-                    setupAvatar("", msg.isSelf());
-                }
-            });
-        } else {
-            setupAvatar(msg.getFaceUrl(), msg.isSelf());
-        }
+        setupAvatar(User.INSTANCE.getAvatar(), true);
+        setupAvatar(User.INSTANCE.getDoctorAvatar(), false);
+//        if (msg.isUseMsgReceiverAvatar()) {
+//            String userId = "";
+//            if (TextUtils.equals(msg.getSender(), V2TIMManager.getInstance().getLoginUser())) {
+//                userId = msg.getUserId();
+//            } else {
+//                userId = V2TIMManager.getInstance().getLoginUser();
+//            }
+//            List<String> idList = new ArrayList<>();
+//            idList.add(userId);
+//            V2TIMManager.getInstance().getUsersInfo(idList, new V2TIMValueCallback<List<V2TIMUserFullInfo>>() {
+//                @Override
+//                public void onSuccess(List<V2TIMUserFullInfo> v2TIMUserFullInfos) {
+//                    V2TIMUserFullInfo userInfo = v2TIMUserFullInfos.get(0);
+//                    if (userInfo == null) {
+//                        setupAvatar("", msg.isSelf());
+//                    } else {
+//                        setupAvatar(userInfo.getFaceUrl(), msg.isSelf());
+//                    }
+//                }
+//
+//                @Override
+//                public void onError(int code, String desc) {
+//                    setupAvatar("", msg.isSelf());
+//                }
+//            });
+//        } else {
+//            setupAvatar(msg.getFaceUrl(), msg.isSelf());
+//        }
     }
 
     private void setupAvatar(String faceUrl, boolean right) {
-        if (!TextUtils.isEmpty(faceUrl)) {
+        if(!TextUtils.isEmpty(faceUrl)) {
             List<Object> urllist = new ArrayList<>();
             urllist.add(faceUrl);
-            if (isForwardMode || isReplyDetailMode) {
-                leftUserIcon.setIconUrls(urllist);
+            if (right) {
+                rightUserIcon.setIconUrls(urllist);
             } else {
-                if (right) {
-                    rightUserIcon.setIconUrls(urllist);
-                } else {
-                    leftUserIcon.setIconUrls(urllist);
-                }
+                leftUserIcon.setIconUrls(urllist);
             }
-        } else {
-            rightUserIcon.setIconUrls(null);
-            leftUserIcon.setIconUrls(null);
         }
+//        if (!TextUtils.isEmpty(faceUrl)) {
+//            List<Object> urllist = new ArrayList<>();
+//            urllist.add(faceUrl);
+//            if (isForwardMode || isReplyDetailMode) {
+//                leftUserIcon.setIconUrls(urllist);
+//            } else {
+//                if (right) {
+//                    rightUserIcon.setIconUrls(urllist);
+//                } else {
+//                    leftUserIcon.setIconUrls(urllist);
+//                }
+//            }
+//        } else {
+//            rightUserIcon.setIconUrls(null);
+//            leftUserIcon.setIconUrls(null);
+//        }
     }
 
     protected void setMessageAreaPadding() {

+ 52 - 40
timcommon/src/main/java/com/tencent/qcloud/tuikit/timcommon/minimalistui/widget/message/MessageContentHolder.java

@@ -26,6 +26,8 @@ import com.tencent.qcloud.tuikit.timcommon.component.fragments.BaseFragment;
 import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.UserIconView;
 import com.tencent.qcloud.tuikit.timcommon.util.DateTimeUtil;
 import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
+import com.yingyangfly.baselib.utils.User;
+
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -312,54 +314,64 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
     }
 
     private void loadAvatar(TUIMessageBean msg) {
-        if (msg.isUseMsgReceiverAvatar()) {
-            String userId = "";
-            if (TextUtils.equals(msg.getSender(), V2TIMManager.getInstance().getLoginUser())) {
-                userId = msg.getUserId();
-            } else {
-                userId = V2TIMManager.getInstance().getLoginUser();
-            }
-            List<String> idList = new ArrayList<>();
-            idList.add(userId);
-            V2TIMManager.getInstance().getUsersInfo(idList, new V2TIMValueCallback<List<V2TIMUserFullInfo>>() {
-                @Override
-                public void onSuccess(List<V2TIMUserFullInfo> v2TIMUserFullInfos) {
-                    V2TIMUserFullInfo userInfo = v2TIMUserFullInfos.get(0);
-                    if (userInfo == null) {
-                        setupAvatar("", msg.isSelf());
-                    } else {
-                        setupAvatar(userInfo.getFaceUrl(), msg.isSelf());
-                    }
-                }
-
-                @Override
-                public void onError(int code, String desc) {
-                    setupAvatar("", msg.isSelf());
-                }
-            });
-        } else {
-            setupAvatar(msg.getFaceUrl(), msg.isSelf());
-        }
+        setupAvatar(User.INSTANCE.getAvatar(), true);
+        setupAvatar(User.INSTANCE.getDoctorAvatar(), false);
+//        if (msg.isUseMsgReceiverAvatar()) {
+//            String userId = "";
+//            if (TextUtils.equals(msg.getSender(), V2TIMManager.getInstance().getLoginUser())) {
+//                userId = msg.getUserId();
+//            } else {
+//                userId = V2TIMManager.getInstance().getLoginUser();
+//            }
+//            List<String> idList = new ArrayList<>();
+//            idList.add(userId);
+//            V2TIMManager.getInstance().getUsersInfo(idList, new V2TIMValueCallback<List<V2TIMUserFullInfo>>() {
+//                @Override
+//                public void onSuccess(List<V2TIMUserFullInfo> v2TIMUserFullInfos) {
+//                    V2TIMUserFullInfo userInfo = v2TIMUserFullInfos.get(0);
+//                    if (userInfo == null) {
+//                        setupAvatar("", msg.isSelf());
+//                    } else {
+//                        setupAvatar(userInfo.getFaceUrl(), msg.isSelf());
+//                    }
+//                }
+//
+//                @Override
+//                public void onError(int code, String desc) {
+//                    setupAvatar("", msg.isSelf());
+//                }
+//            });
+//        } else {
+//            setupAvatar(msg.getFaceUrl(), msg.isSelf());
+//        }
     }
 
     private void setupAvatar(String faceUrl, boolean right) {
-        if (!TextUtils.isEmpty(faceUrl)) {
+//        if (!TextUtils.isEmpty(faceUrl)) {
+//            List<Object> urllist = new ArrayList<>();
+//            urllist.add(faceUrl);
+//            if (isForwardMode || isMessageDetailMode) {
+//                leftUserIcon.setIconUrls(urllist);
+//            } else {
+//                if (right) {
+//                    rightUserIcon.setIconUrls(urllist);
+//                } else {
+//                    leftUserIcon.setIconUrls(urllist);
+//                }
+//            }
+//        } else {
+//            rightUserIcon.setIconUrls(null);
+//            leftUserIcon.setIconUrls(null);
+//        }
+        if(!TextUtils.isEmpty(faceUrl)) {
             List<Object> urllist = new ArrayList<>();
             urllist.add(faceUrl);
-            if (isForwardMode || isMessageDetailMode) {
-                leftUserIcon.setIconUrls(urllist);
+            if (right) {
+                rightUserIcon.setIconUrls(urllist);
             } else {
-                if (right) {
-                    rightUserIcon.setIconUrls(urllist);
-                } else {
-                    leftUserIcon.setIconUrls(urllist);
-                }
+                leftUserIcon.setIconUrls(urllist);
             }
-        } else {
-            rightUserIcon.setIconUrls(null);
-            leftUserIcon.setIconUrls(null);
         }
-
         if (isShowSelfAvatar) {
             rightUserIcon.setVisibility(View.VISIBLE);
         } else {

+ 0 - 9
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/minimalistui/widget/ChatView.java

@@ -468,9 +468,6 @@ public class ChatView extends LinearLayout implements IChatLayout {
     private void loadFace(String faceUrl) {
         Glide.with(this)
                 .load(faceUrl)
-                .apply(new RequestOptions()
-                        .error(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light)
-                        .placeholder(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light))
                 .into(chatAvatar);
     }
 
@@ -612,9 +609,6 @@ public class ChatView extends LinearLayout implements IChatLayout {
                     }
                     Glide.with(getContext())
                             .load(faceUrl)
-                            .apply(new RequestOptions()
-                                    .error(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light)
-                                    .placeholder(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light))
                             .into(chatAvatar);
                 }
 
@@ -650,9 +644,6 @@ public class ChatView extends LinearLayout implements IChatLayout {
                     }
                     Glide.with(getContext())
                             .load(faceUrl)
-                            .apply(new RequestOptions()
-                                    .error(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light)
-                                    .placeholder(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light))
                             .into(chatAvatar);
                 }
             });

+ 0 - 1
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/minimalistui/widget/message/reply/ReplyDetailsView.java

@@ -102,7 +102,6 @@ public class ReplyDetailsView extends RecyclerView {
             }
             Glide.with(holder.itemView.getContext())
                 .load(faceUrl)
-                .apply(new RequestOptions().error(com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light))
                 .into(holder.userFaceView);
             FaceManager.handlerEmojiText(holder.timeInLineTextLayout.getTextView(), messageText, false);