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 2fdf9776d8..4de8ee31c8 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 @@ -163,7 +163,7 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte when (items[which]) { getString(R.string.loaded_wallet_load_via_app) -> { try { - val intent = Intent(Intent.ACTION_VIEW, engine.shareWalletUri) + val intent = Intent(Intent.ACTION_VIEW, engine.shareWalletUriEx) intent.addCategory(Intent.CATEGORY_DEFAULT) startActivity(intent) } catch (e: ActivityNotFoundException) { @@ -176,7 +176,7 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte } getString(R.string.loaded_wallet_load_via_qr) -> { - ShowQRCodeDialog.show(activity as AppCompatActivity?, engine.shareWalletUri.toString()) + ShowQRCodeDialog.show(activity as AppCompatActivity?, engine.shareWalletUriEx.toString()) } getString(R.string.loaded_wallet_load_via_cryptonit) -> { @@ -885,8 +885,7 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte private fun doShareWallet(useURI: Boolean) { if (useURI) { - val engine = CoinEngineFactory.create(ctx) - val txtShare = engine?.shareWalletUri.toString() + val txtShare = ctx.coinData.wallet val intent = Intent(Intent.ACTION_SEND) intent.type = Constant.INTENT_TYPE_TEXT_PLAIN intent.putExtra(Intent.EXTRA_SUBJECT, Constant.WALLET_ADDRESS) diff --git a/app/src/main/java/com/tangem/wallet/CoinEngine.java b/app/src/main/java/com/tangem/wallet/CoinEngine.java index 25b6a47ed2..5fce47c602 100644 --- a/app/src/main/java/com/tangem/wallet/CoinEngine.java +++ b/app/src/main/java/com/tangem/wallet/CoinEngine.java @@ -3,6 +3,7 @@ package com.tangem.wallet; import android.net.Uri; import android.text.InputFilter; +import com.tangem.data.Blockchain; import com.tangem.tangem_card.reader.CardProtocol; import com.tangem.tangem_card.tasks.SignTask; @@ -195,6 +196,13 @@ public abstract class CoinEngine { public abstract Uri getShareWalletUri(); + public Uri getShareWalletUriEx(){ + if (ctx.getBlockchain() == Blockchain.BitcoinCash) + return getShareWalletUri(); + else + return Uri.parse(ctx.getBlockchain().name().toLowerCase() + ":" + getShareWalletUri().toString()); + } + public abstract boolean checkNewTransactionAmount(Amount amount); public abstract boolean checkNewTransactionAmountAndFee(Amount amount, Amount fee, Boolean isFeeIncluded);