package party.danyang.nationalgeographic.adapter;
import android.databinding.ViewDataBinding;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import com.squareup.picasso.Callback;
import java.util.List;
import party.danyang.nationalgeographic.BuildConfig;
import party.danyang.nationalgeographic.R;
import party.danyang.nationalgeographic.adapter.base.BaseAdapter;
import party.danyang.nationalgeographic.databinding.ItemDetailBinding;
import party.danyang.nationalgeographic.model.album.Picture;
import party.danyang.nationalgeographic.utils.Utils;
import party.danyang.nationalgeographic.utils.singleton.PicassoHelper;
/**
* Created by yaki on 16-7-7.
*/
public class AlbumDetailAdapter extends BaseAdapter<Picture> {
public static final String TAG_DETAIL = "tag.detail";
public AlbumDetailAdapter(List<Picture> data) {
super(R.layout.item_detail, data);
setHasStableIds(true);
}
@Override
public long getItemId(int position) {
if (get(position) != null && !TextUtils.isEmpty(get(position).getUrl())) {
return get(position).getUrl().hashCode();
}
return 0;
}
@Override
public void setBingVariables(ViewDataBinding binding, int position) {
final ItemDetailBinding bd = (ItemDetailBinding) binding;
String url = Utils.convertImageUrl(bd.iv.getContext(), get(position).getUrl());
PicassoHelper.getInstance(bd.iv.getContext()).load(url)
.error(R.mipmap.nat_geo_480)
.noFade()
.placeholder(R.mipmap.nat_geo_480)
.tag(TAG_DETAIL)
.config(Bitmap.Config.RGB_565)
.into(bd.iv, new Callback() {
@Override
public void onSuccess() {
bd.iv.setOriginalSize(((BitmapDrawable) bd.iv.getDrawable()).getBitmap().getWidth(),
((BitmapDrawable) bd.iv.getDrawable()).getBitmap().getHeight());
}
@Override
public void onError() {
bd.iv.setVisibility(View.GONE);
}
});
}
}