Updated on 2026-08-14

This commit is contained in:
Tangem 2019-09-18 14:36:38 +03:00
parent 41870da899
commit 09480a281f
3 changed files with 22 additions and 1 deletions

View file

@ -1,6 +1,7 @@
package com.tangem.ui.fragment
import android.app.Activity
import android.app.AlertDialog
import android.nfc.NfcAdapter
import android.nfc.Tag
import android.nfc.tech.IsoDep
@ -58,6 +59,7 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
private var task: CustomReadCardTask? = null
private var lastTag: Tag? = null
private var zipFile: File? = null
private var unknownBlockchain = false
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
setHasOptionsMenu(true)
@ -114,6 +116,11 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
}
override fun onTagDiscovered(tag: Tag) {
if (unknownBlockchain) {
(activity as MainActivity).nfcManager.ignoreTag(tag)
return
}
try {
// get IsoDep handle and run cardReader thread
val isoDep = IsoDep.get(tag)
@ -174,7 +181,8 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
ctx.saveToBundle(bundle)
navigateForResult(Constant.REQUEST_CODE_SHOW_CARD_ACTIVITY,
R.id.action_main_to_loadedWalletFragment, bundle)
} else {
showUnkownBlockchainWarning()
}
}
card.status == TangemCard.Status.Empty -> {
@ -221,6 +229,17 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
rlProgressBar?.postDelayed({ rlProgressBar?.visibility = View.GONE }, 500)
}
private fun showUnkownBlockchainWarning() {
unknownBlockchain = true
AlertDialog.Builder(context)
.setTitle(R.string.dialog_warning)
.setMessage(R.string.alert_unknown_blockchain)
.setPositiveButton(R.string.general_ok) { _, _ -> }
.setOnDismissListener { unknownBlockchain = false }
.create()
.show()
}
override fun onReadCancel() {
task = null
ReadCardInfoTask.resetLastReadInfo()

View file

@ -51,6 +51,7 @@
<string name="dialog_this_banknote_has_enforced_security_delay">Cette carte a imposé un délai de sécurité</string>
<string name="dialog_hold_banknote">Veuillez tenir la carte fermement \ n jusqu\'à ce que l\'opération soit terminéev…</string>
<string name="dialog_you_may_be_required_to_repeat">Vous devrez peut-être répéter cette opération plusieurs fois en fonction des performances NFC de votre smartphone. \ n Ceci est fait pour la sécurité de vos fonds.</string>
<string name="alert_unknown_blockchain">Cette carte n\'est pas supportée</string>
<!-- menu main -->
<string name="main_menu_manage_pin_1">Gérer le code PIN de l\'utilisateur…</string>

View file

@ -69,6 +69,7 @@
<string name="splash_version_name_debug">ALPHA v.%1$s \n dev \n build %2$s</string>
<string name="splash_version_name_release">v.%1$s</string>
<string name="splash_cardano">Cardano</string>
<string name="alert_unknown_blockchain">This card is not supported</string>
<!-- Main -->
<string name="main_screen_tap_card">Tap Tangem card with your smartphone</string>