Updated on 2026-08-14

This commit is contained in:
Tangem 2018-10-17 17:02:34 +03:00
commit ec23bfe658
22 changed files with 178 additions and 306 deletions

View file

@ -40,26 +40,22 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
private var serverApiHelper: ServerApiHelper = ServerApiHelper()
private var serverApiHelperElectrum: ServerApiHelperElectrum = ServerApiHelperElectrum()
var card: TangemCard? = null
var feeRequestSuccess = false
var balanceRequestSuccess = false
var etAmount: EditText? = null
var etFee: EditText? = null
var rgFee: RadioGroup? = null
var progressBar: ProgressBar? = null
var btnSend: Button? = null
var minFee: String? = null
var maxFee: String? = null
var normalFee: String? = null
private var card: TangemCard? = null
private var feeRequestSuccess = false
private var balanceRequestSuccess = false
private var etAmount: EditText? = null
private var etFee: EditText? = null
private var rgFee: RadioGroup? = null
private var progressBar: ProgressBar? = null
private var btnSend: Button? = null
private var minFee: String? = null
private var maxFee: String? = null
private var normalFee: String? = null
private var isIncludeFee: Boolean = true
var minFeeInInternalUnits: Long? = 0L
private var minFeeInInternalUnits: Long? = 0L
private var requestPIN2Count = 0
var nodeCheck = false
var dtVerified: Date? = null
private var nodeCheck = false
private var dtVerified: Date? = null
private var calcSize: Int = 0
override fun onCreate(savedInstanceState: Bundle?) {
@ -175,7 +171,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
calendar.add(Calendar.MINUTE, -1)
if (dtVerified == null || dtVerified!!.before(calendar.time)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.the_obtained_data_is_outdated_try_again))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.the_obtained_data_is_outdated_try_again))
return@setOnClickListener
}
@ -190,20 +186,20 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
val txAmount = etAmount!!.text.toString()
if (!engineCoin.hasBalanceInfo(card)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_check_balance_no_connection_with_blockchain_nodes))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_check_balance_no_connection_with_blockchain_nodes))
return@setOnClickListener
} else if (!engineCoin.isBalanceNotZero(card)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.the_wallet_is_empty))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.the_wallet_is_empty))
return@setOnClickListener
} else if (!engineCoin.checkUnspentTransaction(card)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.please_wait_for_confirmation_of_incoming_transaction))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.please_wait_for_confirmation_of_incoming_transaction))
return@setOnClickListener
}
if (!engineCoin.checkAmountValue(card, txAmount, txFee, minFeeInInternalUnits, isIncludeFee)) {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.not_enough_funds_on_your_card))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.not_enough_funds_on_your_card))
return@setOnClickListener
}
@ -235,7 +231,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
}
} catch (e: JSONException) {
e.printStackTrace()
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_check_balance_no_connection_with_blockchain_nodes))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_check_balance_no_connection_with_blockchain_nodes))
}
}
}
@ -255,13 +251,13 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
if (fee == BigDecimal.ZERO) {
progressBar!!.visibility = View.INVISIBLE
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_calculate_fee_wrong_data_received_from_node))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_calculate_fee_wrong_data_received_from_node))
}
if (calcSize.toLong() != 0L) {
fee = fee.multiply(BigDecimal(calcSize.toLong())).divide(BigDecimal(1024)) // per Kb -> per byte
} else {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_calculate_fee_tx_length_unknown))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_calculate_fee_tx_length_unknown))
}
progressBar!!.visibility = View.INVISIBLE
@ -303,7 +299,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
ServerApiHelper.INFURA_ETH_GAS_PRICE -> {
var gasPrice = infuraResponse.result
gasPrice = gasPrice.substring(2)
// Rounding gas price to integer gwei
// rounding gas price to integer gwei
val l = BigInteger(gasPrice, 16).divide(BigInteger.valueOf(1000000000L)).multiply(BigInteger.valueOf(1000000000L))
val m = if (card!!.blockchain == Blockchain.Token) BigInteger.valueOf(60000) else BigInteger.valueOf(21000)
@ -322,11 +318,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
dtVerified = Date()
minFeeInInternalUnits = card!!.internalUnitsFromString(normalFeeInGwei)
Log.i("eth_gas_price", gasPrice)
}
else -> {
// Log.i("eth_gas_price", gasPrice)
}
}
}
@ -334,11 +326,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
override fun onInfuraFail(method: String, message: String) {
when (method) {
ServerApiHelper.INFURA_ETH_GAS_PRICE -> {
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
}
else -> {
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
}
}
}
@ -347,22 +335,6 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
serverApiHelper.setInfuraResponse(infuraBodyListener)
}
private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) {
if (UtilHelper.isOnline(this)) {
serverApiHelperElectrum.electrumRequestData(card, electrumRequest)
} else {
Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show()
}
}
private fun requestInfura(method: String) {
if (UtilHelper.isOnline(this)) {
serverApiHelper.infura(method, 67, card!!.wallet, "", "")
} else {
Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show()
}
}
public override fun onResume() {
super.onResume()
nfcManager!!.onResume()
@ -427,16 +399,8 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
return super.onKeyDown(keyCode, event)
}
fun finishActivityWithError(errorCode: Int, message: String) {
val intent = Intent()
intent.putExtra("message", message)
setResult(errorCode, intent)
finish()
}
override fun onTagDiscovered(tag: Tag) {
try {
// Log.w(getClass().getName(), "Ignore discovered tag!");
nfcManager!!.ignoreTag(tag)
} catch (e: IOException) {
e.printStackTrace()
@ -461,7 +425,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
fullAmount += unspentOutputs[i].value
}
// Get first unspent
// get first unspent
val outPut = unspentOutputs[0]
val outPutIndex = outPut.outputIndex
@ -470,7 +434,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
val fees = FormatUtil.ConvertStringToLong(outFee)
var amount = FormatUtil.ConvertStringToLong(outAmount)
amount = amount - fees
amount -= fees
val change = fullAmount - fees - amount
@ -482,17 +446,14 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
for (i in unspentOutputs.indices) {
val newTX = BTCUtils.buildTXForSign(myAddress, outputAddress, myAddress, unspentOutputs, i, amount, change)
val hashData = Util.calculateSHA256(newTX)
val doubleHashData = Util.calculateSHA256(hashData)
// Log.e("TX_BODY_1", BTCUtils.toHex(newTX));
// Log.e("TX_HASH_1", BTCUtils.toHex(hashData));
// Log.e("TX_HASH_2", BTCUtils.toHex(doubleHashData));
// Log.e("TX_BODY_1", BTCUtils.toHex(newTX))
// Log.e("TX_HASH_1", BTCUtils.toHex(hashData))
// Log.e("TX_HASH_2", BTCUtils.toHex(doubleHashData))
unspentOutputs[i].bodyDoubleHash = doubleHashData
unspentOutputs[i].bodyHash = hashData
hashesForSign[i] = doubleHashData
}
@ -510,26 +471,47 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
return realTX.size
}
fun doSetFee(checkedRadioButtonId: Int) {
private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) {
if (UtilHelper.isOnline(this)) {
serverApiHelperElectrum.electrumRequestData(card, electrumRequest)
} else
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
}
private fun requestInfura(method: String) {
if (UtilHelper.isOnline(this)) {
serverApiHelper.infura(method, 67, card!!.wallet, "", "")
} else
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
}
private fun doSetFee(checkedRadioButtonId: Int) {
var txtFee = ""
when (checkedRadioButtonId) {
R.id.rbMinimalFee ->
if (minFee != null)
txtFee = minFee.toString()
else
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
R.id.rbNormalFee ->
if (normalFee != null)
txtFee = normalFee.toString()
else
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
R.id.rbMaximumFee ->
if (maxFee != null)
txtFee = maxFee.toString()
else
finishActivityWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain))
}
etFee!!.setText(txtFee.replace(',', '.'))
}
private fun finishWithError(errorCode: Int, message: String) {
val intent = Intent()
intent.putExtra("message", message)
setResult(errorCode, intent)
finish()
}
}

View file

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

View file

@ -46,8 +46,8 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
card = TangemCard(intent.getStringExtra(TangemCard.EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(TangemCard.EXTRA_CARD))
tvIssuer.text = card!!.issuerDescription
//tvBlockchain.text = card!!.blockchainName

View file

@ -147,12 +147,6 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
// set listeners
fab.setOnClickListener { showMenu(it) }
// if (BuildConfig.DEBUG) {
// fab.setOnLongClickListener {
// startActivity(Intent(this, SettingsDebugActivity::class.java))
// false
// }
// }
val apiHelper = ServerApiHelper()
apiHelper.setLastVersionListener { response ->
@ -315,7 +309,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco
val cardInfo = Bundle()
cardInfo.putString("UID", cardProtocol.card.uid)
val bCard = Bundle()
cardProtocol.card.SaveToBundle(bCard)
cardProtocol.card.saveToBundle(bCard)
cardInfo.putBundle("Card", bCard)
val uid = cardInfo.getString("UID")

View file

@ -82,11 +82,11 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge
else if (mode == Mode.ConfirmNewPIN2)
tvPinPrompt.setText(R.string.confirm_new_pin_2)
else if (mode == Mode.RequestPIN2) {
val uid = intent.getStringExtra("UID")
val mCard = TangemCard(uid)
mCard.loadFromBundle(intent.getBundleExtra("Card"))
val uid = intent.getStringExtra(TangemCard.EXTRA_UID)
val card = TangemCard(uid)
card.loadFromBundle(intent.getBundleExtra(TangemCard.EXTRA_CARD))
if (mCard.PIN2 == TangemCard.PIN2_Mode.DefaultPIN2 || mCard.PIN2 == TangemCard.PIN2_Mode.Unchecked) {
if (card.PIN2 == TangemCard.PIN2_Mode.DefaultPIN2 || card.PIN2 == TangemCard.PIN2_Mode.Unchecked) {
// if we know PIN2 or not try default previously - use it
PINStorage.setPIN2(PINStorage.getDefaultPIN2())
setResult(Activity.RESULT_OK)

View file

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

View file

@ -44,8 +44,8 @@ class PrepareCryptonitOtherAPIWithdrawalActivity : AppCompatActivity(), NfcAdapt
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
card = TangemCard(intent.getStringExtra(TangemCard.EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(TangemCard.EXTRA_CARD))
cryptonit = Cryptonit_OtherAPI(this)

View file

@ -43,8 +43,8 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
card = TangemCard(intent.getStringExtra(TangemCard.EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(TangemCard.EXTRA_CARD))
cryptonit = Cryptonit(this)
@ -70,12 +70,12 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade
tvFeeCurrency.text = tvCurrency.text
etAmount.setText(engine.convertByteArrayToAmount(card!!, card!!.denomination))
etAmount.setOnEditorActionListener{lv,actionId,event->
etAmount.setOnEditorActionListener { lv, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
val imm = lv.context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(lv.windowToken, 0)
true
}else {
} else {
false
}
}
@ -104,7 +104,7 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade
val strFee: String = etFee.text.toString().replace(",", ".")
var dblAmount: Double = strAmount.toDouble()
var dblFee: Double = strFee.toDouble()
cryptonit!!.fee=strFee
cryptonit!!.fee = strFee
rlProgressBar.visibility = View.VISIBLE
tvProgressDescription.text = getString(R.string.cryptonit_request_withdrawal)
@ -116,8 +116,8 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade
}
ivRefreshBalance.setOnClickListener {
cryptonit!!.username=etUsername.text.toString()
cryptonit!!.password=etPassword.text.toString()
cryptonit!!.username = etUsername.text.toString()
cryptonit!!.password = etPassword.text.toString()
cryptonit!!.saveAccountInfo()
doRequestBalance()
}
@ -137,11 +137,10 @@ class PrepareCryptonitWithdrawalActivity : AppCompatActivity(), NfcAdapter.Reade
}
cryptonit!!.setWithdrawalListener { response ->
rlProgressBar.visibility = View.INVISIBLE
if (response.success != null && response.success!!){
Toast.makeText(this,"Withdrawal successful!", Toast.LENGTH_LONG).show();
if (response.success != null && response.success!!) {
Toast.makeText(this, "Withdrawal successful!", Toast.LENGTH_LONG).show();
finish()
}
else {
} else {
tvError.visibility = View.VISIBLE
tvError.text = response.errors.toString()
}

View file

@ -51,8 +51,8 @@ class PrepareKrakenWithdrawalActivity : AppCompatActivity(), NfcAdapter.ReaderCa
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
card = TangemCard(intent.getStringExtra(TangemCard.EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(TangemCard.EXTRA_CARD))
kraken = Kraken(this)

View file

@ -45,8 +45,8 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
nfcManager = NfcManager(this, this)
card = TangemCard(intent.getStringExtra("UID"))
card!!.loadFromBundle(intent.extras!!.getBundle("Card"))
card = TangemCard(intent.getStringExtra(TangemCard.EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(TangemCard.EXTRA_CARD))
tvCardID.text = card!!.cidDescription
val engine = CoinEngineFactory.create(card!!.blockchain)

View file

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

View file

@ -5,13 +5,12 @@ import android.nfc.NfcAdapter
import android.nfc.Tag
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.view.KeyEvent
import android.widget.Toast
import com.tangem.data.network.ElectrumRequest
import com.tangem.data.network.ServerApiHelper
import com.tangem.data.network.ServerApiHelperElectrum
import com.tangem.data.network.model.InfuraResponse
import com.tangem.data.network.ElectrumRequest
import com.tangem.domain.cardReader.NfcManager
import com.tangem.domain.wallet.Blockchain
import com.tangem.domain.wallet.CoinEngineFactory
@ -25,15 +24,13 @@ import java.math.BigInteger
class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
companion object {
const val EXTRA_UID: String = "UID"
const val EXTRA_CARD: String = "Card"
const val EXTRA_TX: String = "TX"
}
private var serverApiHelper: ServerApiHelper = ServerApiHelper()
private var serverApiHelperElectrum: ServerApiHelperElectrum = ServerApiHelperElectrum()
var card: TangemCard? = null
private var card: TangemCard? = null
private var tx: String? = null
private var nfcManager: NfcManager? = null
@ -46,8 +43,8 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
nfcManager = NfcManager(this, this)
val intent = intent
card = TangemCard(getIntent().getStringExtra(EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(EXTRA_CARD))
card = TangemCard(getIntent().getStringExtra(TangemCard.EXTRA_UID))
card!!.loadFromBundle(intent.extras!!.getBundle(TangemCard.EXTRA_CARD))
tx = intent.getStringExtra(EXTRA_TX)
val engine = CoinEngineFactory.create(card!!.blockchain)
@ -70,29 +67,26 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
if (electrumRequest!!.isMethod(ElectrumRequest.METHOD_SendTransaction)) {
try {
var hashTX = electrumRequest.resultString
try {
if (hashTX.startsWith("0x") || hashTX.startsWith("0X")) {
hashTX = hashTX.substring(2)
}
Log.e("TX_RESULT", hashTX)
finishWithSuccess()
} catch (e: Exception) {
e.printStackTrace()
// finishWithError(hashTX)
finishWithError(hashTX)
requestElectrum(card!!, ElectrumRequest.broadcast(card!!.wallet, tx))
}
} catch (e: JSONException) {
e.printStackTrace()
// finishWithError(e.toString())
finishWithError(e.toString())
requestElectrum(card!!, ElectrumRequest.broadcast(card!!.wallet, tx))
}
}
}
override fun onElectrumFail(message: String?) {
finishWithError(message!!)
}
}
@ -109,6 +103,7 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
val tmp = infuraResponse.result
hashTX = tmp
} catch (e: JSONException) {
finishWithError(e.message!!)
return
}
@ -119,18 +114,13 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
val nonce = card!!.confirmedTXCount
nonce.add(BigInteger.valueOf(1))
card!!.confirmedTXCount = nonce
// Log.e("TX_RESULT", hashTX)
finishWithSuccess()
} catch (e: Exception) {
e.printStackTrace()
finishWithError(e.message!!)
}
}
else -> {
}
}
}
@ -139,10 +129,6 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
ServerApiHelper.INFURA_ETH_SEND_RAW_TRANSACTION -> {
finishWithError(message)
}
else -> {
}
}
}
}
@ -160,36 +146,6 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
return super.onKeyDown(keyCode, event)
}
private fun requestInfura(method: String, contract: String) {
if (UtilHelper.isOnline(this)) {
serverApiHelper.infura(method, 67, card!!.wallet, contract, tx)
} else {
Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show()
}
}
private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) {
if (UtilHelper.isOnline(this)) {
serverApiHelperElectrum.electrumRequestData(card, electrumRequest)
} else {
Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show()
}
}
fun finishWithError(message: String) {
val intent = Intent()
intent.putExtra("message", String.format(getString(R.string.try_again_failed_to_send_transaction), message))
setResult(RESULT_CANCELED, intent)
finish()
}
fun finishWithSuccess() {
val intent = Intent()
intent.putExtra("message", getString(R.string.transaction_has_been_successfully_signed))
setResult(RESULT_OK, intent)
finish()
}
public override fun onResume() {
super.onResume()
nfcManager!!.onResume()
@ -207,12 +163,38 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
override fun onTagDiscovered(tag: Tag) {
try {
// Log.w(javaClass.name, "Ignore discovered tag!")
nfcManager!!.ignoreTag(tag)
} catch (e: IOException) {
e.printStackTrace()
}
}
private fun requestInfura(method: String, contract: String) {
if (UtilHelper.isOnline(this)) {
serverApiHelper.infura(method, 67, card!!.wallet, contract, tx)
} else
finishWithError(getString(R.string.no_connection))
}
private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) {
if (UtilHelper.isOnline(this)) {
serverApiHelperElectrum.electrumRequestData(card, electrumRequest)
} else
finishWithError(getString(R.string.no_connection))
}
private fun finishWithSuccess() {
val intent = Intent()
intent.putExtra("message", getString(R.string.transaction_has_been_successfully_signed))
setResult(RESULT_OK, intent)
finish()
}
private fun finishWithError(message: String) {
val intent = Intent()
intent.putExtra("message", String.format(getString(R.string.try_again_failed_to_send_transaction), message))
setResult(RESULT_CANCELED, intent)
finish()
}
}

View file

@ -1,31 +0,0 @@
package com.tangem.presentation.activity
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.Toolbar
import com.tangem.wallet.R
class SettingsDebugActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings_debug)
initToolbar()
}
private fun initToolbar() {
val toolbar = findViewById<Toolbar>(R.id.toolbar)!!
toolbar.title = getString(R.string.debug_settings)
setSupportActionBar(toolbar)
toolbar.setNavigationIcon(R.drawable.ic_arrow_left_white_24dp)
toolbar.setNavigationOnClickListener {
if (fragmentManager.backStackEntryCount == 0)
finish()
else
fragmentManager.popBackStack()
}
}
}

View file

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