Search in sources :

Example 96 with Coin

use of wannabit.io.cosmostaion.model.type.Coin in project cosmostation-android by cosmostation.

the class RepayCdpStep0Fragment method onClick.

@Override
public void onClick(View v) {
    if (v.equals(mPrincipalClear)) {
        mPrincipalInput.setText("");
    } else if (v.equals(mBtn1_3)) {
        if (pMaxAmount.compareTo(BigDecimal.ZERO) > 0) {
            BigDecimal cal = pMaxAmount.divide(new BigDecimal(3), 0, RoundingMode.DOWN);
            if (cal.compareTo(pMinAmount) < 0) {
                cal = pMinAmount;
                Toast.makeText(getContext(), R.string.error_less_than_min_principal, Toast.LENGTH_SHORT).show();
            }
            mPrincipalInput.setText(cal.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), pDenom)).toPlainString());
        } else {
            Toast.makeText(getContext(), R.string.str_cannot_particaly, Toast.LENGTH_SHORT).show();
        }
    } else if (v.equals(mBtn2_3)) {
        if (pMaxAmount.compareTo(BigDecimal.ZERO) > 0) {
            BigDecimal cal = pMaxAmount.multiply(new BigDecimal("2")).divide(new BigDecimal(3), 0, RoundingMode.DOWN);
            if (cal.compareTo(pMinAmount) < 0) {
                cal = pMinAmount;
                Toast.makeText(getContext(), R.string.error_less_than_min_principal, Toast.LENGTH_SHORT).show();
            }
            mPrincipalInput.setText(cal.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), pDenom)).toPlainString());
        } else {
            Toast.makeText(getContext(), R.string.str_cannot_particaly, Toast.LENGTH_SHORT).show();
        }
    } else if (v.equals(mBtnMax)) {
        if (pMaxAmount.compareTo(BigDecimal.ZERO) > 0) {
            mPrincipalInput.setText(pMaxAmount.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), pDenom)).toPlainString());
        } else {
            Toast.makeText(getContext(), R.string.str_cannot_particaly, Toast.LENGTH_SHORT).show();
        }
    } else if (v.equals(mBtnAll)) {
        if (pAllAmount.compareTo(BigDecimal.ZERO) > 0) {
            mPrincipalInput.setText(pAllAmount.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), pDenom)).toPlainString());
        } else {
            Toast.makeText(getContext(), R.string.str_cannot_repay_all, Toast.LENGTH_SHORT).show();
        }
    } else if (v.equals(mBtnCancel)) {
        getSActivity().onBeforeStep();
    } else if (v.equals(mBtnNext)) {
        if (onValidateAmount()) {
            Coin payment = new Coin(pDenom, mToPaymentAmount.toPlainString());
            getSActivity().mPayment = payment;
            getSActivity().mBeforeLiquidationPrice = mBeforeLiquidationPrice;
            getSActivity().mBeforeRiskRate = mBeforeRiskRate;
            getSActivity().mAfterLiquidationPrice = mAfterLiquidationPrice;
            getSActivity().mAfterRiskRate = mAfterRiskRate;
            getSActivity().mRemainLoanAmount = mRemainLoanAmount;
            Bundle bundle = new Bundle();
            bundle.putString("beforeRiskRate", mBeforeRiskRate.toPlainString());
            bundle.putString("afterRiskRate", mAfterRiskRate.toPlainString());
            bundle.putString("beforeLiquidationPrice", mBeforeLiquidationPrice.toPlainString());
            bundle.putString("afterLiquidationPrice", mAfterLiquidationPrice.toPlainString());
            bundle.putString("currentPrice", mCurrentPrice.toPlainString());
            bundle.putString("denom", cDenom);
            Dialog_Safe_Score_Confirm dialog = Dialog_Safe_Score_Confirm.newInstance(bundle);
            dialog.setCancelable(true);
            dialog.setTargetFragment(this, CDP_REPAY_CONFIRM_DIALOG);
            dialog.show(getFragmentManager().beginTransaction(), "dialog");
        } else {
            Toast.makeText(getContext(), R.string.error_invalid_amount, Toast.LENGTH_SHORT).show();
        }
    }
}
Also used : Coin(wannabit.io.cosmostaion.model.type.Coin) Bundle(android.os.Bundle) Dialog_Safe_Score_Confirm(wannabit.io.cosmostaion.dialog.Dialog_Safe_Score_Confirm) BigDecimal(java.math.BigDecimal)

Example 97 with Coin

use of wannabit.io.cosmostaion.model.type.Coin in project cosmostation-android by cosmostation.

the class RepayHardStep0Fragment method isValidateDepositAmount.

private boolean isValidateDepositAmount() {
    try {
        BigDecimal amountTemp = new BigDecimal(mRepayInput.getText().toString().trim());
        if (amountTemp.compareTo(BigDecimal.ZERO) <= 0)
            return false;
        if (amountTemp.compareTo(mMaxAvailable.movePointLeft(mDpDecimal).setScale(mDpDecimal, RoundingMode.CEILING)) > 0)
            return false;
        // check dusty borrow amount!
        final BigDecimal denomPrice = WUtil.getKavaPrice(getBaseDao(), mHardMoneyMarketDenom);
        BigDecimal remainAmount = mBorrowedAmount.subtract(amountTemp.movePointRight(mDpDecimal).setScale(0));
        BigDecimal remainValue = remainAmount.movePointLeft(mDpDecimal).multiply(denomPrice);
        if (remainValue.compareTo(BigDecimal.ZERO) > 0 && remainValue.compareTo(BigDecimal.TEN) < 0) {
            Toast.makeText(getContext(), R.string.error_remain_borrow_small, Toast.LENGTH_SHORT).show();
            return false;
        }
        Coin coin = new Coin(mHardMoneyMarketDenom, amountTemp.movePointRight(mDpDecimal).setScale(0).toPlainString());
        ArrayList<Coin> temp = new ArrayList<>();
        temp.add(coin);
        getSActivity().mHardPoolCoins = temp;
        return true;
    } catch (Exception e) {
        Toast.makeText(getContext(), R.string.error_invalid_amounts, Toast.LENGTH_SHORT).show();
        getSActivity().mHardPoolCoins = null;
        return false;
    }
}
Also used : Coin(wannabit.io.cosmostaion.model.type.Coin) ArrayList(java.util.ArrayList) BigDecimal(java.math.BigDecimal)

Example 98 with Coin

use of wannabit.io.cosmostaion.model.type.Coin in project cosmostation-android by cosmostation.

the class WithdrawCdpStep0Fragment method onClick.

@Override
public void onClick(View v) {
    if (v.equals(mCollateralClear)) {
        mCollateralInput.setText("");
    } else if (v.equals(mBtnAdd1)) {
        BigDecimal inputedAmount = BigDecimal.ZERO;
        try {
            inputedAmount = new BigDecimal(mCollateralInput.getText().toString().trim());
        } catch (Exception e) {
        }
        inputedAmount = inputedAmount.add(new BigDecimal("1"));
        mCollateralInput.setText(inputedAmount.toPlainString());
    } else if (v.equals(mBtnAdd1_4)) {
        try {
            BigDecimal cal = mCanWithdrawMaxMaxAmount.divide(new BigDecimal(4), 0, RoundingMode.DOWN);
            mCollateralInput.setText(cal.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), mCollateralDenom)).toPlainString());
        } catch (Exception e) {
            mCollateralInput.setText("");
        }
    } else if (v.equals(mBtnAddHalf)) {
        try {
            BigDecimal cal = mCanWithdrawMaxMaxAmount.divide(new BigDecimal(2), 0, RoundingMode.DOWN);
            mCollateralInput.setText(cal.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), mCollateralDenom)).toPlainString());
        } catch (Exception e) {
            mCollateralInput.setText("");
        }
    } else if (v.equals(mBtnAdd3_4)) {
        try {
            BigDecimal cal = mCanWithdrawMaxMaxAmount.multiply(new BigDecimal(0.75)).setScale(0, RoundingMode.DOWN);
            mCollateralInput.setText(cal.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), mCollateralDenom)).toPlainString());
        } catch (Exception e) {
            mCollateralInput.setText("");
        }
    } else if (v.equals(mBtnAddMax)) {
        mCollateralInput.setText(mCanWithdrawMaxMaxAmount.movePointLeft(WUtil.getKavaCoinDecimal(getBaseDao(), mCollateralDenom)).toPlainString());
    } else if (v.equals(mBtnCancel)) {
        getSActivity().onBeforeStep();
    } else if (v.equals(mBtnNext)) {
        if (onDisplayViewUpdate()) {
            if (mBeforeLiquidationPrice.compareTo(BigDecimal.ZERO) <= 0 || mBeforeRiskRate.compareTo(BigDecimal.ZERO) < 0 || mToWithdrawAmount.compareTo(BigDecimal.ZERO) <= 0 || mAfterLiquidationPrice == null || mAfterRiskRate == null) {
                Toast.makeText(getContext(), R.string.error_invalid_amount, Toast.LENGTH_SHORT).show();
            } else {
                Coin collateral = new Coin(mCollateralDenom, mToWithdrawAmount.toPlainString());
                getSActivity().mCollateral = collateral;
                getSActivity().mBeforeLiquidationPrice = mBeforeLiquidationPrice;
                getSActivity().mBeforeRiskRate = mBeforeRiskRate;
                getSActivity().mAfterLiquidationPrice = mAfterLiquidationPrice;
                getSActivity().mAfterRiskRate = mAfterRiskRate;
                getSActivity().mTotalDepositAmount = mTotalDepositAmount;
                Bundle bundle = new Bundle();
                bundle.putString("beforeRiskRate", mBeforeRiskRate.toPlainString());
                bundle.putString("afterRiskRate", mAfterRiskRate.toPlainString());
                bundle.putString("beforeLiquidationPrice", mBeforeLiquidationPrice.toPlainString());
                bundle.putString("afterLiquidationPrice", mAfterLiquidationPrice.toPlainString());
                bundle.putString("currentPrice", mCurrentPrice.toPlainString());
                bundle.putString("denom", mCollateralDenom);
                Dialog_Safe_Score_Confirm dialog = Dialog_Safe_Score_Confirm.newInstance(bundle);
                dialog.setCancelable(true);
                dialog.setTargetFragment(this, CDP_WITHDRAW_CONFIRM_DIALOG);
                dialog.show(getFragmentManager().beginTransaction(), "dialog");
            }
        } else {
            Toast.makeText(getContext(), R.string.error_invalid_amount, Toast.LENGTH_SHORT).show();
        }
    }
}
Also used : Coin(wannabit.io.cosmostaion.model.type.Coin) Bundle(android.os.Bundle) Dialog_Safe_Score_Confirm(wannabit.io.cosmostaion.dialog.Dialog_Safe_Score_Confirm) BigDecimal(java.math.BigDecimal)

Example 99 with Coin

use of wannabit.io.cosmostaion.model.type.Coin in project cosmostation-android by cosmostation.

the class MainTokensFragment method onBindIbcUnknownToken.

// with Unknown IBC gRPC
private void onBindIbcUnknownToken(TokensAdapter.AssetHolder holder, int position) {
    final Coin coin = mIbcUnknownGrpc.get(position);
    final IbcToken ibcToken = getBaseDao().getIbcToken(coin.denom);
    if (ibcToken == null) {
        holder.itemSymbol.setText("Unknown");
        holder.itemInnerSymbol.setText("");
        holder.itemFullName.setText("");
        holder.itemImg.setImageDrawable(getResources().getDrawable(R.drawable.token_default_ibc));
        holder.itemBalance.setText(WDp.getDpAmount2(getContext(), new BigDecimal(coin.amount), 6, 6));
        holder.itemValue.setText(WDp.dpUserCurrencyValue(getBaseDao(), coin.denom, BigDecimal.ZERO, 6));
    } else {
        holder.itemSymbol.setText("Unknown");
        holder.itemInnerSymbol.setText("");
        holder.itemFullName.setText(ibcToken.channel_id);
        holder.itemImg.setImageDrawable(getResources().getDrawable(R.drawable.token_default_ibc));
        holder.itemBalance.setText(WDp.getDpAmount2(getContext(), new BigDecimal(coin.amount), 6, 6));
        holder.itemValue.setText(WDp.dpUserCurrencyValue(getBaseDao(), coin.denom, new BigDecimal(coin.amount), 6));
    }
    holder.itemRoot.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getMainActivity(), IBCTokenDetailActivity.class);
            intent.putExtra("denom", coin.denom);
            startActivity(intent);
        }
    });
}
Also used : Coin(wannabit.io.cosmostaion.model.type.Coin) IbcToken(wannabit.io.cosmostaion.dao.IbcToken) Intent(android.content.Intent) ImageView(android.widget.ImageView) CardView(androidx.cardview.widget.CardView) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) TextView(android.widget.TextView) BigDecimal(java.math.BigDecimal) IBCTokenDetailActivity(wannabit.io.cosmostaion.activities.tokenDetail.IBCTokenDetailActivity)

Example 100 with Coin

use of wannabit.io.cosmostaion.model.type.Coin in project cosmostation-android by cosmostation.

the class MainTokensFragment method onBindIbcAuthToken.

// with Authed IBC gRPC
private void onBindIbcAuthToken(TokensAdapter.AssetHolder holder, int position) {
    final Coin coin = mIbcAuthedGrpc.get(position);
    final IbcToken ibcToken = getBaseDao().getIbcToken(coin.denom);
    holder.itemSymbol.setTextColor(getResources().getColor(R.color.colorWhite));
    holder.itemFullName.setEllipsize(TextUtils.TruncateAt.MIDDLE);
    if (ibcToken == null) {
        holder.itemSymbol.setText("Unknown");
        holder.itemInnerSymbol.setText("");
        holder.itemFullName.setText("");
        holder.itemImg.setImageDrawable(getResources().getDrawable(R.drawable.token_default_ibc));
        holder.itemBalance.setText(WDp.getDpAmount2(getContext(), new BigDecimal(coin.amount), 6, 6));
        holder.itemValue.setText(WDp.dpUserCurrencyValue(getBaseDao(), coin.denom, BigDecimal.ZERO, 6));
    } else {
        holder.itemSymbol.setText(ibcToken.display_denom.toUpperCase());
        holder.itemInnerSymbol.setText("");
        holder.itemFullName.setText(ibcToken.channel_id);
        holder.itemBalance.setText(WDp.getDpAmount2(getContext(), new BigDecimal(coin.amount), ibcToken.decimal, 6));
        holder.itemValue.setText(WDp.dpUserCurrencyValue(getBaseDao(), getBaseDao().getBaseDenom(coin.denom), new BigDecimal(coin.amount), ibcToken.decimal));
        try {
            Picasso.get().load(ibcToken.moniker).fit().placeholder(R.drawable.token_default_ibc).error(R.drawable.token_default_ibc).into(holder.itemImg);
        } catch (Exception e) {
        }
    }
    holder.itemRoot.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getMainActivity(), IBCTokenDetailActivity.class);
            intent.putExtra("denom", coin.denom);
            startActivity(intent);
        }
    });
}
Also used : Coin(wannabit.io.cosmostaion.model.type.Coin) IbcToken(wannabit.io.cosmostaion.dao.IbcToken) Intent(android.content.Intent) ImageView(android.widget.ImageView) CardView(androidx.cardview.widget.CardView) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) TextView(android.widget.TextView) BigDecimal(java.math.BigDecimal) IBCTokenDetailActivity(wannabit.io.cosmostaion.activities.tokenDetail.IBCTokenDetailActivity)

Aggregations

Coin (wannabit.io.cosmostaion.model.type.Coin)126 BigDecimal (java.math.BigDecimal)85 ArrayList (java.util.ArrayList)28 TextView (android.widget.TextView)27 CardView (androidx.cardview.widget.CardView)27 View (android.view.View)25 RecyclerView (androidx.recyclerview.widget.RecyclerView)17 Intent (android.content.Intent)15 Abci (cosmos.base.abci.v1beta1.Abci)13 ImageView (android.widget.ImageView)12 Matcher (java.util.regex.Matcher)12 Pattern (java.util.regex.Pattern)12 CoinOuterClass (cosmos.base.v1beta1.CoinOuterClass)9 SpannableString (android.text.SpannableString)6 Balance (wannabit.io.cosmostaion.dao.Balance)6 Date (java.util.Date)5 IbcToken (wannabit.io.cosmostaion.dao.IbcToken)5 Fee (wannabit.io.cosmostaion.model.type.Fee)5 Bundle (android.os.Bundle)4 Lock (osmosis.lockup.Lock)4