/*
|
* Copyright (c) 2020 WildFireChat. All rights reserved.
|
*/
|
|
package cn.wildfire.chat.kit.contact.viewholder;
|
|
import android.view.View;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
import androidx.fragment.app.Fragment;
|
import androidx.lifecycle.ViewModelProviders;
|
import androidx.recyclerview.widget.RecyclerView;
|
import butterknife.BindView;
|
import butterknife.ButterKnife;
|
import cn.wildfire.chat.kit.GlideApp;
|
import cn.wildfire.chat.kit.R;
|
import cn.wildfire.chat.kit.R2;
|
import cn.wildfire.chat.kit.contact.UserListAdapter;
|
import cn.wildfire.chat.kit.contact.model.UIUserInfo;
|
import cn.wildfire.chat.kit.user.UserViewModel;
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
|
public class UserViewHolder extends RecyclerView.ViewHolder {
|
protected Fragment fragment;
|
protected UserListAdapter adapter;
|
@BindView(R2.id.portraitImageView)
|
public ImageView portraitImageView;
|
@BindView(R2.id.nameTextView)
|
public TextView nameTextView;
|
@BindView(R2.id.categoryTextView)
|
protected TextView categoryTextView;
|
|
protected UIUserInfo userInfo;
|
|
public UserViewHolder(Fragment fragment, UserListAdapter adapter, View itemView) {
|
super(itemView);
|
this.fragment = fragment;
|
this.adapter = adapter;
|
ButterKnife.bind(this, itemView);
|
}
|
|
public void onBind(UIUserInfo userInfo) {
|
this.userInfo = userInfo;
|
if (userInfo.isShowCategory()) {
|
categoryTextView.setVisibility(View.VISIBLE);
|
categoryTextView.setText(userInfo.getCategory());
|
} else {
|
categoryTextView.setVisibility(View.GONE);
|
}
|
UserViewModel userViewModel = ViewModelProviders.of(fragment).get(UserViewModel.class);
|
nameTextView.setText(userViewModel.getUserDisplayName(userInfo.getUserInfo()));
|
GlideApp.with(fragment).load(userInfo.getUserInfo().portrait).placeholder(R.mipmap.avatar_def)
|
.transforms(new CenterCrop(), new RoundedCorners(10))
|
.into(portraitImageView);
|
extraBind(this, userInfo);
|
}
|
|
protected void extraBind(UserViewHolder userViewHolder, UIUserInfo userInfo) {
|
|
}
|
|
public UIUserInfo getBindContact() {
|
return userInfo;
|
}
|
}
|