package com.mobmonkey.mobmonkeyandroid.arrayadapters; import java.util.LinkedList; import java.util.List; import com.mobmonkey.mobmonkeyandroid.R; import com.mobmonkey.mobmonkeyandroid.arrayadaptersitems.MMMediaItem; import android.app.Activity; import android.content.Context; import android.media.ThumbnailUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; /** * @author Dezapp, LLC * */ public class MMMediaArrayAdapter extends ArrayAdapter<MMMediaItem> { private static final String TAG = "MMMediaArrayAdapter"; private Context context; private int mediaLayoutId; private LinkedList<MMMediaItem> mmMediaItems; public MMMediaArrayAdapter(Context context, int mediaLayoutId, LinkedList<MMMediaItem> mmMediaItems) { super(context, mediaLayoutId, mmMediaItems); this.context = context; this.mediaLayoutId = mediaLayoutId; this.mmMediaItems = mmMediaItems; } /* (non-Javadoc) * @see android.widget.ArrayAdapter#getView(int, android.view.View, android.view.ViewGroup) */ @Override public View getView(int position, View convertView, ViewGroup parent) { View media = convertView; ViewHolder vHolder; if(media == null) { LayoutInflater inflater = ((Activity)context).getLayoutInflater(); media = inflater.inflate(mediaLayoutId, parent, false); vHolder = new ViewHolder(); vHolder.ivtnMedia = (ImageView) media.findViewById(R.id.ivtnmedia); vHolder.tvExpiryDate = (TextView) media.findViewById(R.id.tvexpirydate); vHolder.ibPlay = (ImageButton) media.findViewById(R.id.ibplay); vHolder.ibShareMedia = (ImageButton) media.findViewById(R.id.ibsharemedia); media.setTag(vHolder); } else { vHolder = (ViewHolder) media.getTag(); } MMMediaItem mmMediaItem = mmMediaItems.get(position); vHolder.ivtnMedia.setImageBitmap(mmMediaItem.getImageMedia()); vHolder.tvExpiryDate.setText(mmMediaItem.getExpiryDate()); vHolder.ibShareMedia.setOnClickListener(mmMediaItem.getShareMediaOnClickListener()); if(mmMediaItem.isVideo()) { vHolder.ibPlay.setVisibility(View.VISIBLE); vHolder.ibPlay.setOnClickListener(mmMediaItem.getPlayOnClickListener()); } else if(mmMediaItem.isImage()) { vHolder.ibPlay.setVisibility(View.INVISIBLE); vHolder.ivtnMedia.setOnClickListener(mmMediaItem.getImageOnClickListener()); } return media; } private class ViewHolder { ImageView ivtnMedia; TextView tvExpiryDate; ImageButton ibPlay; ImageButton ibShareMedia; } }