package com.xiaomai.geek.ui.widget;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import com.xiaomai.geek.R;
import com.xiaomai.geek.common.wrapper.ImageLoader;
import com.xiaomai.geek.data.module.User;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by XiaoMai on 2017/3/21 13:08.
*/
public class UserCard extends FrameLayout {
@BindView(R.id.user_icon)
ImageView userIcon;
@BindView(R.id.userName)
TextView userName;
@BindView(R.id.bio)
TextView bio;
@BindView(R.id.company)
TextView company;
@BindView(R.id.location)
TextView location;
@BindView(R.id.blog)
TextView blog;
@BindView(R.id.email)
TextView email;
public UserCard(Context context) {
this(context, null);
}
public UserCard(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public UserCard(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
LayoutInflater.from(getContext()).inflate(R.layout.card_user, this);
ButterKnife.bind(this);
}
public void setUser(User user) {
ImageLoader.loadWithCircle(getContext(), user.getAvatar_url(), userIcon, R.drawable.github);
String displayName = TextUtils.isEmpty(user.getName()) ? user.getLogin() : user.getName();
userName.setText(displayName);
if (TextUtils.isEmpty(user.getBio()))
bio.setVisibility(GONE);
else {
bio.setVisibility(VISIBLE);
bio.setText(user.getBio());
}
if (TextUtils.isEmpty(user.getCompany()))
company.setVisibility(GONE);
else {
company.setText(user.getCompany());
company.setVisibility(VISIBLE);
}
if (TextUtils.isEmpty(user.getBlog()))
blog.setVisibility(GONE);
else {
blog.setVisibility(VISIBLE);
blog.setText(user.getBlog());
}
if (TextUtils.isEmpty(user.getLocation()))
location.setVisibility(GONE);
else {
location.setVisibility(VISIBLE);
location.setText(user.getLocation());
}
if (TextUtils.isEmpty(user.getEmail()))
email.setVisibility(GONE);
else {
email.setVisibility(VISIBLE);
email.setText(user.getEmail());
}
}
}