add 分享

add 聊天页面右上角菜单
This commit is contained in:
2024-03-16 17:50:16 +08:00
parent 9c54cfca2a
commit b3b46ccff3
40 changed files with 835 additions and 376 deletions

View File

@@ -8,7 +8,7 @@ import java.util.List;
public class MessageUserInfoBean extends BaseModel{
IMLoginModel user;
UserInfo info;
UserLevel level;
//UserLevel level;
@SerializedName("gift_num")
int giftNum;
@SerializedName("msg")
@@ -60,13 +60,13 @@ public class MessageUserInfoBean extends BaseModel{
this.info = info;
}
public UserLevel getLevel() {
/*public UserLevel getLevel() {
return level;
}
public void setLevel(UserLevel level) {
this.level = level;
}
}*/
public int getGiftNum() {
return giftNum;
@@ -107,6 +107,20 @@ public class MessageUserInfoBean extends BaseModel{
private String age;
@SerializedName("open_off")
private int openOff;//接单设置 1开启 2关闭
@SerializedName("rong_online")
private int rongOnline;
public void setOpenOff(int openOff) {
this.openOff = openOff;
}
public int getRongOnline() {
return rongOnline;
}
public void setRongOnline(int rongOnline) {
this.rongOnline = rongOnline;
}
public int getOpenOff() {
return openOff;

View File

@@ -4,9 +4,19 @@ import android.content.Context;
import android.text.Spannable;
import android.view.ViewGroup;
import com.alibaba.fastjson.JSON;
import com.yunbao.common.R;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.message.content.MessageChatCardContent;
import com.yunbao.common.message.content.MessageChatTipsContent;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
@@ -21,34 +31,74 @@ public class MessageChatCardItemProvider extends BaseMessageItemProvider<Message
public MessageChatCardItemProvider(Context mContext) {
this.mContext = mContext;
mConfig.showPortrait = false;
mConfig.showSummaryWithName = false;
mConfig.showPortrait = true;
mConfig.showSummaryWithName = true;
mConfig.showContentBubble = false;
mConfig.centerInHorizontal = true;
mConfig.centerInHorizontal = false;
}
@Override
protected ViewHolder onCreateMessageContentViewHolder(ViewGroup parent, int viewType) {
return ViewHolder.createViewHolder(mContext, parent, R.layout.view_message_chat_tip);
return ViewHolder.createViewHolder(mContext, parent, R.layout.view_message_chat_card);
}
@Override
protected void bindMessageContentViewHolder(ViewHolder holder, ViewHolder parentHolder, MessageChatCardContent content, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
holder.setText(R.id.tips, content.getAvatar());
holder.setText(R.id.user_name, content.getUserName());
holder.setText(R.id.titleView, content.getTitle());
ImgLoader.display(mContext, content.getAvatar(), holder.getView(R.id.avatar));
if (!StringUtil.isEmpty()) {
ImgLoader.display(mContext, content.getCover(), holder.getView(R.id.cover));
}
}
@Override
protected boolean onItemClick(ViewHolder holder, MessageChatCardContent messageChatTipsContent, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
protected boolean onItemClick(ViewHolder holder, MessageChatCardContent content, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
if ("1".equals(content.getType())) {
gotoLive(content.getExtraData());
}
return false;
}
@Override
protected boolean isMessageViewType(MessageContent messageContent) {
return messageContent instanceof MessageChatTipsContent;
return messageContent instanceof MessageChatCardContent;
}
@Override
public Spannable getSummarySpannable(Context context, MessageChatCardContent content) {
return null;
}
private void gotoLive(final String live_id) {
LiveHttpUtil.getLiveInfo(live_id + "", new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
if (liveBean == null) {
return;
}
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
@Override
public void onCheckError(String contextError) {
}
});
} else {
RouteUtil.forwardUserHome(mContext, String.valueOf(live_id), 0);
}
}
});
}
}

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="192dp"
android:layout_height="299dp"
android:background="@drawable/bg_msg_list_search">
<com.yunbao.common.custom.RatioRoundImageView
android:id="@+id/cover"
android:layout_width="0dp"
android:layout_height="206dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent"
app:riv_corner_radius="15dp"
app:ri_ratio="1.2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@mipmap/screen" />
<TextView
android:id="@+id/titleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="15dp"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cover"
tools:text="TextView" />
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/avatar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
android:src="@mipmap/chat_head_mo"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/titleView"
app:riv_oval="true" />
<TextView
android:id="@+id/user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="TextView"
android:textColor="#333333"
android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="@+id/avatar"
app:layout_constraintStart_toEndOf="@+id/avatar"
app:layout_constraintTop_toTopOf="@+id/avatar" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -26,6 +26,7 @@
<string name="black">Pull black</string>
<string name="black_ing">Relieving blackout</string>
<string name="chat_remarks">Remarks</string>
<string name="chat_report">Report</string>
<string name="bonus_sign">Sign in immediately</string>
<string name="bonus_sign_1">Continuously signed in</string>
<string name="bonus_day">day</string>

View File

@@ -16,7 +16,8 @@
<string name="refresh_footer_nothing">沒有更多數據了</string>
<string name="black">拉黑</string>
<string name="black_ing">解除拉黑</string>
<string name="chat_remarks">備註</string>
<string name="chat_remarks">修改備註</string>
<string name="chat_report">舉報</string>
<string name="bonus_sign">立即簽到</string>
<string name="bonus_sign_1">已連續簽到</string>
<string name="bonus_day"></string>

View File

@@ -16,7 +16,8 @@
<string name="refresh_footer_nothing">沒有更多數據了</string>
<string name="black">拉黑</string>
<string name="black_ing">解除拉黑</string>
<string name="chat_remarks">備註</string>
<string name="chat_remarks">修改備註</string>
<string name="chat_report">舉報</string>
<string name="bonus_sign">立即簽到</string>
<string name="bonus_sign_1">已連續簽到</string>
<string name="bonus_day"></string>

View File

@@ -16,7 +16,8 @@
<string name="refresh_footer_nothing">沒有更多數據了</string>
<string name="black">拉黑</string>
<string name="black_ing">解除拉黑</string>
<string name="chat_remarks">備註</string>
<string name="chat_remarks">修改備註</string>
<string name="chat_report">舉報</string>
<string name="bonus_sign">立即簽到</string>
<string name="bonus_sign_1">已連續簽到</string>
<string name="bonus_day"></string>

View File

@@ -26,6 +26,7 @@
<string name="black">Pull black</string>
<string name="black_ing">Relieving blackout</string>
<string name="chat_remarks">Remarks</string>
<string name="chat_report">Report</string>
<string name="bonus_sign">Sign in immediately</string>
<string name="bonus_sign_1">Continuously signed in</string>
<string name="bonus_day">day</string>