diff --git a/app/src/main/java/com/tangem/ui/activity/CreateNewWalletActivity.kt b/app/src/main/java/com/tangem/ui/activity/CreateNewWalletActivity.kt
index 67ce65f0d5..c8190e6477 100644
--- a/app/src/main/java/com/tangem/ui/activity/CreateNewWalletActivity.kt
+++ b/app/src/main/java/com/tangem/ui/activity/CreateNewWalletActivity.kt
@@ -72,24 +72,20 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback,
try {
// get IsoDep handle and run cardReader thread
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
val uid = tag.id
val sUID = Util.byteArrayToHexString(uid)
-// Log.v(TAG, "UID: " + sUID);
- if (sUID == ctx.card!!.uid) {
+ if (sUID == ctx.card.uid) {
if (lastReadSuccess)
- isoDep.timeout = ctx.card!!.pauseBeforePIN2 + 5000
+ isoDep.timeout = ctx.card.pauseBeforePIN2 + 5000
else
- isoDep.timeout = ctx.card!!.pauseBeforePIN2 + 65000
+ isoDep.timeout = ctx.card.pauseBeforePIN2 + 65000
createNewWalletTask = CreateNewWalletTask(ctx.card, NfcReader(nfcManager, isoDep), App.localStorage, App.pinStorage, this)
- createNewWalletTask!!.start()
+ createNewWalletTask?.start()
} else {
-// Log.d(TAG, "Mismatch card UID (" + sUID + " instead of " + mCard.getUID() + ")");
nfcManager.ignoreTag(isoDep.tag)
}
-
} catch (e: Exception) {
e.printStackTrace()
}
diff --git a/app/src/main/java/com/tangem/ui/activity/EmptyWalletActivity.kt b/app/src/main/java/com/tangem/ui/activity/EmptyWalletActivity.kt
index 9852984e20..73c45ccee3 100644
--- a/app/src/main/java/com/tangem/ui/activity/EmptyWalletActivity.kt
+++ b/app/src/main/java/com/tangem/ui/activity/EmptyWalletActivity.kt
@@ -140,15 +140,11 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
override fun onTagDiscovered(tag: Tag) {
try {
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
val uid = tag.id
val sUID = Util.byteArrayToHexString(uid)
- if (ctx.card!!.uid != sUID) {
- LOG.d(TAG, "Invalid UID: $sUID")
+ if (ctx.card.uid != sUID) {
nfcManager.ignoreTag(isoDep.tag)
return
- } else {
- LOG.d(TAG, "UID: $sUID")
}
if (lastReadSuccess)
diff --git a/app/src/main/java/com/tangem/ui/activity/MainActivity.kt b/app/src/main/java/com/tangem/ui/activity/MainActivity.kt
index ee2c2663dd..cff1c18a5c 100644
--- a/app/src/main/java/com/tangem/ui/activity/MainActivity.kt
+++ b/app/src/main/java/com/tangem/ui/activity/MainActivity.kt
@@ -220,21 +220,15 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
try {
// get IsoDep handle and run cardReader thread
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
-
- LOG.e(TAG, "setTimeout(" + (1000 + 3000 * unsuccessReadCount) + ")")
- if (unsuccessReadCount < 2) {
+ if (unsuccessReadCount < 2)
isoDep.timeout = 2000 + 5000 * unsuccessReadCount
- } else {
+ else
isoDep.timeout = 90000
- }
+
lastTag = tag
readCardInfoTask = ReadCardInfoTask(NfcReader(nfcManager, isoDep), App.localStorage, App.pinStorage, this)
readCardInfoTask?.start()
-
- LOG.i(TAG, "onTagDiscovered " + Arrays.toString(tag.id))
-
} catch (e: Exception) {
e.printStackTrace()
nfcManager.notifyReadResult(false)
@@ -275,10 +269,11 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
// TODO - ??? remove save and load???
val cardInfo = Bundle()
- cardInfo.putString(EXTRA_TANGEM_CARD_UID, cardProtocol.card.uid)
val bCard = Bundle()
- cardProtocol.card.saveToBundle(bCard)
+
+ cardInfo.putString(EXTRA_TANGEM_CARD_UID, cardProtocol.card.uid)
cardInfo.putBundle(EXTRA_TANGEM_CARD, bCard)
+ cardProtocol.card.saveToBundle(bCard)
val uid = cardInfo.getString("UID")
val card = TangemCard(uid)
@@ -288,10 +283,12 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
when {
card.status == TangemCard.Status.Loaded -> lastTag?.let {
val engineCoin = CoinEngineFactory.create(ctx)
- ?: throw CardProtocol.TangemException("Can't create CoinEngine!")
- engineCoin.defineWallet()
- navigator.showLoadedWallet(this, it, ctx)
+ if (engineCoin != null) {
+ engineCoin.defineWallet()
+ navigator.showLoadedWallet(this, it, ctx)
+ }
}
+// ?: throw CardProtocol.TangemException("Can't create CoinEngine!")
card.status == TangemCard.Status.Empty -> navigator.showEmptyWallet(this, ctx)
card.status == TangemCard.Status.Purged -> Toast.makeText(this, R.string.erased_wallet, Toast.LENGTH_SHORT).show()
card.status == TangemCard.Status.NotPersonalized -> Toast.makeText(this, R.string.not_personalized, Toast.LENGTH_SHORT).show()
diff --git a/app/src/main/java/com/tangem/ui/activity/PinSwapActivity.kt b/app/src/main/java/com/tangem/ui/activity/PinSwapActivity.kt
index 780e648132..d7f5e2b4c3 100644
--- a/app/src/main/java/com/tangem/ui/activity/PinSwapActivity.kt
+++ b/app/src/main/java/com/tangem/ui/activity/PinSwapActivity.kt
@@ -47,7 +47,7 @@ class PinSwapActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProt
private lateinit var nfcManager: NfcManager
- private var card: TangemCard? = null
+ private lateinit var card: TangemCard;
private var newPIN: String? = null
private var newPIN2: String? = null
@@ -63,33 +63,30 @@ class PinSwapActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProt
lifecycle.addObserver(NfcLifecycleObserver(nfcManager))
card = TangemCard(intent.getStringExtra(EXTRA_TANGEM_CARD_UID))
- card!!.loadFromBundle(intent.extras!!.getBundle(EXTRA_TANGEM_CARD))
+
+ card.loadFromBundle(intent.extras!!.getBundle(EXTRA_TANGEM_CARD))
newPIN = intent.getStringExtra(Constant.EXTRA_NEW_PIN)
newPIN2 = intent.getStringExtra(Constant.EXTRA_NEW_PIN_2)
- tvCardID.text = card!!.cidDescription
+ tvCardID.text = card.cidDescription
progressBar = findViewById(R.id.progressBar)
- progressBar!!.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
- progressBar!!.visibility = View.INVISIBLE
+ progressBar?.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
+ progressBar?.visibility = View.INVISIBLE
}
override fun onTagDiscovered(tag: Tag) {
try {
// get IsoDep handle and run cardReader thread
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
val uid = tag.id
val sUID = Util.byteArrayToHexString(uid)
- LOG.d(TAG, "UID: $sUID")
-
- if (sUID == card!!.uid) {
- isoDep.timeout = card!!.pauseBeforePIN2 + 65000
+ if (sUID == card.uid) {
+ isoDep.timeout = card.pauseBeforePIN2 + 65000
swapPinTask = SwapPINTask(card, NfcReader(nfcManager, isoDep), App.localStorage, App.pinStorage, this, newPIN, newPIN2)
- swapPinTask!!.start()
+ swapPinTask?.start()
} else {
- LOG.d(TAG, "Mismatch card UID (" + sUID + " instead of " + card!!.uid + ")")
nfcManager.ignoreTag(isoDep.tag)
}
} catch (e: Exception) {
diff --git a/app/src/main/java/com/tangem/ui/activity/PurgeActivity.kt b/app/src/main/java/com/tangem/ui/activity/PurgeActivity.kt
index a10181720d..58e3bc942e 100644
--- a/app/src/main/java/com/tangem/ui/activity/PurgeActivity.kt
+++ b/app/src/main/java/com/tangem/ui/activity/PurgeActivity.kt
@@ -76,7 +76,7 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc
nfcDeviceAntenna = NfcDeviceAntennaLocation(this, ivHandCardHorizontal, ivHandCardVertical, llHand, llNfc)
nfcDeviceAntenna.init()
- tvCardID.text = ctx.card!!.cidDescription
+ tvCardID.text = ctx.card.cidDescription
progressBar.progressTintList = ColorStateList.valueOf(Color.DKGRAY)
progressBar.visibility = View.INVISIBLE
}
@@ -90,20 +90,15 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc
try {
// get IsoDep handle and run cardReader thread
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
val uid = tag.id
val sUID = Util.byteArrayToHexString(uid)
- LOG.d(TAG, "UID: $sUID")
-
- if (sUID == ctx.card!!.uid) {
- isoDep.timeout = ctx.card!!.pauseBeforePIN2 + 65000
+ if (sUID == ctx.card.uid) {
+ isoDep.timeout = ctx.card.pauseBeforePIN2 + 65000
purgeTask = PurgeTask(ctx.card, NfcReader(nfcManager, isoDep), App.localStorage, App.pinStorage, this)
- purgeTask!!.start()
+ purgeTask?.start()
} else {
- LOG.d(TAG, "Mismatch card UID (" + sUID + " instead of " + ctx.card.uid + ")")
nfcManager.ignoreTag(isoDep.tag)
}
-
} catch (e: Exception) {
e.printStackTrace()
}
diff --git a/app/src/main/java/com/tangem/ui/activity/SignTransactionActivity.kt b/app/src/main/java/com/tangem/ui/activity/SignTransactionActivity.kt
index f8530c86cb..089fe31274 100644
--- a/app/src/main/java/com/tangem/ui/activity/SignTransactionActivity.kt
+++ b/app/src/main/java/com/tangem/ui/activity/SignTransactionActivity.kt
@@ -116,7 +116,6 @@ class SignTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback,
try {
// get IsoDep handle and run cardReader thread
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
val uid = tag.id
val sUID = Util.byteArrayToHexString(uid)
@@ -127,8 +126,7 @@ class SignTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback,
isoDep.timeout = ctx.card.pauseBeforePIN2 + 65000
val coinEngine = CoinEngineFactory.create(ctx)
- ?: throw CardProtocol.TangemException(getString(R.string.ex_cant_create_coinEngine))
- coinEngine.setOnNeedSendTransaction { tx ->
+ coinEngine?.setOnNeedSendTransaction { tx ->
if (tx != null) {
val intent = Intent(this, SendTransactionActivity::class.java)
ctx.saveToIntent(intent)
@@ -136,10 +134,10 @@ class SignTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback,
startActivityForResult(intent, Constant.REQUEST_CODE_SEND_TRANSACTION_)
}
}
- val transactionToSign = coinEngine.constructTransaction(amount, fee, isIncludeFee, outAddressStr)
+ val transactionToSign = coinEngine?.constructTransaction(amount, fee, isIncludeFee, outAddressStr)
signTransactionTask = SignTask(ctx.card, NfcReader(nfcManager, isoDep), App.localStorage, App.pinStorage, this, transactionToSign)
- signTransactionTask!!.start()
+ signTransactionTask?.start()
} else
nfcManager.ignoreTag(isoDep.tag)
diff --git a/app/src/main/java/com/tangem/ui/fragment/LoadedWallet.kt b/app/src/main/java/com/tangem/ui/fragment/LoadedWallet.kt
index 157b965d92..1e27ef605a 100644
--- a/app/src/main/java/com/tangem/ui/fragment/LoadedWallet.kt
+++ b/app/src/main/java/com/tangem/ui/fragment/LoadedWallet.kt
@@ -744,8 +744,7 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback
private fun startVerify(tag: Tag?) {
try {
val isoDep = IsoDep.get(tag)
- ?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
- val uid = tag!!.id
+ val uid = tag?.id
val sUID = Util.byteArrayToHexString(uid)
if (ctx.card.uid != sUID || cardProtocol != null) {
nfcManager.ignoreTag(isoDep.tag)
@@ -757,7 +756,6 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback
else
isoDep.timeout = 65000
-
verifyCardTask = VerifyCardTask(ctx.card, NfcReader(nfcManager, isoDep), App.localStorage, App.pinStorage, App.firmwaresStorage, this)
verifyCardTask?.start()
} catch (e: Exception) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ca3a05c013..f20adac23e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -7,7 +7,7 @@
No connection with blockchain nodes
Continue
Not found
- Not ISO tag!
+
Card must be loaded first!
Tag lost!
command
diff --git a/card-common/src/main/java/com/tangem/card_common/data/TangemCard.java b/card-common/src/main/java/com/tangem/card_common/data/TangemCard.java
index c73b0953b8..539168740e 100644
--- a/card-common/src/main/java/com/tangem/card_common/data/TangemCard.java
+++ b/card-common/src/main/java/com/tangem/card_common/data/TangemCard.java
@@ -492,7 +492,6 @@ public class TangemCard {
this.UID = UID;
}
-
public enum Status {
NotPersonalized(0), Empty(1), Loaded(2), Purged(3);