package net.coding.program.maopao;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.coding.program.R;
import net.coding.program.common.Global;
import net.coding.program.common.ImageLoadTool;
import net.coding.program.model.Maopao;
import java.util.ArrayList;
public class LikeUsersArea extends BaseUsersArea {
View likeUsersAllLayout;
public LikeUsersArea(View convertView, Fragment fragment, ImageLoadTool imageLoadTool, View.OnClickListener mOnClickUser) {
this(convertView, fragment, null, imageLoadTool, mOnClickUser);
}
public LikeUsersArea(View convertView, Activity activity, ImageLoadTool imageLoadTool, View.OnClickListener mOnClickUser) {
this(convertView, null, activity, imageLoadTool, mOnClickUser);
}
private LikeUsersArea(View convertView, Fragment fragment, Activity activity, ImageLoadTool imageLoadTool, View.OnClickListener mOnClickUser) {
super((LinearLayout) convertView.findViewById(R.id.likeUsersLayout), fragment, activity, mOnClickUser, imageLoadTool);
likeUsersAllLayout = convertView.findViewById(R.id.likesAllLayout);
}
public void displayLikeUser() {
Maopao.MaopaoObject maopaoData = (Maopao.MaopaoObject) likeUsersLayout.getTag(MaopaoListBaseFragment.TAG_MAOPAO);
if ((maopaoData.likes + maopaoData.rewards) == 0) {
likeUsersAllLayout.setVisibility(View.GONE);
} else {
likeUsersAllLayout.setVisibility(View.VISIBLE);
}
if (likeUsersLayout.getChildCount() == 0) {
likeUsersLayout.setTag(maopaoData);
return;
}
int readUserCount = maopaoData.likes + maopaoData.rewards;
final ArrayList<Maopao.Like_user> displayUsers = new ArrayList<>(maopaoData.reward_users);
for (Maopao.Like_user like : maopaoData.like_users) {
boolean find = false;
for (Maopao.Like_user reward : displayUsers) {
if (like.global_key.equals(reward.global_key)) {
find = true;
break;
}
}
if (!find) {
displayUsers.add(like);
}
}
int imageCount = likeUsersLayout.getChildCount() - 1;
Log.d("", "ddd disgood " + imageCount + "," + displayUsers.size() + "," + readUserCount);
likeUsersLayout.getChildAt(imageCount).setTag(maopaoData.id);
if (displayUsers.size() < imageCount) {
if (readUserCount <= imageCount) {
int i = 0;
for (; i < displayUsers.size(); ++i) {
updateImageDisplay(displayUsers, i);
}
for (; i < imageCount; ++i) {
likeUsersLayout.getChildAt(i).setVisibility(View.GONE);
}
likeUsersLayout.getChildAt(i).setVisibility(View.GONE);
} else {
int i = 0;
for (; i < displayUsers.size(); ++i) {
updateImageDisplay(displayUsers, i);
}
for (; i < imageCount; ++i) {
likeUsersLayout.getChildAt(i).setVisibility(View.GONE);
}
TextView textV = (TextView) likeUsersLayout.getChildAt(imageCount);
textV.setVisibility(View.VISIBLE);
textV.setText(readUserCount + "");
}
} else {
--imageCount;
for (int i = 0; i < imageCount; ++i) {
updateImageDisplay(displayUsers, i);
}
likeUsersLayout.getChildAt(imageCount).setVisibility(View.GONE);
TextView textView = (TextView) likeUsersLayout.getChildAt(imageCount + 1);
textView.setVisibility(View.VISIBLE);
textView.setText(readUserCount + "");
}
imageCount = likeUsersLayout.getChildCount() - 1;
for (int i = 0; i < imageCount; ++i) {
View v = likeUsersLayout.getChildAt(i);
if (v.getVisibility() == View.VISIBLE) {
v.setTag(displayUsers.get(i).global_key);
} else {
break;
}
}
}
protected void updateImageDisplay(ArrayList<Maopao.Like_user> likeUsers, int i) {
ImageView image = (ImageView) likeUsersLayout.getChildAt(i);
image.setVisibility(View.VISIBLE);
Maopao.Like_user like_user = likeUsers.get(i);
image.setTag(LikeUserImage.TAG, like_user);
imageLoadTool.loadImage(image, like_user.avatar);
}
}