package com.ved.musicmapapp.adapters; import java.util.List; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Typeface; import android.text.TextUtils.TruncateAt; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import com.ved.musicmapapp.R; import com.ved.musicmapapp.Objects.User; public class UserAdapter extends BaseAdapter { private LayoutInflater inflat; private List<User> users; private ImageLoader imageLoader; private DisplayImageOptions options; private Context mContext; // private int count = Statics.EXPAND_VIEW_COUNT; public UserAdapter(Activity cxt, List<User> users) { inflat = (LayoutInflater) cxt .getSystemService(Context.LAYOUT_INFLATER_SERVICE); this.users = users; mContext = cxt; imageLoader = ImageLoader.getInstance(); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.img_no_image) .showImageForEmptyUri(R.drawable.img_no_image) .showImageOnFail(R.drawable.img_no_image).cacheInMemory(true) .cacheOnDisc(true).bitmapConfig(Bitmap.Config.RGB_565).build(); } public void setData(List<User> users) { this.users = users; notifyDataSetChanged(); } @Override public int getCount() { // count = users.size(); // count = (count > Statics.EXPAND_VIEW_COUNT) ? // Statics.EXPAND_VIEW_COUNT : count; return /* count */users.size(); } // public void expandData(){ // count += Statics.EXPAND_VIEW_COUNT; // count = (count>users.size()) ? users.size() : count; // notifyDataSetChanged(); // } @Override public long getItemId(int position) { return -1; } @Override public View getView(final int position, View v, ViewGroup parent) { User u = users.get(position); if (v == null) { v = inflat.inflate(R.layout.item_user, null); } final ImageView avatar = (ImageView) v.findViewById(R.id.ivThumb); imageLoader.displayImage("https://graph.facebook.com/" + u.getFbid() + "/picture?type=large", avatar, options, new ImageLoadingListener() { @Override public void onLoadingStarted(String imageUri, View view) { // TODO Auto-generated method stub } @Override public void onLoadingFailed(String imageUri, View view, FailReason failReason) { // TODO Auto-generated method stub } @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { avatar.setImageBitmap(loadedImage); } @Override public void onLoadingCancelled(String imageUri, View view) { // TODO Auto-generated method stub } }); TextView tvName = (TextView) v.findViewById(R.id.tvUserName); Typeface tf = Typeface.createFromAsset(mContext.getAssets(), "open_sans_regular.ttf"); tvName.setTypeface(tf); String name = u.getFullName(); // if(name.equals("")) // return null; tvName.setText(name); TextView tvNoSong = (TextView) v.findViewById(R.id.tvNumSong); String text = u.getNoSong() > 1 ? mContext.getString( R.string.user_details_tracks, u.getNoSong()) : mContext .getString(R.string.user_details_track, u.getNoSong()); text += ", "; // text += u.getArtist.size() > 1 ? mContext.getString( // R.string.user_details_artists, u.getArtists().size()) // : mContext.getString(R.string.user_details_artist, u // .getArtists().size()); int count = u.getArtistcount(); text += u.getArtistcount() > 1 ? mContext.getString( R.string.user_details_artists, u.getArtistcount()) : mContext.getString(R.string.user_details_artist, u .getArtistcount()); tvNoSong.setTypeface(tf); tvNoSong.setText(text); TextView tvLastUDArtist = (TextView) v .findViewById(R.id.tvLastUDArtist); if (u.getArtistcount() == 0) { text = "Added: "; } else { // text = "Added: " + u.getArtists().get(0).getName(); text = "Added: " + u.getLastUpdate(); } if (u.getNoLastAdd() > 1) text += " & " + (u.getNoLastAdd() - 1) + " other tracks"; tvLastUDArtist.setTypeface(tf); tvLastUDArtist.setText(text); tvLastUDArtist.setEllipsize(TruncateAt.MARQUEE); tvLastUDArtist.setSelected(true); TextView tv_update = (TextView) v.findViewById(R.id.update_time); tv_update.setTypeface(tf); tv_update.setText(u.getLastUDString()); TextView tv_match = (TextView) v.findViewById(R.id.tv_match); tv_match.setTypeface(tf); tv_match.setText(u.getPercentage() + "% Match"); return v; } @Override public User getItem(int arg0) { return users.get(arg0); } }