95 lines
3.8 KiB
Java
95 lines
3.8 KiB
Java
package com.shayu.onetoone.provider;
|
|
|
|
import android.content.Context;
|
|
import android.text.Spannable;
|
|
import android.view.Gravity;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.FrameLayout;
|
|
import android.widget.LinearLayout;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.shayu.onetoone.R;
|
|
import com.shayu.onetoone.bean.GiftBean;
|
|
import com.shayu.onetoone.bean.MessageChatGiftContent;
|
|
import com.shayu.onetoone.utils.UserManager;
|
|
import com.yunbao.common.glide.ImgLoader;
|
|
import com.yunbao.common.manager.IMLoginManager;
|
|
import com.yunbao.common.utils.ToastUtil;
|
|
import com.yunbao.common.utils.WordUtil;
|
|
|
|
import java.util.List;
|
|
|
|
import io.rong.common.RLog;
|
|
import io.rong.imkit.conversation.messgelist.provider.BaseMessageItemProvider;
|
|
import io.rong.imkit.model.UiMessage;
|
|
import io.rong.imkit.widget.adapter.IViewProviderListener;
|
|
import io.rong.imkit.widget.adapter.ViewHolder;
|
|
import io.rong.imlib.model.Message;
|
|
import io.rong.imlib.model.MessageContent;
|
|
|
|
/**
|
|
* 聊天送礼适配器
|
|
*/
|
|
public class MessageChatReceiveGiftItemProvider extends BaseMessageItemProvider<MessageChatGiftContent> {
|
|
private Context mContext;
|
|
|
|
public MessageChatReceiveGiftItemProvider(Context mContext) {
|
|
this.mContext = mContext;
|
|
mConfig.showPortrait = true;
|
|
mConfig.showSummaryWithName = false;
|
|
mConfig.showContentBubble = false;
|
|
mConfig.centerInHorizontal = false;
|
|
}
|
|
|
|
@Override
|
|
protected ViewHolder onCreateMessageContentViewHolder(ViewGroup parent, int viewType) {
|
|
return ViewHolder.createViewHolder(mContext, parent, R.layout.view_message_chat_receive_gift);
|
|
}
|
|
|
|
@Override
|
|
public void bindViewHolder(ViewHolder holder, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
|
|
super.bindViewHolder(holder, uiMessage, position, list, listener);
|
|
}
|
|
|
|
@Override
|
|
protected void bindMessageContentViewHolder(ViewHolder holder, ViewHolder parentHolder, MessageChatGiftContent messageChatGiftContent, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
|
|
GiftBean item = JSONObject.parseObject(messageChatGiftContent.getGift(), GiftBean.class);
|
|
|
|
holder.setText(R.id.description, item.getGiftname() + " x" + messageChatGiftContent.getNumber());
|
|
ImgLoader.display(mContext, item.getGifticon(), holder.getView(R.id.giftIcon));
|
|
LinearLayout holderView = holder.getView(R.id.layout_root);
|
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
|
if (messageChatGiftContent.getSendUid().equals(UserManager.getUserBean().getUser().getId() + "")) {
|
|
params.gravity = Gravity.END;
|
|
uiMessage.setMessageDirection(Message.MessageDirection.SEND);
|
|
holder.setText(R.id.title, WordUtil.getNewString(R.string.gift_send_ta));
|
|
} else {
|
|
uiMessage.setMessageDirection(Message.MessageDirection.RECEIVE);
|
|
holder.setText(R.id.title,WordUtil.getNewString(R.string.gift_send_you));
|
|
params.gravity = Gravity.START;
|
|
}
|
|
try {
|
|
holderView.setLayoutParams(params);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
protected boolean onItemClick(ViewHolder holder, MessageChatGiftContent messageChatGiftContent, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
protected boolean isMessageViewType(MessageContent messageContent) {
|
|
return messageContent instanceof MessageChatGiftContent;
|
|
}
|
|
|
|
@Override
|
|
public Spannable getSummarySpannable(Context context, MessageChatGiftContent messageChatGiftContent) {
|
|
return null;
|
|
}
|
|
}
|