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 { 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); } } }); } }