package com.code44.finance.ui.currencies;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.code44.finance.R;
import com.code44.finance.data.model.Currency;
import com.code44.finance.ui.common.BaseModelsAdapter;
import com.code44.finance.utils.MoneyFormatter;
public class CurrenciesAdapter extends BaseModelsAdapter {
private final int textPrimaryColor;
private final int textBrandColor;
public CurrenciesAdapter(Context context) {
super(context);
textPrimaryColor = context.getResources().getColor(R.color.text_primary);
textBrandColor = context.getResources().getColor(R.color.text_brand);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final View view = LayoutInflater.from(context).inflate(R.layout.li_currency, parent, false);
ViewHolder.setAsTag(view);
return view;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
final ViewHolder holder = (ViewHolder) view.getTag();
final Currency currency = Currency.from(cursor);
holder.codeTextView.setText(currency.getCode());
holder.formatTextView.setText(MoneyFormatter.format(currency, 100000));
if (currency.isDefault()) {
holder.codeTextView.setTextColor(textBrandColor);
holder.exchangeRateTextView.setText(null);
} else {
holder.codeTextView.setTextColor(textPrimaryColor);
holder.exchangeRateTextView.setText(String.valueOf(currency.getExchangeRate()));
}
}
private static class ViewHolder {
public TextView codeTextView;
public TextView formatTextView;
public TextView exchangeRateTextView;
public static ViewHolder setAsTag(View view) {
final ViewHolder holder = new ViewHolder();
holder.codeTextView = (TextView) view.findViewById(R.id.codeTextView);
holder.formatTextView = (TextView) view.findViewById(R.id.formatTextView);
holder.exchangeRateTextView = (TextView) view.findViewById(R.id.exchangeRateTextView);
view.setTag(holder);
return holder;
}
}
}