package com.ioabsoftware.gameraven.views.rowview;
import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.ioabsoftware.gameraven.AllInOneV2;
import com.ioabsoftware.gameraven.R;
import com.ioabsoftware.gameraven.networking.NetDesc;
import com.ioabsoftware.gameraven.util.Theming;
import com.ioabsoftware.gameraven.views.BaseRowData;
import com.ioabsoftware.gameraven.views.BaseRowView;
import com.ioabsoftware.gameraven.views.RowType;
import com.ioabsoftware.gameraven.views.rowdata.PMRowData;
public class PMRowView extends BaseRowView {
private static float subjectTextSize = 0;
private static float senderTextSize, timeTextSize;
TextView subject;
TextView sender;
TextView time;
PMRowData myData;
private int defaultSubjectColor, defaultSenderColor, defaultTimeColor;
public PMRowView(Context context) {
super(context);
}
public PMRowView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public PMRowView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void init(Context context) {
myType = RowType.PM;
LayoutInflater.from(context).inflate(R.layout.pmview, this, true);
subject = (TextView) findViewById(R.id.pmSubject);
sender = (TextView) findViewById(R.id.pmSender);
time = (TextView) findViewById(R.id.pmTime);
defaultSubjectColor = subject.getCurrentTextColor();
defaultSenderColor = sender.getCurrentTextColor();
defaultTimeColor = time.getCurrentTextColor();
if (subjectTextSize == 0) {
subjectTextSize = subject.getTextSize();
senderTextSize = sender.getTextSize();
timeTextSize = time.getTextSize();
}
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (myData.isFromInbox())
AllInOneV2.get().getSession().get(NetDesc.PM_INBOX_DETAIL, myData.getUrl());
else
AllInOneV2.get().getSession().get(NetDesc.PM_OUTBOX_DETAIL, myData.getUrl());
}
});
}
@Override
protected void retheme() {
subject.setTextSize(PX, subjectTextSize * myScale);
sender.setTextSize(PX, senderTextSize * myScale);
time.setTextSize(PX, timeTextSize * myScale);
}
@Override
public void showView(BaseRowData data) {
if (data.getRowType() != myType)
throw new IllegalArgumentException("data RowType does not match myType");
myData = (PMRowData) data;
subject.setText(myData.getSubject());
sender.setText(myData.getSender());
time.setText(myData.getTime());
if (myData.isOld()) {
subject.setTextColor(Theming.colorReadTopic());
sender.setTextColor(Theming.colorReadTopic());
time.setTextColor(Theming.colorReadTopic());
subject.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
sender.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
time.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
} else {
subject.setTextColor(defaultSubjectColor);
sender.setTextColor(defaultSenderColor);
time.setTextColor(defaultTimeColor);
subject.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
sender.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
time.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
}
}
}