session-android/src/org/thoughtcrime/securesms/MessageDetailsRecipientAdapter.java

66 lines
2 KiB
Java
Raw Normal View History

package org.thoughtcrime.securesms;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import org.thoughtcrime.securesms.crypto.MasterSecret;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.Recipients;
public class MessageDetailsRecipientAdapter extends BaseAdapter implements AbsListView.RecyclerListener {
private final Context context;
private final MasterSecret masterSecret;
private final MessageRecord record;
private final Recipients recipients;
private final boolean isPushGroup;
public MessageDetailsRecipientAdapter(Context context, MasterSecret masterSecret,
MessageRecord record, Recipients recipients,
boolean isPushGroup)
{
this.context = context;
this.masterSecret = masterSecret;
this.record = record;
this.recipients = recipients;
this.isPushGroup = isPushGroup;
}
@Override
public int getCount() {
return recipients.getRecipientsList().size();
}
@Override
public Object getItem(int position) {
return recipients.getRecipientsList().get(position);
}
@Override
public long getItemId(int position) {
return recipients.getRecipientsList().get(position).getRecipientId();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.message_recipient_list_item, parent, false);
}
Recipient recipient = recipients.getRecipientsList().get(position);
((MessageRecipientListItem)convertView).set(masterSecret, record, recipient, isPushGroup);
return convertView;
}
@Override
public void onMovedToScrapHeap(View view) {
((MessageRecipientListItem)view).unbind();
}
}