package com.athena.asm.Adapter;
import java.util.List;
import android.text.Html;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.athena.asm.R;
import com.athena.asm.aSMApplication;
import com.athena.asm.data.Mail;
public class MailListAdapter extends BaseAdapter {
private LayoutInflater m_inflater;
private List<Mail> m_mailList;
private int m_boxType;
public MailListAdapter(LayoutInflater inflater, List<Mail> mailList, int boxType) {
this.m_inflater = inflater;
this.m_mailList = mailList;
this.m_boxType = boxType;
}
public View getView(int position, View convertView, ViewGroup parent) {
View layout = null;
if (convertView != null) {
layout = convertView;
}
else {
layout = m_inflater.inflate(R.layout.mail_list_item, null);
}
Mail mail;
if (m_boxType < 3) {
mail = m_mailList.get(m_mailList.size() - position - 1);
} else {
mail = m_mailList.get(position);
}
TextView authorTextView = (TextView) layout.findViewById(R.id.SenderID);
if (mail.getStatus().length() > 0) {
authorTextView.setText("【"+ mail.getStatus() + "】" + mail.getSenderID());
}
else {
authorTextView.setText(mail.getSenderID());
}
TextView titleTextView = (TextView) layout.findViewById(R.id.MailTitle);
String titleString = mail.getTitle();
if (mail.isUnread()) {
//TextPaint tp = titleTextView.getPaint();
//tp.setFakeBoldText(true);
titleString = "<font color='red'>" + titleString + "</font>";
}
else {
//TextPaint tp = titleTextView.getPaint();
//tp.setFakeBoldText(false);
}
titleTextView.setText(Html.fromHtml(titleString));
titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, aSMApplication.getCurrentApplication().getGuidanceSecondFontSize());
TextView dateTextView = (TextView) layout.findViewById(R.id.MailSendDate);
dateTextView.setText(mail.getDateString());
layout.setTag(mail);
if (aSMApplication.getCurrentApplication().isNightTheme()) {
authorTextView.setTextColor(layout.getResources().getColor(R.color.blue_text_night));
titleTextView.setTextColor(layout.getResources().getColor(R.color.status_text_night));
}
return layout;
}
@Override
public int getCount() {
return m_mailList.size();
}
@Override
public Object getItem(int position) {
if (m_boxType < 3) {
return m_mailList.get(position);
} else {
return m_mailList.get(m_mailList.size() - position - 1);
}
}
@Override
public long getItemId(int position) {
return position;
}
}