package org.thoughtcrime.securesms; import android.content.Context; 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 java.util.List; import java.util.Map; public class TransportOptionsAdapter extends BaseAdapter { private final Context context; private final LayoutInflater inflater; private List enabledTransports; private final Map transportMetadata; public TransportOptionsAdapter(final Context context, final List enabledTransports, final Map transportMetadata) { super(); this.context = context; this.inflater = LayoutInflater.from(context); this.enabledTransports = enabledTransports; this.transportMetadata = transportMetadata; } public TransportOptionsAdapter(final Context context, final Map transportMetadata) { this(context, null, transportMetadata); } public void setEnabledTransports(final List enabledTransports) { this.enabledTransports = enabledTransports; } @Override public int getCount() { return enabledTransports == null ? 0 : enabledTransports.size(); } @Override public Object getItem(int position) { return transportMetadata.get(enabledTransports.get(position)); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { final View view; if (convertView == null) { view = inflater.inflate(R.layout.transport_selection_list_item, parent, false); } else { view = convertView; } TransportOption transport = (TransportOption) getItem(position); final ImageView imageView = (ImageView)view.findViewById(R.id.icon); final TextView textView = (TextView) view.findViewById(R.id.text); imageView.setImageResource(transport.drawable); textView.setText(transport.text); return view; } }