// Path: app/src/main/java/dynoapps/exchange_rates/util/RateUtils.java
// public class RateUtils {
//     private static final Formatter formatter2 = new Formatter(2, 0);
//     private static final Formatter formatter5 = new Formatter(5, 2);
// 
//     public static <T extends BaseRate> T getRate(List<T> rates, @IRate.RateDef int rateType) {
//         if (rates == null) return null;
//         for (T rate : rates) {
//             if (rate.getRateType() == rateType) {
//                 return rate;
//             }
//         }
//         return null;
//     }
// 
//     public static String valueToUI(Float val, @IRate.RateDef int rateType) {
//         if (val == null) return "";
//         String formatted = formatValue(val, rateType);
//         if (rateType == IRate.EUR_USD) {
//             return formatted;
//         } else if (rateType == IRate.ONS) {
//             return App.context().getString(R.string.placeholder_dollar, formatted);
//         } else {
//             return App.context().getString(R.string.placeholder_tl, formatted);
//         }
//     }
// 
//     public static String formatValue(float val, int rateType) {
//         if (rateType == IRate.ONS || rateType == IRate.ONS_TRY) {
//             return formatter2.format(val);
//         } else {
//             return formatter5.format(val);
//         }
//     }
// 
//     public static String rateName(int rate_type) {
//         if (rate_type == IRate.EUR) {
//             return "EUR"; // todo refactor with side menu names.
//         } else if (rate_type == IRate.USD) {
//             return "USD";
//         } else if (rate_type == IRate.EUR_USD) {
//             return "EUR_USD";
//         } else if (rate_type == IRate.ONS) {
//             return "ONS";
//         }
//         return "";
//     }
// 
//     public static
//     @DrawableRes
//     int getRateIcon(int rateType) {
//         if (rateType == IRate.EUR) {
//             return R.drawable.ic_euro;
//         } else if (rateType == IRate.ONS) {
//             return R.drawable.ic_gold;
//         } else if (rateType == IRate.USD) {
//             return R.drawable.ic_dollar;
//         } else if (rateType == IRate.EUR_USD) {
//             return R.drawable.ic_exchange_eur_usd;
//         }
//         return -1;
//     }
// 
//     @Nullable
//     public static Float toFloat(String str) {
//         if (TextUtils.isEmpty(str)) return null;
//         str = str.trim();
// 
//         try {
//             return Float.parseFloat(str);
//         } catch (Exception e) {
//             try {
//                 DecimalFormatSymbols symbols = new DecimalFormatSymbols();
//                 symbols.setDecimalSeparator(DecimalFormatSymbols.getInstance().getDecimalSeparator());
//                 symbols.setGroupingSeparator(DecimalFormatSymbols.getInstance().getGroupingSeparator());
//                 DecimalFormat format = new DecimalFormat("###,###,###,##0.#####");
//                 format.setDecimalFormatSymbols(symbols);
//                 return format.parse(str).floatValue();
//             } catch (Exception ignored) {
// 
//             }
//         }
//         return null;
//     }
// }


import android.text.TextUtils;
import androidx.annotation.NonNull;
import dynoapps.exchange_rates.util.RateUtils;
package dynoapps.exchange_rates.model.rates;



/**
 * Created by erdemmac on 24/11/2016.
 */

public class ParaGarantiRate extends AvgRate {

    public String symbol;
    public String last;

    @Override
    public void toRateType() {
        if (TextUtils.isEmpty(symbol)) rateType = UNKNOWN;
        int rateType = UNKNOWN;
        switch (symbol) {
            case "KUSD":
                rateType = USD;
                break;
            case "KEUR":
                rateType = EUR;
                break;
            case "EUR":
                rateType = EUR_USD;
                break;
        }
        this.rateType = rateType;
    }

    @Override
    public void setRealValues() {
        if (rateType == UNKNOWN) return;
        last = last.replace(',', '.');
        String val = last.replace("'", "").replace("$", "").trim();
// Path: app/src/main/java/dynoapps/exchange_rates/util/RateUtils.java
// public class RateUtils {
//     private static final Formatter formatter2 = new Formatter(2, 0);
//     private static final Formatter formatter5 = new Formatter(5, 2);
// 
//     public static <T extends BaseRate> T getRate(List<T> rates, @IRate.RateDef int rateType) {
//         if (rates == null) return null;
//         for (T rate : rates) {
//             if (rate.getRateType() == rateType) {
//                 return rate;
//             }
//         }
//         return null;
//     }
// 
//     public static String valueToUI(Float val, @IRate.RateDef int rateType) {
//         if (val == null) return "";
//         String formatted = formatValue(val, rateType);
//         if (rateType == IRate.EUR_USD) {
//             return formatted;
//         } else if (rateType == IRate.ONS) {
//             return App.context().getString(R.string.placeholder_dollar, formatted);
//         } else {
//             return App.context().getString(R.string.placeholder_tl, formatted);
//         }
//     }
// 
//     public static String formatValue(float val, int rateType) {
//         if (rateType == IRate.ONS || rateType == IRate.ONS_TRY) {
//             return formatter2.format(val);
//         } else {
//             return formatter5.format(val);
//         }
//     }
// 
//     public static String rateName(int rate_type) {
//         if (rate_type == IRate.EUR) {
//             return "EUR"; // todo refactor with side menu names.
//         } else if (rate_type == IRate.USD) {
//             return "USD";
//         } else if (rate_type == IRate.EUR_USD) {
//             return "EUR_USD";
//         } else if (rate_type == IRate.ONS) {
//             return "ONS";
//         }
//         return "";
//     }
// 
//     public static
//     @DrawableRes
//     int getRateIcon(int rateType) {
//         if (rateType == IRate.EUR) {
//             return R.drawable.ic_euro;
//         } else if (rateType == IRate.ONS) {
//             return R.drawable.ic_gold;
//         } else if (rateType == IRate.USD) {
//             return R.drawable.ic_dollar;
//         } else if (rateType == IRate.EUR_USD) {
//             return R.drawable.ic_exchange_eur_usd;
//         }
//         return -1;
//     }
// 
//     @Nullable
//     public static Float toFloat(String str) {
//         if (TextUtils.isEmpty(str)) return null;
//         str = str.trim();
// 
//         try {
//             return Float.parseFloat(str);
//         } catch (Exception e) {
//             try {
//                 DecimalFormatSymbols symbols = new DecimalFormatSymbols();
//                 symbols.setDecimalSeparator(DecimalFormatSymbols.getInstance().getDecimalSeparator());
//                 symbols.setGroupingSeparator(DecimalFormatSymbols.getInstance().getGroupingSeparator());
//                 DecimalFormat format = new DecimalFormat("###,###,###,##0.#####");
//                 format.setDecimalFormatSymbols(symbols);
//                 return format.parse(str).floatValue();
//             } catch (Exception ignored) {
// 
//             }
//         }
//         return null;
//     }
// }


// Path: app/src/main/java/dynoapps/exchange_rates/model/rates/ParaGarantiRate.java
import android.text.TextUtils;
import androidx.annotation.NonNull;
import dynoapps.exchange_rates.util.RateUtils;

package dynoapps.exchange_rates.model.rates;



/**
 * Created by erdemmac on 24/11/2016.
 */

public class ParaGarantiRate extends AvgRate {

    public String symbol;
    public String last;

    @Override
    public void toRateType() {
        if (TextUtils.isEmpty(symbol)) rateType = UNKNOWN;
        int rateType = UNKNOWN;
        switch (symbol) {
            case "KUSD":
                rateType = USD;
                break;
            case "KEUR":
                rateType = EUR;
                break;
            case "EUR":
                rateType = EUR_USD;
                break;
        }
        this.rateType = rateType;
    }

    @Override
    public void setRealValues() {
        if (rateType == UNKNOWN) return;
        last = last.replace(',', '.');
        String val = last.replace("'", "").replace("$", "").trim();
        Float real_val = RateUtils.toFloat(val);