package com.mygeopay.wallet.ui.widget; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.widget.Checkable; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.mygeopay.core.coins.CoinType; import com.mygeopay.core.coins.Value; import com.mygeopay.core.util.GenericUtils; import com.mygeopay.core.wallet.WalletAccount; import com.mygeopay.wallet.ExchangeRatesProvider.ExchangeRate; import com.mygeopay.wallet.R; import com.mygeopay.wallet.util.WalletUtils; import org.bitcoinj.utils.Fiat; /** * @author John L. Jegutanis */ public class CoinListItem extends LinearLayout implements Checkable { private final TextView title; private final ImageView icon; private final View view; private final Amount rateView; private boolean isChecked = false; private CoinType type; public CoinListItem(Context context) { super(context); view = LayoutInflater.from(context).inflate(R.layout.coin_list_row, this, true); title = (TextView) findViewById(R.id.item_text); icon = (ImageView) findViewById(R.id.item_icon); rateView = (Amount) findViewById(R.id.exchange_rate); } public void setAccount(WalletAccount account) { this.type = account.getCoinType(); title.setText(WalletUtils.getDescriptionOrCoinName(account)); icon.setImageResource(WalletUtils.getIconRes(account)); } public void setCoin(CoinType type) { this.type = type; title.setText(type.getName()); icon.setImageResource(WalletUtils.getIconRes(type)); } public void setExchangeRate(ExchangeRate exchangeRate) { if (exchangeRate != null && type != null) { Value localAmount = exchangeRate.rate.convert(type.oneCoin()); rateView.setAmount(GenericUtils.formatFiatValue(localAmount)); rateView.setSymbol(localAmount.type.getSymbol()); rateView.setVisibility(View.VISIBLE); } else { rateView.setVisibility(View.GONE); } } @Override public void setChecked(boolean checked) { isChecked = checked; if (isChecked) { view.setBackgroundResource(R.color.primary_100); } else { view.setBackgroundResource(0); } } @Override public boolean isChecked() { return isChecked; } @Override public void toggle() { setChecked(!isChecked); } }