package org.witness.informacam.app.utils.adapters; import java.util.List; import org.witness.informacam.app.R; import org.witness.informacam.json.JSONException; import org.witness.informacam.models.media.IMedia; import org.witness.informacam.utils.Constants.App; import org.witness.informacam.utils.Constants.Models; import android.app.Activity; import android.graphics.Bitmap; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class GalleryListAdapter extends BaseAdapter { private List<? super IMedia> media; LayoutInflater li; Activity a; private final static String LOG = App.LOG; public GalleryListAdapter(Activity a, List<? super IMedia> media) throws NullPointerException { this.media = media; this.a = a; li = LayoutInflater.from(a); } public void update(List<IMedia> newMedia) { media = newMedia; notifyDataSetChanged(); } public void update(IMedia newMedia) { media.add(newMedia); notifyDataSetChanged(); } @Override public int getCount() { if (media != null) return media.size(); else return 0; } @Override public Object getItem(int position) { return media.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { IMedia m = (IMedia) media.get(position); if (convertView == null) convertView = li.inflate(R.layout.adapter_gallery_list, null); ImageView iv = (ImageView) convertView.findViewById(R.id.gallery_list); Bitmap bitmap = m.getBitmap(m.dcimEntry.thumbnail); iv.setImageBitmap(bitmap); TextView tv = (TextView) convertView.findViewById(R.id.gallery_details); tv.setText(m.renderDetailsAsText(1)); try { if(!m.getBoolean(Models.IMediaManifest.Sort.IS_SHOWING)) { convertView.setVisibility(View.GONE); } } catch (JSONException e) { Log.e(LOG, e.toString()); e.printStackTrace(); } return convertView; } }