Updated on 2026-08-14

This commit is contained in:
Tangem 2018-08-08 17:33:08 +03:00
parent 57a20d3cfc
commit 56fc4cad76
27 changed files with 470 additions and 478 deletions

View file

@ -68,7 +68,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
progressBar = findViewById(R.id.progressBar)
btnSend = findViewById(R.id.btnSend)
@ -77,16 +77,16 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
tvFeeEquivalent = findViewById(R.id.tvFeeEquivalent)
rgFee = findViewById(R.id.rgFee)
val engine = CoinEngineFactory.Create(card!!.blockchain)
val engine = CoinEngineFactory.create(card!!.blockchain)
if (card!!.blockchain == Blockchain.Token) {
val html = Html.fromHtml(engine!!.GetBalanceWithAlter(card))
val html = Html.fromHtml(engine!!.getBalanceWithAlter(card))
tvBalance.text = html
} else
tvBalance.text = engine!!.GetBalanceWithAlter(card)
tvBalance.text = engine!!.getBalanceWithAlter(card)
etAmount!!.setText(intent.getStringExtra(SignPaymentActivity.EXTRA_AMOUNT))
tvCurrency.text = engine.GetBalanceCurrency(card)
tvCurrency2.text = engine.GetFeeCurrency()
tvCurrency.text = engine.getBalanceCurrency(card)
tvCurrency2.text = engine.getFeeCurrency()
tvCardID.text = card!!.cidDescription
@ -108,8 +108,8 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
try {
val engine = CoinEngineFactory.Create(card!!.blockchain)
val eqFee = engine!!.EvaluteFeeEquivalent(card, etFee!!.text.toString())
val engine = CoinEngineFactory.create(card!!.blockchain)
val eqFee = engine!!.evaluateFeeEquivalent(card, etFee!!.text.toString())
tvFeeEquivalent!!.text = eqFee
if (!card!!.amountEquivalentDescriptionAvailable) {
@ -137,9 +137,9 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
return@setOnClickListener
}
val engineCoin = CoinEngineFactory.Create(card!!.blockchain)
val engineCoin = CoinEngineFactory.create(card!!.blockchain)
if (engineCoin!!.IsNeedCheckNode() && !nodeCheck) {
if (engineCoin!!.isNeedCheckNode() && !nodeCheck) {
Toast.makeText(baseContext, getString(R.string.cannot_reach_current_active_blockchain_node_try_again), Toast.LENGTH_LONG).show()
return@setOnClickListener
}
@ -147,20 +147,20 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
val txFee = etFee!!.text.toString()
val txAmount = etAmount!!.text.toString()
if (!engineCoin.HasBalanceInfo(card)) {
if (!engineCoin.hasBalanceInfo(card)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_check_balance_no_connection_with_blockchain_nodes))
return@setOnClickListener
} else if (!engineCoin.IsBalanceNotZero(card)) {
} else if (!engineCoin.isBalanceNotZero(card)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.the_wallet_is_empty))
return@setOnClickListener
} else if (!engineCoin.CheckUnspentTransaction(card)) {
} else if (!engineCoin.checkUnspentTransaction(card)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.please_wait_for_confirmation_of_incoming_transaction))
return@setOnClickListener
}
if (!engineCoin.CheckAmountValie(card, txAmount, txFee, minFeeInInternalUnits)) {
if (!engineCoin.checkAmountValue(card, txAmount, txFee, minFeeInInternalUnits)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.fee_exceeds_payment_amount_enter_correct_value_and_repeat_sending))
return@setOnClickListener
}
@ -184,11 +184,11 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
} else {
rgFee!!.isEnabled = true
val data = SharedData(SharedData.COUNT_REQUEST)
val engineCoin = CoinEngineFactory.Create(card!!.blockchain)
val engineCoin = CoinEngineFactory.create(card!!.blockchain)
for (i in 0 until data.allRequest) {
val nodeAddress = engineCoin!!.GetNextNode(card)
val nodePort = engineCoin.GetNextNodePort(card)
val nodeAddress = engineCoin!!.getNextNode(card)
val nodePort = engineCoin.getNextNodePort(card)
val connectTaskEx = ConnectTask(this@ConfirmPaymentActivity, nodeAddress, nodePort, data)
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(card!!.wallet))
}
@ -235,7 +235,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
if (data != null && data.extras != null) {
if (data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
card = updatedCard
}
}

View file

@ -47,7 +47,7 @@ class CreateNewWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback,
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
tvCardId.text = card!!.cidDescription

View file

@ -46,7 +46,7 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
tvIssuer.text = card!!.issuerDescription
tvBlockchain.text = card!!.blockchainName
@ -118,7 +118,7 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
} else {
if (data != null && data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
card = updatedCard
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {

View file

@ -289,7 +289,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
val uid = cardInfo.getString("UID")
val card = TangemCard(uid)
card.LoadFromBundle(cardInfo.getBundle("Card"))
card.loadFromBundle(cardInfo.getBundle("Card"))
val intent: Intent
intent = when {

View file

@ -84,7 +84,7 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge
else if (mode == Mode.RequestPIN2) {
val uid = intent.getStringExtra("UID")
val mCard = TangemCard(uid)
mCard.LoadFromBundle(intent.getBundleExtra("Card"))
mCard.loadFromBundle(intent.getBundleExtra("Card"))
if (mCard.PIN2 == TangemCard.PIN2_Mode.DefaultPIN2 || mCard.PIN2 == TangemCard.PIN2_Mode.Unchecked) {
// if we know PIN2 or not try default previously - use it

View file

@ -49,7 +49,7 @@ class PinSwapActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProt
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
newPIN = intent.getStringExtra("newPIN")
newPIN2 = intent.getStringExtra("newPIN2")

View file

@ -42,40 +42,40 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
mNfcManager = NfcManager(this, this)
mCard = TangemCard(intent.getStringExtra("UID"))
mCard!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
mCard!!.loadFromBundle(intent.extras!!.getBundle("Card"))
tvCardID.text = mCard!!.cidDescription
val engine = CoinEngineFactory.Create(mCard!!.blockchain)
val engine = CoinEngineFactory.create(mCard!!.blockchain)
if (mCard!!.blockchain == Blockchain.Token) {
val html = Html.fromHtml(engine!!.GetBalanceWithAlter(mCard))
val html = Html.fromHtml(engine!!.getBalanceWithAlter(mCard))
tvBalance.text = html
} else
tvBalance.text = engine!!.GetBalanceWithAlter(mCard)
tvBalance.text = engine!!.getBalanceWithAlter(mCard)
if (mCard!!.remainingSignatures < 2)
etAmount!!.isEnabled = false
if (mCard!!.blockchain == Blockchain.Ethereum || mCard!!.blockchain == Blockchain.EthereumTestNet) {
tvCurrency.text = engine.GetBalanceCurrency(mCard)
tvCurrency.text = engine.getBalanceCurrency(mCard)
useCurrency = false
etAmount!!.setText(engine.GetBalanceValue(mCard))
etAmount!!.setText(engine.getBalanceValue(mCard))
} else if (mCard!!.blockchain == Blockchain.Bitcoin || mCard!!.blockchain == Blockchain.BitcoinTestNet) {
val balance = engine.GetBalanceLong(mCard)!! / (mCard!!.blockchain.multiplier / 1000.0)
val balance = engine.getBalanceLong(mCard)!! / (mCard!!.blockchain.multiplier / 1000.0)
tvCurrency.text = "m" + mCard!!.blockchain.currency
useCurrency = true
val output = FormatUtil.DoubleToString(balance)
etAmount!!.setText(output)
} else if (mCard!!.blockchain == Blockchain.BitcoinCash || mCard!!.blockchain == Blockchain.BitcoinCashTestNet) {
val balance = engine.GetBalanceLong(mCard)!! / (mCard!!.blockchain.multiplier / 1000.0)
val balance = engine.getBalanceLong(mCard)!! / (mCard!!.blockchain.multiplier / 1000.0)
tvCurrency.text = "m" + mCard!!.blockchain.currency
useCurrency = true
val output = FormatUtil.DoubleToString(balance)
etAmount!!.setText(output)
} else {
tvCurrency.text = engine.GetBalanceCurrency(mCard)
tvCurrency.text = engine.getBalanceCurrency(mCard)
useCurrency = false
etAmount!!.setText(engine.GetBalanceValue(mCard))
etAmount!!.setText(engine.getBalanceValue(mCard))
}
if (mCard!!.blockchain == Blockchain.Bitcoin)
@ -91,10 +91,10 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
btnVerify.setOnClickListener {
val strAmount: String = etAmount!!.text.toString().replace(",", ".")
val engine1 = CoinEngineFactory.Create(mCard!!.blockchain)
val engine1 = CoinEngineFactory.create(mCard!!.blockchain)
try {
if (!engine.CheckAmount(mCard, etAmount!!.text.toString()))
if (!engine.checkAmount(mCard, etAmount!!.text.toString()))
etAmount!!.error = getString(R.string.not_enough_funds_on_your_card)
} catch (e: Exception) {
etAmount!!.error = getString(R.string.unknown_amount_format)
@ -102,7 +102,7 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
var checkAddress = false
if (engine1 != null)
checkAddress = engine1.ValdateAddress(etWallet!!.text.toString(), mCard)
checkAddress = engine1.validateAddress(etWallet!!.text.toString(), mCard)
if (!checkAddress) {

View file

@ -44,7 +44,7 @@ class PurgeActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoc
MainActivity.commonInit(applicationContext)
mCard = TangemCard(intent.getStringExtra("UID"))
mCard!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
mCard!!.loadFromBundle(intent.extras!!.getBundle("Card"))
tvCardID.text = mCard!!.cidDescription
progressBar.progressTintList = ColorStateList.valueOf(Color.DKGRAY)

View file

@ -12,7 +12,6 @@ import com.tangem.data.network.request.InfuraRequest
import com.tangem.data.network.task.send_transaction.ConnectTask
import com.tangem.data.network.task.send_transaction.ETHRequestTask
import com.tangem.domain.wallet.Blockchain
import com.tangem.domain.wallet.CoinEngine
import com.tangem.domain.wallet.CoinEngineFactory
import com.tangem.domain.wallet.TangemCard
import com.tangem.wallet.R
@ -33,10 +32,10 @@ class SendTransactionActivity : AppCompatActivity() {
val intent = intent
card = TangemCard(getIntent().getStringExtra("UID"))
card!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
tx = intent.getStringExtra("TX")
val engine = CoinEngineFactory.Create(card!!.blockchain)
val engine = CoinEngineFactory.create(card!!.blockchain)
if (card!!.blockchain == Blockchain.Ethereum || card!!.blockchain == Blockchain.EthereumTestNet || card!!.blockchain == Blockchain.Token) {
val task = ETHRequestTask(this@SendTransactionActivity, card!!.blockchain)
val req = InfuraRequest.SendTransaction(card!!.wallet, tx)
@ -44,13 +43,13 @@ class SendTransactionActivity : AppCompatActivity() {
req.setBlockchain(card!!.blockchain)
task.execute(req)
} else if (card!!.blockchain == Blockchain.Bitcoin || card!!.blockchain == Blockchain.BitcoinTestNet) {
val nodeAddress = engine!!.GetNode(card)
val nodePort = engine.GetNodePort(card)
val nodeAddress = engine!!.getNode(card)
val nodePort = engine.getNodePort(card)
val connectTask = ConnectTask(this@SendTransactionActivity, nodeAddress, nodePort, 3)
connectTask.execute(ElectrumRequest.Broadcast(card!!.wallet, tx))
} else if (card!!.blockchain == Blockchain.BitcoinCash || card!!.blockchain == Blockchain.BitcoinCashTestNet) {
val nodeAddress = engine!!.GetNode(card)
val nodePort = engine.GetNodePort(card)
val nodeAddress = engine!!.getNode(card)
val nodePort = engine.getNodePort(card)
val connectTask = ConnectTask(this@SendTransactionActivity, nodeAddress, nodePort, 3)
connectTask.execute(ElectrumRequest.Broadcast(card!!.wallet, tx))
}

View file

@ -54,7 +54,7 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
nfcManager = NfcManager(this, this)
mCard = TangemCard(intent.getStringExtra("UID"))
mCard!!.LoadFromBundle(intent.extras!!.getBundle("Card"))
mCard!!.loadFromBundle(intent.extras!!.getBundle("Card"))
amountStr = intent.getStringExtra(EXTRA_AMOUNT)
feeStr = intent.getStringExtra("Fee")

View file

@ -64,7 +64,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
private var singleToast: Toast? = null
private var nfcManager: NfcManager? = null
var mCard: TangemCard? = null
var card: TangemCard? = null
private var lastTag: Tag? = null
var srlLoadedWallet: SwipeRefreshLayout? = null
@ -89,12 +89,12 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
if (request.error == null) {
val answer = request.answer as VerificationServerProtocol.Verify.Answer
if (answer.error == null) {
mCard!!.isOnlineVerified = answer.results[0].passed
card!!.isOnlineVerified = answer.results[0].passed
} else {
mCard!!.isOnlineVerified = null
card!!.isOnlineVerified = null
}
} else {
mCard!!.isOnlineVerified = null
card!!.isOnlineVerified = null
}
}
srlLoadedWallet!!.isRefreshing = false
@ -103,8 +103,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
private fun requestCardValidate() {
val params = HashMap<String, String>()
params["CID"] = Util.bytesToHex(mCard!!.cid)
params["publicKey"] = Util.bytesToHex(mCard!!.cardPublicKey)
params["CID"] = Util.bytesToHex(card!!.cid)
params["publicKey"] = Util.bytesToHex(card!!.cardPublicKey)
VolleyHelper().doRequestString(context!!, URL_CARD_VALIDATE, params)
}
@ -112,8 +112,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
super.onCreate(savedInstanceState)
nfcManager = NfcManager(activity, this)
mCard = TangemCard(activity!!.intent.getStringExtra(TangemCard.EXTRA_CARD))
mCard!!.LoadFromBundle(activity!!.intent.extras.getBundle(TangemCard.EXTRA_CARD))
card = TangemCard(activity!!.intent.getStringExtra(TangemCard.EXTRA_CARD))
card!!.loadFromBundle(activity!!.intent.extras.getBundle(TangemCard.EXTRA_CARD))
lastTag = activity!!.intent.getParcelableExtra(MainActivity.EXTRA_LAST_DISCOVERED_TAG)
}
@ -129,42 +129,42 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
if (mCard!!.blockchain == Blockchain.Token)
if (card!!.blockchain == Blockchain.Token)
tvBalance.setSingleLine(false)
ivTangemCard.setImageResource(mCard!!.cardImageResource)
ivTangemCard.setImageResource(card!!.cardImageResource)
val engine = CoinEngineFactory.Create(mCard!!.blockchain)
val visibleFlag = engine?.InOutPutVisible() ?: true
val engine = CoinEngineFactory.create(card!!.blockchain)
val visibleFlag = engine?.inOutPutVisible() ?: true
try {
ivQR.setImageBitmap(UtilHelper.generateQrCode(engine!!.getShareWalletURI(mCard).toString()))
ivQR.setImageBitmap(UtilHelper.generateQrCode(engine!!.getShareWalletUri(card).toString()))
} catch (e: WriterException) {
e.printStackTrace()
}
updateViews()
if (!mCard!!.hasBalanceInfo()) {
if (!card!!.hasBalanceInfo()) {
srlLoadedWallet!!.isRefreshing = true
srlLoadedWallet!!.postDelayed({ this.refresh() }, 1000)
}
if ((mCard!!.isOnlineVerified == null || !mCard!!.isOnlineVerified) && onlineVerifyTask == null) {
if ((card!!.isOnlineVerified == null || !card!!.isOnlineVerified) && onlineVerifyTask == null) {
onlineVerifyTask = OnlineVerifyTask()
onlineVerifyTask!!.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, VerificationServerProtocol.Verify.prepare(mCard))
onlineVerifyTask!!.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, VerificationServerProtocol.Verify.prepare(card))
}
startVerify(lastTag)
tvWallet.text = mCard!!.wallet
tvWallet.text = card!!.wallet
// set listeners
srlLoadedWallet!!.setOnRefreshListener { this.refresh() }
btnLookup.setOnClickListener {
val engineClick = CoinEngineFactory.Create(mCard!!.blockchain)
val browserIntent = Intent(Intent.ACTION_VIEW, engineClick!!.getShareWalletURIExplorer(mCard))
val engineClick = CoinEngineFactory.create(card!!.blockchain)
val browserIntent = Intent(Intent.ACTION_VIEW, engineClick!!.getShareWalletUriExplorer(card))
startActivity(browserIntent)
}
@ -176,7 +176,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
btnLoad.setOnClickListener {
try {
val intent = Intent(Intent.ACTION_VIEW, CoinEngineFactory.Create(mCard!!.blockchain)!!.getShareWalletURI(mCard))
val intent = Intent(Intent.ACTION_VIEW, CoinEngineFactory.create(card!!.blockchain)!!.getShareWalletUri(card))
intent.addCategory(Intent.CATEGORY_DEFAULT)
startActivity(intent)
} catch (e: ActivityNotFoundException) {
@ -197,22 +197,22 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
}
btnExtract.setOnClickListener {
if (!mCard!!.hasBalanceInfo()) {
if (!card!!.hasBalanceInfo()) {
showSingleToast(R.string.cannot_obtain_data_from_blockchain)
} else if (!engine!!.IsBalanceNotZero(mCard))
} else if (!engine!!.isBalanceNotZero(card))
showSingleToast(R.string.wallet_empty)
else if (!engine.IsBalanceAlterNotZero(mCard))
else if (!engine.isBalanceAlterNotZero(card))
showSingleToast(R.string.not_enough_funds)
else if (engine.AwaitingConfirmation(mCard))
else if (engine.awaitingConfirmation(card))
showSingleToast(R.string.please_wait_while_previous)
else if (!engine.CheckUnspentTransaction(mCard))
else if (!engine.checkUnspentTransaction(card))
showSingleToast(R.string.please_wait_for_confirmation)
else if (mCard!!.remainingSignatures == 0)
else if (card!!.remainingSignatures == 0)
showSingleToast(R.string.card_has_no_remaining_signature)
else {
val intent = Intent(context, PreparePaymentActivity::class.java)
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_SEND_PAYMENT)
}
}
@ -249,8 +249,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
if (data.extras != null && data.extras!!.containsKey("confirmPIN")) {
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
newPIN = data.getStringExtra("newPIN")
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
} else {
@ -266,8 +266,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
if (data.extras != null && data.extras!!.containsKey("confirmPIN2")) {
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
newPIN2 = data.getStringExtra("newPIN2")
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
} else {
@ -280,7 +280,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
}
REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN -> if (resultCode == Activity.RESULT_OK) {
if (newPIN == "")
newPIN = mCard!!.pin
newPIN = card!!.pin
if (newPIN2 == "")
newPIN2 = PINStorage.getPIN2()
@ -299,8 +299,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
REQUEST_CODE_SWAP_PIN -> if (resultCode == Activity.RESULT_OK) {
if (data == null) {
data = Intent()
data.putExtra("UID", mCard!!.uid)
data.putExtra("Card", mCard!!.asBundle)
data.putExtra("UID", card!!.uid)
data.putExtra("Card", card!!.asBundle)
data.putExtra("modification", "delete")
} else
data.putExtra("modification", "update")
@ -312,34 +312,34 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
} else {
if (data != null && data.extras != null && data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
mCard = updatedCard
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
card = updatedCard
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_SWAP_PIN)
return
} else {
if (data != null && data.extras!!.containsKey("message")) {
mCard!!.error = data.getStringExtra("message")
card!!.error = data.getStringExtra("message")
}
}
}
REQUEST_CODE_REQUEST_PIN2_FOR_PURGE -> if (resultCode == Activity.RESULT_OK) {
val intent = Intent(context, PurgeActivity::class.java)
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_PURGE)
}
REQUEST_CODE_PURGE -> if (resultCode == Activity.RESULT_OK) {
if (data == null) {
data = Intent()
data.putExtra("UID", mCard!!.uid)
data.putExtra("Card", mCard!!.asBundle)
data.putExtra("UID", card!!.uid)
data.putExtra("Card", card!!.asBundle)
data.putExtra("modification", "delete")
} else {
data.putExtra("modification", "update")
@ -351,20 +351,20 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
} else {
if (data != null && data.extras != null && data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
mCard = updatedCard
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
card = updatedCard
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
requestPIN2Count++
val intent = Intent(context, PinRequestActivity::class.java)
intent.putExtra("mode", PinRequestActivity.Mode.RequestPIN2.toString())
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
startActivityForResult(intent, REQUEST_CODE_REQUEST_PIN2_FOR_PURGE)
return
} else {
if (data != null && data.extras!!.containsKey("message")) {
mCard!!.error = data.getStringExtra("message")
card!!.error = data.getStringExtra("message")
}
}
updateViews()
@ -373,21 +373,21 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
if (resultCode == Activity.RESULT_OK) {
srlLoadedWallet!!.postDelayed({ this.refresh() }, 10000)
srlLoadedWallet!!.isRefreshing = true
mCard!!.clearInfo()
card!!.clearInfo()
updateViews()
}
if (data != null && data.extras != null) {
if (data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
mCard = updatedCard
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
card = updatedCard
}
if (data.extras!!.containsKey("message")) {
if (resultCode == Activity.RESULT_OK) {
mCard!!.message = data.getStringExtra("message")
card!!.message = data.getStringExtra("message")
} else {
mCard!!.error = data.getStringExtra("message")
card!!.error = data.getStringExtra("message")
}
}
updateViews()
@ -398,111 +398,111 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
fun refresh() {
srlLoadedWallet!!.isRefreshing = true
mCard!!.clearInfo()
mCard!!.error = null
mCard!!.message = null
card!!.clearInfo()
card!!.error = null
card!!.message = null
val needResendTX = LastSignStorage.getNeedTxSend(mCard!!.wallet)
val needResendTX = LastSignStorage.getNeedTxSend(card!!.wallet)
updateViews()
val engine = CoinEngineFactory.Create(mCard!!.blockchain)
val engine = CoinEngineFactory.create(card!!.blockchain)
if ((mCard!!.isOnlineVerified == null || !mCard!!.isOnlineVerified) && onlineVerifyTask == null) {
if ((card!!.isOnlineVerified == null || !card!!.isOnlineVerified) && onlineVerifyTask == null) {
onlineVerifyTask = OnlineVerifyTask()
onlineVerifyTask!!.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, VerificationServerProtocol.Verify.prepare(mCard))
onlineVerifyTask!!.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, VerificationServerProtocol.Verify.prepare(card))
}
if (mCard!!.blockchain == Blockchain.Bitcoin || mCard!!.blockchain == Blockchain.BitcoinTestNet) {
if (card!!.blockchain == Blockchain.Bitcoin || card!!.blockchain == Blockchain.BitcoinTestNet) {
val data = SharedData(SharedData.COUNT_REQUEST)
mCard!!.resetFailedBalanceRequestCounter()
mCard!!.setIsBalanceEqual(true)
card!!.resetFailedBalanceRequestCounter()
card!!.setIsBalanceEqual(true)
for (i in 0 until data.allRequest) {
val nodeAddress = engine!!.GetNextNode(mCard)
val nodePort = engine.GetNextNodePort(mCard)
val nodeAddress = engine!!.getNextNode(card)
val nodePort = engine.getNextNodePort(card)
// check balance
val connectTaskEx = UpdateWalletInfoTask(this@LoadedWallet, nodeAddress, nodePort, data)
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(mCard!!.wallet))
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(card!!.wallet))
// list unspent input
val updateWalletInfoTask = UpdateWalletInfoTask(this@LoadedWallet, nodeAddress, nodePort, data)
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(mCard!!.wallet))
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(card!!.wallet))
}
// course request
val taskRate = RateInfoTask(this@LoadedWallet)
val rate = ExchangeRequest.GetRate(mCard!!.wallet, "bitcoin", "bitcoin")
val rate = ExchangeRequest.GetRate(card!!.wallet, "bitcoin", "bitcoin")
taskRate.execute(rate)
} else if (mCard!!.blockchain == Blockchain.BitcoinCash || mCard!!.blockchain == Blockchain.BitcoinCashTestNet) {
mCard!!.resetFailedBalanceRequestCounter()
} else if (card!!.blockchain == Blockchain.BitcoinCash || card!!.blockchain == Blockchain.BitcoinCashTestNet) {
card!!.resetFailedBalanceRequestCounter()
val data = SharedData(SharedData.COUNT_REQUEST)
mCard!!.setIsBalanceEqual(true)
card!!.setIsBalanceEqual(true)
for (i in 0 until data.allRequest) {
val nodeAddress = engine!!.GetNextNode(mCard)
val nodePort = engine.GetNextNodePort(mCard)
val nodeAddress = engine!!.getNextNode(card)
val nodePort = engine.getNextNodePort(card)
// check balance
val connectTaskEx = UpdateWalletInfoTask(this@LoadedWallet, nodeAddress, nodePort, data)
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(mCard!!.wallet))
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(card!!.wallet))
}
val nodeAddress = engine!!.GetNode(mCard)
val nodePort = engine.GetNodePort(mCard)
val nodeAddress = engine!!.getNode(card)
val nodePort = engine.getNodePort(card)
// list unspent input
val updateWalletInfoTask = UpdateWalletInfoTask(this@LoadedWallet, nodeAddress, nodePort, data)
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(mCard!!.wallet))
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(card!!.wallet))
// course request
val taskRate = RateInfoTask(this@LoadedWallet)
val rate = ExchangeRequest.GetRate(mCard!!.wallet, "bitcoin-cash", "bitcoin-cash")
val rate = ExchangeRequest.GetRate(card!!.wallet, "bitcoin-cash", "bitcoin-cash")
taskRate.execute(rate)
} else if (mCard!!.blockchain == Blockchain.Ethereum || mCard!!.blockchain == Blockchain.EthereumTestNet) {
val updateETH = ETHRequestTask(this@LoadedWallet, mCard!!.blockchain)
val reqETH = InfuraRequest.GetBalance(mCard!!.wallet)
} else if (card!!.blockchain == Blockchain.Ethereum || card!!.blockchain == Blockchain.EthereumTestNet) {
val updateETH = ETHRequestTask(this@LoadedWallet, card!!.blockchain)
val reqETH = InfuraRequest.GetBalance(card!!.wallet)
reqETH.id = 67
reqETH.setBlockchain(mCard!!.blockchain)
reqETH.setBlockchain(card!!.blockchain)
val reqNonce = InfuraRequest.GetOutTransactionCount(mCard!!.wallet)
val reqNonce = InfuraRequest.GetOutTransactionCount(card!!.wallet)
reqNonce.id = 67
reqNonce.setBlockchain(mCard!!.blockchain)
reqNonce.setBlockchain(card!!.blockchain)
updateETH.execute(reqETH, reqNonce)
// course request
val taskRate = RateInfoTask(this@LoadedWallet)
val rate = ExchangeRequest.GetRate(mCard!!.wallet, "ethereum", "ethereum")
val rate = ExchangeRequest.GetRate(card!!.wallet, "ethereum", "ethereum")
taskRate.execute(rate)
} else if (mCard!!.blockchain == Blockchain.Token) {
val updateETH = ETHRequestTask(this@LoadedWallet, mCard!!.blockchain)
val reqETH = InfuraRequest.GetTokenBalance(mCard!!.wallet, engine!!.GetContractAddress(mCard), engine.GetTokenDecimals(mCard))
} else if (card!!.blockchain == Blockchain.Token) {
val updateETH = ETHRequestTask(this@LoadedWallet, card!!.blockchain)
val reqETH = InfuraRequest.GetTokenBalance(card!!.wallet, engine!!.getContractAddress(card), engine.getTokenDecimals(card))
reqETH.id = 67
reqETH.setBlockchain(mCard!!.blockchain)
reqETH.setBlockchain(card!!.blockchain)
val reqBalance = InfuraRequest.GetBalance(mCard!!.wallet)
val reqBalance = InfuraRequest.GetBalance(card!!.wallet)
reqBalance.id = 67
reqBalance.setBlockchain(mCard!!.blockchain)
reqBalance.setBlockchain(card!!.blockchain)
val reqNonce = InfuraRequest.GetOutTransactionCount(mCard!!.wallet)
val reqNonce = InfuraRequest.GetOutTransactionCount(card!!.wallet)
reqNonce.id = 67
reqNonce.setBlockchain(mCard!!.blockchain)
reqNonce.setBlockchain(card!!.blockchain)
updateETH.execute(reqETH, reqNonce, reqBalance)
// course request
val taskRate = RateInfoTask(this@LoadedWallet)
val rate = ExchangeRequest.GetRate(mCard!!.wallet, "ethereum", "ethereum")
val rate = ExchangeRequest.GetRate(card!!.wallet, "ethereum", "ethereum")
taskRate.execute(rate)
}
if (needResendTX)
sendTransaction(LastSignStorage.getTxForSend(mCard!!.wallet))
sendTransaction(LastSignStorage.getTxForSend(card!!.wallet))
}
override fun onTagDiscovered(tag: Tag) {
@ -511,8 +511,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
fun prepareResultIntent(): Intent {
val data = Intent()
data.putExtra("UID", mCard!!.uid)
data.putExtra("Card", mCard!!.asBundle)
data.putExtra("UID", card!!.uid)
data.putExtra("Card", card!!.asBundle)
return data
}
@ -586,65 +586,63 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
timerHideErrorAndMessage = null
}
if (mCard!!.error == null || mCard!!.error.isEmpty()) {
if (card!!.error == null || card!!.error.isEmpty()) {
tvError.visibility = View.GONE
tvError.text = ""
} else {
tvError.visibility = View.VISIBLE
tvError.text = mCard!!.error
tvError.text = card!!.error
}
val needResendTX = LastSignStorage.getNeedTxSend(mCard!!.wallet)
val needResendTX = LastSignStorage.getNeedTxSend(card!!.wallet)
if ((mCard!!.message == null || mCard!!.message.isEmpty()) && !needResendTX) {
if ((card!!.message == null || card!!.message.isEmpty()) && !needResendTX) {
tvMessage!!.text = ""
tvMessage!!.visibility = View.GONE
} else {
if (needResendTX) {
} else {
tvMessage!!.text = mCard!!.message
tvMessage!!.text = card!!.message
}
tvMessage!!.visibility = View.VISIBLE
}
val engine = CoinEngineFactory.Create(mCard!!.blockchain)
val engine = CoinEngineFactory.create(card!!.blockchain)
if (mCard!!.blockchain == Blockchain.Bitcoin || mCard!!.blockchain == Blockchain.BitcoinTestNet) {
if (card!!.blockchain == Blockchain.Bitcoin || card!!.blockchain == Blockchain.BitcoinTestNet) {
val validator = BalanceValidator()
validator.Check(mCard)
validator.Check(card)
tvBalanceLine1.text = validator.GetFirstLine()
tvBalanceLine2.text = validator.GetSecondLine()
tvBalanceLine1.setTextColor(ContextCompat.getColor(context!!, validator.GetColor()))
}
if (engine!!.HasBalanceInfo(mCard) || mCard!!.offlineBalance == null) {
if (mCard!!.blockchain == Blockchain.Token) {
val html = Html.fromHtml(engine.GetBalanceWithAlter(mCard))
if (engine!!.hasBalanceInfo(card) || card!!.offlineBalance == null) {
if (card!!.blockchain == Blockchain.Token) {
val html = Html.fromHtml(engine.getBalanceWithAlter(card))
tvBalance.text = html
} else {
tvBalance.text = engine.GetBalanceWithAlter(mCard)
}
} else
tvBalance.text = engine.getBalanceWithAlter(card)
} else {
val offlineAmount = engine.ConvertByteArrayToAmount(mCard, mCard!!.offlineBalance)
if (mCard!!.blockchain == Blockchain.Token) {
val offlineAmount = engine.convertByteArrayToAmount(card, card!!.offlineBalance)
if (card!!.blockchain == Blockchain.Token) {
tvBalance.setText(R.string.not_implemented)
} else {
tvBalance.text = engine.GetAmountDescription(mCard, offlineAmount)
}
} else
tvBalance.text = engine.getAmountDescription(card, offlineAmount)
}
tvWallet.text = mCard!!.wallet
tvWallet.text = card!!.wallet
tvBlockchain.text = mCard!!.blockchainName
tvBlockchain.text = card!!.blockchainName
btnExtract!!.isEnabled = mCard!!.hasBalanceInfo()
btnExtract!!.isEnabled = card!!.hasBalanceInfo()
mCard!!.error = null
mCard!!.message = null
card!!.error = null
card!!.message = null
} catch (e: Exception) {
e.printStackTrace()
@ -664,7 +662,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
?: throw CardProtocol.TangemException(getString(R.string.wrong_tag_err))
val uid = tag!!.id
val sUID = Util.byteArrayToHexString(uid)
if (mCard!!.uid != sUID) {
if (card!!.uid != sUID) {
// Log.d(TAG, "Invalid UID: $sUID")
nfcManager!!.ignoreTag(isoDep.tag)
return
@ -678,7 +676,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
isoDep.timeout = 65000
}
verifyCardTask = VerifyCardTask(context, mCard, nfcManager, isoDep, this)
verifyCardTask = VerifyCardTask(context, card, nfcManager, isoDep, this)
verifyCardTask!!.start()
} catch (e: Exception) {
@ -688,7 +686,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
private fun doShareWallet(useURI: Boolean) {
if (useURI) {
val txtShare = CoinEngineFactory.Create(mCard!!.blockchain)!!.getShareWalletURI(mCard).toString()
val txtShare = CoinEngineFactory.create(card!!.blockchain)!!.getShareWalletUri(card).toString()
val intent = Intent(Intent.ACTION_SEND)
intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_SUBJECT, "Wallet address")
@ -712,7 +710,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
Toast.makeText(context, R.string.copied_clipboard, Toast.LENGTH_LONG).show()
}
} else {
val txtShare = mCard!!.wallet
val txtShare = card!!.wallet
val clipboard = activity!!.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
clipboard.primaryClip = ClipData.newPlainText(txtShare, txtShare)
Toast.makeText(context, R.string.copied_clipboard, Toast.LENGTH_LONG).show()
@ -720,32 +718,32 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
}
private fun sendTransaction(tx: String) {
val engine = CoinEngineFactory.Create(mCard!!.blockchain)
if (mCard!!.blockchain == Blockchain.Ethereum || mCard!!.blockchain == Blockchain.EthereumTestNet || mCard!!.blockchain == Blockchain.Token) {
val task = ETHRequestTask(this@LoadedWallet, mCard!!.blockchain)
val req = InfuraRequest.SendTransaction(mCard!!.wallet, tx)
val engine = CoinEngineFactory.create(card!!.blockchain)
if (card!!.blockchain == Blockchain.Ethereum || card!!.blockchain == Blockchain.EthereumTestNet || card!!.blockchain == Blockchain.Token) {
val task = ETHRequestTask(this@LoadedWallet, card!!.blockchain)
val req = InfuraRequest.SendTransaction(card!!.wallet, tx)
req.id = 67
req.setBlockchain(mCard!!.blockchain)
req.setBlockchain(card!!.blockchain)
task.execute(req)
} else if (mCard!!.blockchain == Blockchain.Bitcoin || mCard!!.blockchain == Blockchain.BitcoinTestNet) {
val nodeAddress = engine!!.GetNode(mCard)
val nodePort = engine.GetNodePort(mCard)
} else if (card!!.blockchain == Blockchain.Bitcoin || card!!.blockchain == Blockchain.BitcoinTestNet) {
val nodeAddress = engine!!.getNode(card)
val nodePort = engine.getNodePort(card)
val connectTask = UpdateWalletInfoTask(this@LoadedWallet, nodeAddress, nodePort)
connectTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.Broadcast(mCard!!.wallet, tx))
} else if (mCard!!.blockchain == Blockchain.BitcoinCash || mCard!!.blockchain == Blockchain.BitcoinCashTestNet) {
val nodeAddress = engine!!.GetNode(mCard)
val nodePort = engine.GetNodePort(mCard)
connectTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.Broadcast(card!!.wallet, tx))
} else if (card!!.blockchain == Blockchain.BitcoinCash || card!!.blockchain == Blockchain.BitcoinCashTestNet) {
val nodeAddress = engine!!.getNode(card)
val nodePort = engine.getNodePort(card)
val connectTask = UpdateWalletInfoTask(this@LoadedWallet, nodeAddress, nodePort)
connectTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.Broadcast(mCard!!.wallet, tx))
connectTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.Broadcast(card!!.wallet, tx))
}
}
private fun startSwapPINActivity() {
val intent = Intent(context, PinSwapActivity::class.java)
intent.putExtra("UID", mCard!!.uid)
intent.putExtra("Card", mCard!!.asBundle)
intent.putExtra("UID", card!!.uid)
intent.putExtra("Card", card!!.asBundle)
intent.putExtra("newPIN", newPIN)
intent.putExtra("newPIN2", newPIN2)
startActivityForResult(intent, REQUEST_CODE_SWAP_PIN)

View file

@ -55,7 +55,7 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
nfcManager = NfcManager(activity, this)
mCard = TangemCard(activity!!.intent.getStringExtra("UID"))
mCard!!.LoadFromBundle(activity!!.intent.extras!!.getBundle("Card"))
mCard!!.loadFromBundle(activity!!.intent.extras!!.getBundle("Card"))
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
@ -163,7 +163,7 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
} else {
if (data != null && data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
mCard = updatedCard
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
@ -201,7 +201,7 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
} else {
if (data != null && data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
mCard = updatedCard
}
if (resultCode == CreateNewWalletActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) {
@ -229,7 +229,7 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
if (data != null) {
if (data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.LoadFromBundle(data.getBundleExtra("Card"))
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
mCard = updatedCard
}
if (data.extras!!.containsKey("message")) {
@ -483,10 +483,10 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
private fun doPurge() {
requestPIN2Count = 0
val engine = CoinEngineFactory.Create(mCard!!.blockchain)
val engine = CoinEngineFactory.create(mCard!!.blockchain)
if (!mCard!!.hasBalanceInfo()) {
return
} else if (engine != null && engine.IsBalanceNotZero(mCard)) {
} else if (engine != null && engine.isBalanceNotZero(mCard)) {
Toast.makeText(context, R.string.cannot_erase_wallet_with_non_zero_balance, Toast.LENGTH_LONG).show()
return
}