package apps.makarov.com.whereismycurrency.models; import android.annotation.TargetApi; import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Build; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import apps.makarov.com.whereismycurrency.DateUtils; import apps.makarov.com.whereismycurrency.R; /** * Created by makarov on 26/06/15. */ public class Rate { private static List<String> codes = new ArrayList<>(); private static List<CurrencyPair> listPairCodes = new ArrayList<>(); public static final String RUB_CODE = "RUB"; public static final String EUR_CODE = "EUR"; public static final String USD_CODE = "USD"; static { codes.add(RUB_CODE); codes.add(EUR_CODE); codes.add(USD_CODE); for(String baseCodes : codes){ for(String compareCodes : codes){ if(!baseCodes.equals(compareCodes)){ CurrencyPair pair = CurrencyPair.createPair(baseCodes, compareCodes); listPairCodes.add(pair); } } } } public static List<String> getCodesList(){ return Collections.unmodifiableList(codes); } public static List<CurrencyPair> getPairCodesList(){ return Collections.unmodifiableList(listPairCodes); } private double value; private CurrencyPair currencyPair; private Date changeRate = DateUtils.getTodayDate(); // today private String bank = Bank.DEFAULT; // bank PK public CurrencyPair getCurrencyPair() { return currencyPair; } public void setCurrencyPair(CurrencyPair currencyPair) { this.currencyPair = currencyPair; } public String getBank() { return bank; } public void setBank(String bank) { this.bank = bank; } public Date getChangeRate() { return changeRate; } public void setChangeRate(Date changeRate) { this.changeRate = changeRate; } public void setValue(double value) { this.value = value; } public double getValue() { return value; } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static Drawable getCurrencyIcon(Context context, String currency) { switch (currency) { case EUR_CODE: return context.getDrawable(R.drawable.eur); case RUB_CODE: return context.getDrawable(R.drawable.rub); case USD_CODE: return context.getDrawable(R.drawable.usd); default: return context.getDrawable(R.drawable.eur); } } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static String getCurrencyName(Context context, String currency) { switch (currency) { case EUR_CODE: return context.getString(R.string.eur); case RUB_CODE: return context.getString(R.string.rub); case USD_CODE: return context.getString(R.string.usd); default: return context.getString(R.string.eur); } } }