package net.dev123.yibo.service.adapter;
import net.dev123.commons.util.StringUtil;
import net.dev123.mblog.entity.User;
import net.dev123.yibo.R;
import net.dev123.yibo.common.ResourceBook;
import net.dev123.yibo.service.task.ImageLoad4HeadTask;
import net.dev123.yibo.service.task.RelationshipCheckTask;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
public class UserUtil {
public static View initConvertView(Context context, View convertView) {
if (convertView != null
&& isSocialGraphView(convertView)) {
return convertView;
}
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.list_item_social_graph, null);
UserHolder holder = new UserHolder(convertView);
convertView.setTag(holder);
return convertView;
}
public static View fillConvertView(View convertView, User user) {
if (convertView == null
|| user == null) {
return null;
}
Context context = convertView.getContext();
UserHolder holder = (UserHolder)convertView.getTag();
if (holder == null || user == null) {
return convertView;
}
holder.reset();
String profileUrl = user.getProfileImageUrl();
if (StringUtil.isNotEmpty(profileUrl)) {
ImageLoad4HeadTask headTask = new ImageLoad4HeadTask(
holder.ivProfilePicture, profileUrl, true);
holder.headTask = headTask;
headTask.execute();
}
holder.tvScreenName.setText(user.getScreenName());
if (user.isVerified()) {
holder.ivVerify.setVisibility(View.VISIBLE);
}
String impress = "";
if (user.getGender() != null) {
impress += ResourceBook.getGenderValue(user.getGender(), context) + ", ";
}
if (user.getLocation() != null) {
impress += user.getLocation();
}
holder.tvImpress.setText(impress);
if (holder.btnOperate != null) {
final User targetUser = user;
if (targetUser.isRelationChecked()) {
RelationshipCheckTask.updateView(convertView, targetUser);
} else {
if (targetUser.isFollowing() || targetUser.isBlocking()) {
RelationshipCheckTask.updateView(convertView, targetUser);
}
RelationshipCheckTask relationshipCheckTask = new RelationshipCheckTask(convertView, targetUser);
holder.relationshipCheckTask = relationshipCheckTask;
relationshipCheckTask.execute();
}
}
return convertView;
}
private static boolean isSocialGraphView(View convertView) {
boolean isSocialGraphView = false;
try {
View view = convertView.findViewById(R.id.ivProfilePicture);
if (view != null) {
isSocialGraphView = true;
}
} catch (Exception e) {
}
return isSocialGraphView;
}
}