From 5343873ad488898baadb01f246368d514bb4c0f8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 20 Jul 2020 17:41:20 +0300 Subject: [PATCH 1/2] Updated on 2026-08-14 --- .../main/java/com/tangem/data/Blockchain.java | 9 ----- app/src/main/java/com/tangem/data/PayId.kt | 37 +++++++++++++++++++ .../fragment/wallet/LoadedWalletFragment.kt | 10 ++--- 3 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/com/tangem/data/PayId.kt diff --git a/app/src/main/java/com/tangem/data/Blockchain.java b/app/src/main/java/com/tangem/data/Blockchain.java index 278732d3f1..75b9b28495 100644 --- a/app/src/main/java/com/tangem/data/Blockchain.java +++ b/app/src/main/java/com/tangem/data/Blockchain.java @@ -2,8 +2,6 @@ package com.tangem.data; import com.tangem.tangem_sdk.R; -import java.util.EnumSet; - /** * Created by dvol on 06.08.2017. */ @@ -38,8 +36,6 @@ public enum Blockchain { FlowDemo("FLOW/demo", "", 1.0, R.drawable.tangem2, "Flow demo"), TokenEmv("TTW", "ETH", 1.0, R.drawable.ic_logo_ethereum, "Ethereum"); - static private EnumSet payIdSupported = EnumSet.of(Blockchain.Ripple, Blockchain.Ethereum, Blockchain.Bitcoin, Blockchain.Token); - Blockchain(String ID, String currency, double multiplier, int imageResource, String officialName) { mID = ID; mCurrency = currency; @@ -129,9 +125,4 @@ public enum Blockchain { } return scheme; } - - public Boolean isPayIdSupported() { - return payIdSupported.contains(this); - } - } diff --git a/app/src/main/java/com/tangem/data/PayId.kt b/app/src/main/java/com/tangem/data/PayId.kt new file mode 100644 index 0000000000..17e2085deb --- /dev/null +++ b/app/src/main/java/com/tangem/data/PayId.kt @@ -0,0 +1,37 @@ +package com.tangem.data + +import java.util.* + +private val payIdSupported = EnumSet.of( + Blockchain.Ripple, + Blockchain.Ethereum, + Blockchain.Bitcoin, + Blockchain.Token, + Blockchain.Litecoin, + Blockchain.Stellar, + Blockchain.StellarAsset, + Blockchain.Binance, + Blockchain.Cardano, + Blockchain.Ducatus, + Blockchain.BitcoinCash, + Blockchain.Binance, + Blockchain.BinanceAsset, + Blockchain.Rootstock, + Blockchain.RootstockToken, + Blockchain.Tezos, + Blockchain.Eos, + Blockchain.Matic +) + +fun Blockchain.isPayIdSupported(): Boolean { + return payIdSupported.contains(this) +} + +fun Blockchain.getPayIdNetwork(): String { + return when (this) { + Blockchain.Ripple -> "XRPL" + Blockchain.Rootstock, Blockchain.RootstockToken -> "RSK" + else -> this.currency + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt b/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt index 25fd8604ad..b358ddebf5 100644 --- a/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt +++ b/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt @@ -25,6 +25,8 @@ import com.tangem.App import com.tangem.Constant import com.tangem.data.Blockchain import com.tangem.data.dp.PrefsManager +import com.tangem.data.getPayIdNetwork +import com.tangem.data.isPayIdSupported import com.tangem.server_android.Result import com.tangem.server_android.ServerApiTangem import com.tangem.server_android.model.CardVerifyAndGetInfo @@ -156,7 +158,7 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte getString(R.string.loaded_wallet_load_via_qr) ) - if (ctx.blockchain.isPayIdSupported && !ctx.card.isStart2CoinCard()) { + if (ctx.blockchain.isPayIdSupported() && !ctx.card.isStart2CoinCard()) { ivPayId.visibility = View.VISIBLE ivPayId.imageAlpha = 100 ivPayId.setOnClickListener { createPayIdDialog() } @@ -326,7 +328,7 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte } private fun getPayIdIfApplicable() { - if (ctx.blockchain.isPayIdSupported && !ctx.card.isStart2CoinCard()) { + if (ctx.blockchain.isPayIdSupported() && !ctx.card.isStart2CoinCard()) { viewModel.getPayId( Util.byteArrayToHexString(ctx.card.cid!!), Util.byteArrayToHexString(ctx.card.cardPublicKey!!)) @@ -376,13 +378,11 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte } private fun createPayId(payId: String) { - val network = if (ctx.blockchain == Blockchain.Ripple) "XRPL" else ctx.blockchain.currency viewModel.setPayId( Util.byteArrayToHexString(ctx.card.cid!!), Util.byteArrayToHexString(ctx.card.cardPublicKey!!), payId, - ctx.coinData.wallet, - network + ctx.coinData.wallet, ctx.blockchain.getPayIdNetwork() ) .observe(viewLifecycleOwner, Observer { result -> when (result) { From a4f2bd681cee14f3d09ecc36b7b8e0b881509546 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 20 Jul 2020 18:22:12 +0300 Subject: [PATCH 2/2] Updated on 2026-08-14 --- .../java/com/tangem/ui/PrepareTransactionFragment.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/tangemAccess/java/com/tangem/ui/PrepareTransactionFragment.kt b/app/src/tangemAccess/java/com/tangem/ui/PrepareTransactionFragment.kt index 8ca425b1e7..387f992bb6 100644 --- a/app/src/tangemAccess/java/com/tangem/ui/PrepareTransactionFragment.kt +++ b/app/src/tangemAccess/java/com/tangem/ui/PrepareTransactionFragment.kt @@ -12,6 +12,7 @@ import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager import android.widget.Toast import com.tangem.Constant +import com.tangem.data.isPayIdSupported import com.tangem.ui.activity.MainActivity import com.tangem.ui.fragment.BaseFragment import com.tangem.ui.fragment.qr.CameraPermissionManager @@ -46,7 +47,7 @@ class PrepareTransactionFragment : BaseFragment(), NavigationResultListener, Nfc Html.fromHtml(engine!!.balanceHTML) tvBalance.text = html - if (ctx.blockchain.isPayIdSupported && !ctx.card.isStart2CoinCard()) { + if (ctx.blockchain.isPayIdSupported() && !ctx.card.isStart2CoinCard()) { etWallet.hint = getString(R.string.prepare_transaction_hint_address_or_pay_id) }