diff --git a/app/build.gradle b/app/build.gradle index aa108ce..560e324 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -57,10 +57,10 @@ android { resValue "string", "base_url", "https://api.multy.io/" } stage { - resValue "string", "base_url", "http://stage.multy.io/" + resValue "string", "base_url", "https://stage.multy.io/" } multyTest { - resValue "string", "base_url", "http://test.multy.io/" + resValue "string", "base_url", "https://test.multy.io/" } } variantFilter { variant -> diff --git a/app/src/main/java/io/multy/storage/RealmManager.java b/app/src/main/java/io/multy/storage/RealmManager.java index b48d176..b49ca30 100644 --- a/app/src/main/java/io/multy/storage/RealmManager.java +++ b/app/src/main/java/io/multy/storage/RealmManager.java @@ -7,13 +7,11 @@ package io.multy.storage; import android.content.Context; -import android.util.Log; import java.io.File; import io.multy.Multy; import io.realm.Realm; -import timber.log.Timber; public class RealmManager { @@ -67,7 +65,7 @@ public static void clear() { private static void isRealmAvailable() { try { if (realm == null || realm.isClosed()) { - Log.e(TAG, "ERROR DB IS CLOSED OR NULL"); + throw new IllegalStateException("ERROR DB IS CLOSED OR NULL"); } } catch (IllegalStateException e) { e.printStackTrace(); diff --git a/app/src/main/java/io/multy/ui/fragments/send/WalletChooserFragment.java b/app/src/main/java/io/multy/ui/fragments/send/WalletChooserFragment.java index a6df5fb..8b24834 100644 --- a/app/src/main/java/io/multy/ui/fragments/send/WalletChooserFragment.java +++ b/app/src/main/java/io/multy/ui/fragments/send/WalletChooserFragment.java @@ -13,6 +13,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import android.widget.Toast; import java.math.BigDecimal; @@ -57,6 +58,8 @@ public static WalletChooserFragment newInstance(int blockchainId, int networkId) @BindView(R.id.recycler_view) RecyclerView recyclerView; + @BindView(R.id.text_no_wallets) + TextView textNoWallets; private AssetSendViewModel viewModel; int blockchainId; @@ -118,8 +121,16 @@ private void proceed(Wallet wallet) { return; } if (viewModel.isAmountScanned()) { - if (Double.parseDouble(CryptoFormatUtils - .satoshiToBtc(wallet.getPendingBalance().longValue())) >= viewModel.getAmount()) { + double walletAmount = 0; + switch (NativeDataHelper.Blockchain.valueOf(wallet.getCurrencyId())) { + case BTC: + walletAmount = CryptoFormatUtils.satoshiToBtcDouble(wallet.getAvailableBalanceNumeric().longValue()); + break; + case ETH: + walletAmount = CryptoFormatUtils.weiToEth(wallet.getAvailableBalance()); + break; + } + if (walletAmount >= viewModel.getAmount()) { launchTransactionFee(wallet); } else { Toast.makeText(getContext(), getString(R.string.no_balance), Toast.LENGTH_SHORT).show(); @@ -139,6 +150,11 @@ private void setupAdapter() { wallets = RealmManager.getAssetsDao().getWallets(blockchainId, networkId); } recyclerView.setAdapter(new MyWalletsAdapter(this, wallets)); + if (wallets.size() == 0 && blockchainId != NO_VALUE) { + textNoWallets.setVisibility(View.VISIBLE); + textNoWallets.setText(String.format(getString(R.string.no_some_wallet), + NativeDataHelper.Blockchain.valueOf(blockchainId).name())); + } } private void launchTransactionFee(Wallet wallet) { diff --git a/app/src/main/res/layout/fragment_wallet_chooser.xml b/app/src/main/res/layout/fragment_wallet_chooser.xml index 91387dd..7079068 100644 --- a/app/src/main/res/layout/fragment_wallet_chooser.xml +++ b/app/src/main/res/layout/fragment_wallet_chooser.xml @@ -40,4 +40,19 @@ app:layout_constraintTop_toBottomOf="@+id/text_select_wallet" tools:listitem="@layout/item_wallet" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 93cead7..007ee70 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -274,7 +274,5 @@ GWEI AVALIABLE SOON - - - Hello blank fragment + You don\'t have any wallets with some %s.