package com.gnod.geekr.tool.converter; import android.text.Html; import android.view.View; import com.gnod.geekr.R; import com.gnod.geekr.app.AppConfig; import com.gnod.geekr.holder.StatusViewHolder; import com.gnod.geekr.model.StatusModel; import com.gnod.geekr.model.UserInfoModel; import com.gnod.geekr.tool.DateUtils; import com.gnod.geekr.tool.ImageHelper; import com.gnod.geekr.tool.StringUtils; public class GeekrViewConverter { public enum IMAGE_MODEL{ SMALL,BIG,NONE,AUTO; } public static void attachViewDatas(StatusViewHolder viewHolder, StatusModel item, int position, IMAGE_MODEL type) { viewHolder.tag = position; viewHolder.imageAvatar.setImageResource(R.drawable.avatar_default); UserInfoModel userInfo = item.userInfo; if (userInfo != null) { if(viewHolder.layoutAvatar.getVisibility() == View.VISIBLE) { viewHolder.imageAvatar.setItem(userInfo); // AppConfig.getDrawableManager().loadBitmap(userInfo.iconURL, // viewHolder.imageAvatar, true); AppConfig.sImageFetcher.loadImage(userInfo.iconURL, viewHolder.imageAvatar, R.drawable.avatar_default); viewHolder.textName.setText(userInfo.nickName); ImageHelper.setVerifiedImage(viewHolder.verifiedImage, userInfo.verifiedType); } } else { viewHolder.textName.setText(""); } viewHolder.textContent.setText(item.content); if (StringUtils.isNullOrEmpty(item.content)) { viewHolder.textContent.setVisibility(View.GONE); } else { viewHolder.textContent.setVisibility(View.VISIBLE); } if (!AppConfig.mFetchImage || StringUtils.isNullOrEmpty(item.imageURL)) { viewHolder.imageThumb.setVisibility(View.GONE); } else { viewHolder.imageThumb.setVisibility(View.VISIBLE); viewHolder.imageThumb.setURL(item.midImageURL); if(type == IMAGE_MODEL.SMALL) { // viewHolder.imageThumb.setImageResource(R.drawable.wb_pic_loading); // AppConfig.getDrawableManager().loadBitmap(item.imageURL, // viewHolder.imageThumb, true); AppConfig.sImageFetcher.loadImage( item.imageURL, viewHolder.imageThumb, R.drawable.wb_pic_loading); } else if(type == IMAGE_MODEL.BIG) { // viewHolder.imageThumb.setImageResource( // R.drawable.wb_pic_loading_large); // AppConfig.getDrawableManager().loadBitmap(item.midImageURL, // viewHolder.imageThumb, true); AppConfig.sImageFetcher.loadImage( item.midImageURL, viewHolder.imageThumb, R.drawable.wb_pic_loading_large); } } if (item.retweetItem == null) { viewHolder.layoutRetweet.setVisibility(View.GONE); } else { viewHolder.layoutRetweet.setVisibility(View.VISIBLE); String retweetContent; if (item.retweetItem.userInfo != null) { StringBuilder retweetSbr = new StringBuilder(); retweetSbr.append("@") .append(item.retweetItem.userInfo.nickName) .append(": ").append(item.retweetItem.content); retweetContent = retweetSbr.toString(); } else { retweetContent = item.retweetItem.content; } viewHolder.textRetweetContent.setText(retweetContent); if (StringUtils.isNullOrEmpty(retweetContent)) { viewHolder.textRetweetContent.setVisibility(View.GONE); } else { viewHolder.textRetweetContent.setVisibility(View.VISIBLE); } if (!AppConfig.mFetchImage || StringUtils.isNullOrEmpty(item.retweetItem.imageURL)) { viewHolder.imageRetweetThumb.setVisibility(View.GONE); } else { viewHolder.imageRetweetThumb.setVisibility(View.VISIBLE); viewHolder.imageRetweetThumb.setURL( item.retweetItem.midImageURL); if(type == IMAGE_MODEL.SMALL) { // viewHolder.imageRetweetThumb.setImageResource( // R.drawable.wb_pic_loading); // AppConfig.getDrawableManager().loadBitmap( // item.retweetItem.imageURL, // viewHolder.imageRetweetThumb, true); AppConfig.sImageFetcher.loadImage( item.retweetItem.imageURL, viewHolder.imageRetweetThumb, R.drawable.wb_pic_loading_large); } else if(type == IMAGE_MODEL.BIG) { // viewHolder.imageRetweetThumb.setImageResource( // R.drawable.wb_pic_loading_large); // AppConfig.getDrawableManager().loadBitmap( // item.retweetItem.midImageURL, // viewHolder.imageRetweetThumb, true); AppConfig.sImageFetcher.loadImage( item.retweetItem.midImageURL, viewHolder.imageRetweetThumb, R.drawable.wb_pic_loading_large); } } } viewHolder.textTime.setText(DateUtils.getMagicTime(item.time)); if (!StringUtils.isNullOrEmpty(item.source)) viewHolder.textSource .setText(Html.fromHtml(item.source).toString()); viewHolder.textCommentCount.setText(item.getCommentCount()); viewHolder.textRetweetCount.setText(item.getRetweetCount()); } }