2023-10-23 15:08:13 +08:00

219 lines
8.0 KiB
Java

package com.shayu.onetoone.adapter;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.fastjson.JSON;
import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.SearchUserBean;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.adapter.RefreshAdapter;
import com.yunbao.common.bean.LevelBean;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.custom.MyRadioButton;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.RouteUtil;
import java.util.List;
import pl.droidsonroids.gif.GifImageView;
/**
* Created by cxf on 2018/9/29.
*/
public class SearchAdapter extends RefreshAdapter<SearchUserBean> {
private View.OnClickListener mFollowClickListener;
private View.OnClickListener mClickListener;
private String mFollow;
private String mFollowing;
private int mFrom;
private String mUid;
public SearchAdapter(Context context, int from) {
super(context);
mFrom = from;
mFollow =mContext.getString(R.string.follow);
mFollowing =mContext.getString(R.string.following);
mFollowClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!canClick()) {
return;
}
Object tag = v.getTag();
if (tag == null) {
return;
}
SearchUserBean bean = (SearchUserBean) tag;
CommonHttpUtil.setAttention(bean.getId(), null);
}
};
mClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!canClick()) {
return;
}
Object tag = v.getTag();
if (tag == null) {
return;
}
SearchUserBean bean = (SearchUserBean) tag;
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(bean, 0);
}
}
};
mUid = CommonAppConfig.getInstance().getUid();
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new Vh(mInflater.inflate(R.layout.item_search, parent, false));
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder vh, int position, @NonNull List payloads) {
Object payload = payloads.size() > 0 ? payloads.get(0) : null;
((Vh) vh).setData(mList.get(position), position, payload);
}
public void updateItem(String id, int attention) {
if (TextUtils.isEmpty(id)) {
return;
}
for (int i = 0, size = mList.size(); i < size; i++) {
SearchUserBean bean = mList.get(i);
if (bean != null && id.equals(bean.getId())) {
bean.setAttention(attention);
notifyItemChanged(i, Constants.PAYLOAD);
break;
}
}
}
class Vh extends RecyclerView.ViewHolder {
ImageView mAvatar;
TextView mName;
TextView mSign;
ImageView mSex;
ImageView mLevelAnchor;
ImageView mLevel;
MyRadioButton mBtnFollow;
GifImageView btn_live;
public Vh(View itemView) {
super(itemView);
mAvatar = (ImageView) itemView.findViewById(R.id.avatar);
mName = (TextView) itemView.findViewById(R.id.name);
mSign = (TextView) itemView.findViewById(R.id.sign);
mSex = (ImageView) itemView.findViewById(R.id.sex);
mLevelAnchor = (ImageView) itemView.findViewById(R.id.level_anchor);
mLevel = (ImageView) itemView.findViewById(R.id.level);
mBtnFollow = (MyRadioButton) itemView.findViewById(R.id.btn_follow);
btn_live = (GifImageView) itemView.findViewById(R.id.btn_live);
itemView.setOnClickListener(mClickListener);
mBtnFollow.setOnClickListener(mFollowClickListener);
}
void setData(final SearchUserBean bean, int position, Object payload) {
itemView.setTag(bean);
mBtnFollow.setTag(bean);
if (payload == null) {
ImgLoader.displayAvatar(mContext, bean.getAvatar(), mAvatar);
mName.setText(bean.getUserNiceName());
mSign.setText(bean.getSignature());
mSex.setImageResource(CommonIconUtil.getSexIcon(bean.getSex()));
btn_live.setVisibility(View.GONE);
if (bean.getIslive() != null && bean.getIslive().equals("1")) {
btn_live.setVisibility(View.VISIBLE);
}
btn_live.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
gotoLive(bean.getId());
}
});
LevelBean anchorLevelBean = CommonAppConfig.getInstance().getAnchorLevel(bean.getLevelAnchor());
if (anchorLevelBean != null) {
ImgLoader.display(mContext, CommonAppConfig.getInstance().HOST + anchorLevelBean.getThumb(), mLevelAnchor);
}
LevelBean levelBean = CommonAppConfig.getInstance().getLevel(bean.getLevel());
if (levelBean != null) {
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
}
}
// if (mUid.equals(bean.getId())) {
// if (mBtnFollow.getVisibility() == View.VISIBLE) {
// mBtnFollow.setVisibility(View.INVISIBLE);
// }
// } else {
// if (mBtnFollow.getVisibility() != View.VISIBLE) {
// mBtnFollow.setVisibility(View.VISIBLE);
// }
// if (bean.getAttention() == 1) {
// mBtnFollow.doChecked(true);
// mBtnFollow.setText(mFollowing);
// } else {
// mBtnFollow.doChecked(false);
// mBtnFollow.setText(mFollow);
// }
// }
}
}
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);
if (liveBean == null) {
return;
}
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
}
@Override
public void onCheckError(String contextError) {
}
});
} else {
RouteUtil.forwardUserHome(mContext, live_id, 0);
}
}
});
}
}