package apps.makarov.com.whereismycurrency.view.fragments; import android.content.Context; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import java.util.Date; import apps.makarov.com.whereismycurrency.DateUtils; import apps.makarov.com.whereismycurrency.R; import apps.makarov.com.whereismycurrency.ResultUtils; import apps.makarov.com.whereismycurrency.models.Rate; import apps.makarov.com.whereismycurrency.presenters.CurrencyPairResultPresenter; import apps.makarov.com.whereismycurrency.view.iviews.CurrencyPairResultView; import butterknife.Bind; import butterknife.ButterKnife; /** * Created by makarov on 03/08/15. */ public class CurrencyPairResultViewImpl extends RelativeLayout implements CurrencyPairResultView { private final CurrencyPairResultPresenter mPairResultPresenter; @Bind(R.id.open_operation_base_icon) ImageView baseIcon; @Bind(R.id.open_operation_compare_icon) ImageView compareIcon; @Bind(R.id.open_operation_base_value) TextView baseValue; @Bind(R.id.open_operation_compare_value) TextView compareValue; @Bind(R.id.open_rate) TextView rateField; @Bind(R.id.title) TextView titleField; @Bind(R.id.open_operation_base_currency_name) TextView operationBaseCurrencyName; @Bind(R.id.open_operation_compare_currency_name) TextView operationCompareCurrencyName; public CurrencyPairResultViewImpl(Context context, CurrencyPairResultPresenter pairResultPresenter) { super(context); mPairResultPresenter = pairResultPresenter; initComponent(); } private void initComponent() { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.currency_pair_result_view, this); ButterKnife.bind(this, getRootView()); mPairResultPresenter.attachedView(this); } private void setCompareIcon(Drawable drawableRes) { compareIcon.setImageDrawable(drawableRes); } private void setBaseIcon(Drawable drawableRes) { baseIcon.setImageDrawable(drawableRes); } private void setOperationCompareValue(double operaionCompareValue) { compareValue.setText(operaionCompareValue + ""); } public void setOperationBaseValue(double operaionBaseValue) { baseValue.setText(operaionBaseValue + ""); } private void setOperationCompareCurrencyName(String value) { operationCompareCurrencyName.setText(value); } private void setOperationBaseCurrencyName(String value) { operationBaseCurrencyName.setText(value); } private void setRate(String value) { rateField.setText(value); } private void setDate(String value) { } @Override public void setTitle(String titleStr) { titleField.setText(titleStr); } @Override public void setOperation(Rate rate, double valueCurrency) { Drawable openBaseIcon = Rate.getCurrencyIcon(getContext(), rate.getCurrencyPair().getBaseCurrency()); Drawable openCompareIcon = Rate.getCurrencyIcon(getContext(), rate.getCurrencyPair().getCompareCurrency()); setBaseIcon(openBaseIcon); setCompareIcon(openCompareIcon); double startValue = ResultUtils.getStartOperationValue(valueCurrency); double finishValue = ResultUtils.getFinishOperationValue(rate, valueCurrency); setOperationBaseValue(startValue); setOperationCompareValue(finishValue); String nameBaseCurrency = Rate.getCurrencyName(getContext(), rate.getCurrencyPair().getBaseCurrency()); String nameCompareCurrency = Rate.getCurrencyName(getContext(), rate.getCurrencyPair().getCompareCurrency()); setOperationBaseCurrencyName(nameBaseCurrency); setOperationCompareCurrencyName(nameCompareCurrency); Date openOperation = rate.getChangeRate(); setDate(DateUtils.getDateStr(openOperation)); setRate(rate.getValue() + ""); } }