From 9946124b152e87e5961d9f1fbeb90ceed6f939f0 Mon Sep 17 00:00:00 2001 From: linminjie <1004644107@qq.com> Date: Fri, 28 Jul 2023 14:54:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E5=88=97=E8=A1=A8=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unionmedtv/adapter/GroupMsgListAdapter.java | 53 +++++++++++----------- .../unionmedtv/adapter/MsgItemAdapter.java | 45 +++++++++--------- .../unionmedtv/adapter/MsgListAdapter.java | 46 +++++++++---------- .../unionmedtv/utils/UserInfoByServerUtil.java | 50 ++++++++++++++++++++ 4 files changed, 120 insertions(+), 74 deletions(-) create mode 100644 app/src/main/java/com/unionmed/unionmedtv/utils/UserInfoByServerUtil.java diff --git a/app/src/main/java/com/unionmed/unionmedtv/adapter/GroupMsgListAdapter.java b/app/src/main/java/com/unionmed/unionmedtv/adapter/GroupMsgListAdapter.java index 664d045..63e7dd1 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/adapter/GroupMsgListAdapter.java +++ b/app/src/main/java/com/unionmed/unionmedtv/adapter/GroupMsgListAdapter.java @@ -28,6 +28,7 @@ import com.unionmed.unionmedtv.network.HttpData; import com.unionmed.unionmedtv.utils.CacheUtil; import com.unionmed.unionmedtv.utils.Constants; import com.unionmed.unionmedtv.utils.OnChildClickListener; +import com.unionmed.unionmedtv.utils.UserInfoByServerUtil; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; @@ -111,29 +112,27 @@ public class GroupMsgListAdapter extends BaseQuickAdapter>>() { - @Override - public void onHttpSuccess(HttpData> result) { - if (postion == 0) { - LiveDataBus.get().with(Constants.GROUP_MSG_LIST_SELECT_ITEM).postValue(0); - } - conversation.setFirstLoad(false); - if (null != result.getData() && result.getData().isInnerRequestSucceed() - && null != result.getData().getData()) { - conversation.setName(result.getData().getData().getName()); - conversation.setImgPath(result.getData().getData().getHeadImg()); - notifyItemChanged(postion); - } - } + UserInfoByServerUtil.getUserInfoByServer(getContext(), conversation.getConversation().getTargetId(), new UserInfoByServerUtil.UserInfoInterface() { + @Override + public void success(HttpData> result) { + if (postion == 0) { + LiveDataBus.get().with(Constants.GROUP_MSG_LIST_SELECT_ITEM).postValue(0); + } + conversation.setFirstLoad(false); + if (null != result.getData() && result.getData().isInnerRequestSucceed() + && null != result.getData().getData()) { + conversation.setName(result.getData().getData().getName()); + conversation.setImgPath(result.getData().getData().getHeadImg()); + notifyItemChanged(postion); + } + } - @Override - public void onHttpFail(Exception e) { - ToastUtils.showLong(e.getMessage()); - LogUtils.e("用户信息失败", "失败:" + e); - } - }); + @Override + public void Fail(String e) { + ToastUtils.showLong(e); + LogUtils.e("用户信息失败", "失败:" + e); + } + }); } @Override @@ -141,11 +140,11 @@ public class GroupMsgListAdapter extends BaseQuickAdapter>>() { - @Override - public void onHttpSuccess(HttpData> result) { - if (null != result.getData() && result.getData().isInnerRequestSucceed() - && null != result.getData().getData()) { - tv_name.setText(result.getData().getData().getName()); - Glide.with(getContext()) - .load(result.getData().getData().getHeadImg()) - .apply(new RequestOptions() - .placeholder(R.mipmap.rc_default_portrait) - .circleCrop() - ) - .into(iv_avatar); - } - } + UserInfoByServerUtil.getUserInfoByServer(getContext(), message.getSenderUserId(), new UserInfoByServerUtil.UserInfoInterface() { + @Override + public void success(HttpData> result) { + if (null != result.getData() && result.getData().isInnerRequestSucceed() + && null != result.getData().getData()) { + tv_name.setText(result.getData().getData().getName()); + Glide.with(getContext()) + .load(result.getData().getData().getHeadImg()) + .apply(new RequestOptions() + .placeholder(R.mipmap.rc_default_portrait) + .circleCrop() + ) + .into(iv_avatar); + } + } - @Override - public void onHttpFail(Exception e) { - ToastUtils.showLong(e.getMessage()); - LogUtils.e("用户信息失败", "失败:" + e); - } - }); + @Override + public void Fail(String e) { + ToastUtils.showLong(e); + LogUtils.e("用户信息失败", "失败:" + e); + } + }); } public void MeetingClick(BaseViewHolder vh, Message message) { diff --git a/app/src/main/java/com/unionmed/unionmedtv/adapter/MsgListAdapter.java b/app/src/main/java/com/unionmed/unionmedtv/adapter/MsgListAdapter.java index 09987c3..37e8ffd 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/adapter/MsgListAdapter.java +++ b/app/src/main/java/com/unionmed/unionmedtv/adapter/MsgListAdapter.java @@ -35,6 +35,7 @@ import com.unionmed.unionmedtv.network.HttpData; import com.unionmed.unionmedtv.utils.CacheUtil; import com.unionmed.unionmedtv.utils.Constants; import com.unionmed.unionmedtv.utils.OnChildClickListener; +import com.unionmed.unionmedtv.utils.UserInfoByServerUtil; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; @@ -68,32 +69,29 @@ public class MsgListAdapter extends BaseQuickAdapter>>() { - @Override - public void onHttpSuccess(HttpData> result) { - if (postion == 0) { - LiveDataBus.get().with(Constants.MSG_LIST_SELECT_ITEM).postValue(0); - } - conversation.setFirstLoad(false); - if (null != result.getData() && result.getData().isInnerRequestSucceed() - && null != result.getData().getData()) { - conversation.setName(result.getData().getData().getName()); - conversation.setImgPath(result.getData().getData().getHeadImg()); - notifyItemChanged(postion); - } - } - - @Override - public void onHttpFail(Exception e) { - ToastUtils.showLong(e.getMessage()); - LogUtils.e("用户信息失败", "失败:" + e); - } - }); + UserInfoByServerUtil.getUserInfoByServer(getContext(), conversation.getConversation().getTargetId(), new UserInfoByServerUtil.UserInfoInterface() { + @Override + public void success(HttpData> result) { + if (postion == 0) { + LiveDataBus.get().with(Constants.MSG_LIST_SELECT_ITEM).postValue(0); + } + conversation.setFirstLoad(false); + if (null != result.getData() && result.getData().isInnerRequestSucceed() + && null != result.getData().getData()) { + conversation.setName(result.getData().getData().getName()); + conversation.setImgPath(result.getData().getData().getHeadImg()); + notifyItemChanged(postion); + } + } + + @Override + public void Fail(String e) { + ToastUtils.showLong(e); + LogUtils.e("用户信息失败", "失败:" + e); + } + }); } @Override diff --git a/app/src/main/java/com/unionmed/unionmedtv/utils/UserInfoByServerUtil.java b/app/src/main/java/com/unionmed/unionmedtv/utils/UserInfoByServerUtil.java new file mode 100644 index 0000000..86bbdc5 --- /dev/null +++ b/app/src/main/java/com/unionmed/unionmedtv/utils/UserInfoByServerUtil.java @@ -0,0 +1,50 @@ +package com.unionmed.unionmedtv.utils; + +import android.content.Context; +import android.text.TextUtils; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.lifecycle.LifecycleOwner; + +import com.blankj.utilcode.util.LogUtils; +import com.blankj.utilcode.util.StringUtils; +import com.blankj.utilcode.util.ToastUtils; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; +import com.google.gson.Gson; +import com.hjq.http.EasyHttp; +import com.hjq.http.listener.OnHttpListener; +import com.tencent.mmkv.MMKV; +import com.unionmed.unionmedtv.R; +import com.unionmed.unionmedtv.api.GetImUserInfoApi; +import com.unionmed.unionmedtv.bean.City; +import com.unionmed.unionmedtv.bean.ImUserInfoBean; +import com.unionmed.unionmedtv.bean.TokenBean; +import com.unionmed.unionmedtv.network.ApiResponse; +import com.unionmed.unionmedtv.network.HttpData; + +import io.rong.imlib.model.Message; + +public class UserInfoByServerUtil { + //获取用户信息 + public static void getUserInfoByServer(Context context,String senderUserId, UserInfoInterface userInfoInterface) { + EasyHttp.post((LifecycleOwner) context) + .api(new GetImUserInfoApi(CacheUtil.getToken().getToken(), senderUserId)) + .request(new OnHttpListener>>() { + @Override + public void onHttpSuccess(HttpData> result) { + userInfoInterface.success(result); + } + + @Override + public void onHttpFail(Exception e) { + userInfoInterface.Fail(e.getMessage()); + } + }); + } + public interface UserInfoInterface{ + void success(HttpData> result); + void Fail(String E); + } +}