diff --git a/app/src/main/java/com/tangem/Constant.kt b/app/src/main/java/com/tangem/Constant.kt index 753d60ec12..c7a2a747ae 100644 --- a/app/src/main/java/com/tangem/Constant.kt +++ b/app/src/main/java/com/tangem/Constant.kt @@ -10,6 +10,8 @@ object Constant { const val ERROR = "Error" const val EXTRA_MODIFICATION = "modification" + const val EXTRA_MODIFICATION_DELETE = "delete" + const val EXTRA_MODIFICATION_UPDATE = "update" // LoadedWallet, VerifyCard const val REQUEST_CODE_SEND_PAYMENT = 1 @@ -57,4 +59,14 @@ object Constant { const val REQUEST_CODE_SIGN_PAYMENT = 1 const val REQUEST_CODE_REQUEST_PIN2_ = 2 + // SignPaymentActivity + const val EXTRA_AMOUNT = "Amount" + const val EXTRA_AMOUNT_CURRENCY = "AmountCurrency" + const val EXTRA_FEE = "Fee" + const val EXTRA_FEE_CURRENCY = "FeeCurrency" + const val EXTRA_FEE_INCLUDED = "FeeIncluded" + const val EXTRA_TARGET_ADDRESS = "TargetAddress" + const val REQUEST_CODE_SEND_PAYMENT_ = 1 + const val RESULT_INVALID_PIN_ = Activity.RESULT_FIRST_USER + } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt index 1f3625f1ef..b1b0e4fd9d 100644 --- a/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt @@ -53,14 +53,14 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { val html = Html.fromHtml(engine!!.balanceHTML) tvBalance.text = html - isIncludeFee = intent.getBooleanExtra(SignPaymentActivity.EXTRA_FEE_INCLUDED, true) + isIncludeFee = intent.getBooleanExtra(Constant.EXTRA_FEE_INCLUDED, true) if (isIncludeFee) tvIncFee.setText(R.string.including_fee) else tvIncFee.setText(R.string.not_including_fee) - amount = CoinEngine.Amount(intent.getStringExtra(SignPaymentActivity.EXTRA_AMOUNT), intent.getStringExtra(SignPaymentActivity.EXTRA_AMOUNT_CURRENCY)) + amount = CoinEngine.Amount(intent.getStringExtra(Constant.EXTRA_AMOUNT), intent.getStringExtra(Constant.EXTRA_AMOUNT_CURRENCY)) if (ctx.blockchain == Blockchain.Token && amount.currency != "ETH") tvIncFee.visibility = View.INVISIBLE @@ -71,28 +71,12 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { tvCurrency.text = engine.balanceCurrency tvCurrency2.text = engine.feeCurrency tvCardID.text = ctx.card!!.cidDescription - etWallet.setText(intent.getStringExtra(SignPaymentActivity.EXTRA_TARGET_ADDRESS)) + etWallet.setText(intent.getStringExtra(Constant.EXTRA_TARGET_ADDRESS)) etFee.setText("") btnSend.visibility = View.INVISIBLE - if (ctx.blockchain == Blockchain.Ethereum || ctx.blockchain == Blockchain.EthereumTestNet || ctx.blockchain == Blockchain.Token || - ctx.blockchain == Blockchain.BitcoinCash || ctx.blockchain == Blockchain.Litecoin) { - rgFee.isEnabled = false - -// requestInfura(ServerApiInfura.INFURA_ETH_GAS_PRICE) - - } else { - rgFee.isEnabled = true - -// requestElectrum(ctx.card, ElectrumRequest.checkBalance(ctx.card!!.wallet)) - -// ctx.coinData!!.resetFailedBalanceRequestCounter() - -// progressBar.visibility = View.VISIBLE - -// requestEstimateFee() - } + rgFee.isEnabled = !(ctx.blockchain == Blockchain.Ethereum || ctx.blockchain == Blockchain.EthereumTestNet || ctx.blockchain == Blockchain.Token || ctx.blockchain == Blockchain.BitcoinCash || ctx.blockchain == Blockchain.Litecoin) // set listeners rgFee.setOnCheckedChangeListener { _, checkedId -> doSetFee(checkedId) } @@ -165,7 +149,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { val intent = Intent(baseContext, PinRequestActivity::class.java) intent.putExtra(Constant.EXTRA_MODE, PinRequestActivity.Mode.RequestPIN2.toString()) ctx.saveToIntent(intent) - intent.putExtra(SignPaymentActivity.EXTRA_FEE_INCLUDED, isIncludeFee) + intent.putExtra(Constant.EXTRA_FEE_INCLUDED, isIncludeFee) startActivityForResult(intent, Constant.REQUEST_CODE_REQUEST_PIN2_) } @@ -222,12 +206,12 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { ctx.card = updatedCard } } - if (resultCode == SignPaymentActivity.RESULT_INVALID_PIN && requestPIN2Count < 2) { + if (resultCode == Constant.RESULT_INVALID_PIN_ && requestPIN2Count < 2) { requestPIN2Count++ val intent = Intent(baseContext, PinRequestActivity::class.java) intent.putExtra(Constant.EXTRA_MODE, PinRequestActivity.Mode.RequestPIN2.toString()) ctx.saveToIntent(intent) - intent.putExtra(SignPaymentActivity.EXTRA_FEE_INCLUDED, isIncludeFee) + intent.putExtra(Constant.EXTRA_FEE_INCLUDED, isIncludeFee) startActivityForResult(intent, Constant.REQUEST_CODE_REQUEST_PIN2_) return } @@ -237,12 +221,12 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { if (resultCode == Activity.RESULT_OK) { val intent = Intent(baseContext, SignPaymentActivity::class.java) ctx.saveToIntent(intent) - intent.putExtra(SignPaymentActivity.EXTRA_TARGET_ADDRESS, etWallet!!.text.toString()) - intent.putExtra(SignPaymentActivity.EXTRA_AMOUNT, etAmount.text.toString()) - intent.putExtra(SignPaymentActivity.EXTRA_AMOUNT_CURRENCY, tvCurrency.text.toString()) - intent.putExtra(SignPaymentActivity.EXTRA_FEE, etFee.text.toString()) - intent.putExtra(SignPaymentActivity.EXTRA_FEE_CURRENCY, tvCurrency2.text.toString()) - intent.putExtra(SignPaymentActivity.EXTRA_FEE_INCLUDED, isIncludeFee) + intent.putExtra(Constant.EXTRA_TARGET_ADDRESS, etWallet!!.text.toString()) + intent.putExtra(Constant.EXTRA_AMOUNT, etAmount.text.toString()) + intent.putExtra(Constant.EXTRA_AMOUNT_CURRENCY, tvCurrency.text.toString()) + intent.putExtra(Constant.EXTRA_FEE, etFee.text.toString()) + intent.putExtra(Constant.EXTRA_FEE_CURRENCY, tvCurrency2.text.toString()) + intent.putExtra(Constant.EXTRA_FEE_INCLUDED, isIncludeFee) startActivityForResult(intent, Constant.REQUEST_CODE_SIGN_PAYMENT) } else Toast.makeText(baseContext, R.string.pin_2_is_required_to_sign_the_payment, Toast.LENGTH_LONG).show() @@ -276,26 +260,22 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { if (ctx.coinData.minFee != null) { txtFee = ctx.coinData.minFee!!.toValueString() btnSend.visibility = View.VISIBLE - } else { + } else btnSend.visibility = View.INVISIBLE -// finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain)) - } + R.id.rbNormalFee -> if (ctx.coinData.normalFee != null) { txtFee = ctx.coinData.normalFee!!.toValueString() btnSend.visibility = View.VISIBLE - } else { + } else btnSend.visibility = View.INVISIBLE -// finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain)) - } + R.id.rbMaximumFee -> if (ctx.coinData.maxFee != null) { txtFee = ctx.coinData.maxFee!!.toValueString() btnSend.visibility = View.VISIBLE - } else { -// finishWithError(Activity.RESULT_CANCELED, getString(R.string.cannot_obtain_data_from_blockchain)) + } else btnSend.visibility = View.INVISIBLE - } } etFee.setText(txtFee.replace(',', '.')) } diff --git a/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt index 5cdf24ed44..eda89a4556 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PinRequestActivity.kt @@ -91,7 +91,7 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge nfcManager = NfcManager(this, this) - mode = Mode.valueOf(intent.getStringExtra("mode")) + mode = Mode.valueOf(intent.getStringExtra(Constant.EXTRA_MODE)) if (mode == Mode.RequestNewPIN) if (PINStorage.haveEncryptedPIN()) { @@ -200,7 +200,6 @@ class PinRequestActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Finge } catch (e: IOException) { e.printStackTrace() } - } override fun authenticationFailed(error: String) { diff --git a/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt index ff6556a3b1..26d44dd481 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt @@ -12,6 +12,7 @@ import android.text.Html import android.view.View import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager +import com.tangem.Constant import com.tangem.data.Blockchain import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext @@ -126,10 +127,10 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { val intent = Intent(baseContext, ConfirmPaymentActivity::class.java) ctx.saveToIntent(intent) - intent.putExtra(SignPaymentActivity.EXTRA_TARGET_ADDRESS, etWallet!!.text.toString()) - intent.putExtra(SignPaymentActivity.EXTRA_FEE_INCLUDED, (rgIncFee!!.checkedRadioButtonId == R.id.rbFeeIn)) - intent.putExtra(SignPaymentActivity.EXTRA_AMOUNT, strAmount) - intent.putExtra(SignPaymentActivity.EXTRA_AMOUNT_CURRENCY, tvCurrency.text.toString()) + intent.putExtra(Constant.EXTRA_TARGET_ADDRESS, etWallet!!.text.toString()) + intent.putExtra(Constant.EXTRA_FEE_INCLUDED, (rgIncFee!!.checkedRadioButtonId == R.id.rbFeeIn)) + intent.putExtra(Constant.EXTRA_AMOUNT, strAmount) + intent.putExtra(Constant.EXTRA_AMOUNT_CURRENCY, tvCurrency.text.toString()) startActivityForResult(intent, REQUEST_CODE_SEND_PAYMENT) } ivCamera.setOnClickListener { diff --git a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt index 2c84a2b4bc..2b18903c77 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SignPaymentActivity.kt @@ -14,6 +14,7 @@ import android.view.View import android.widget.ProgressBar import android.widget.Toast import com.tangem.App +import com.tangem.Constant import com.tangem.domain.wallet.CoinEngine import com.tangem.domain.wallet.CoinEngineFactory import com.tangem.domain.wallet.TangemContext @@ -32,15 +33,6 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card companion object { val TAG: String = SignPaymentActivity::class.java.simpleName - - const val EXTRA_AMOUNT = "Amount" - const val EXTRA_AMOUNT_CURRENCY = "AmountCurrency" - const val EXTRA_FEE = "Fee" - const val EXTRA_FEE_CURRENCY = "FeeCurrency" - const val EXTRA_FEE_INCLUDED = "FeeIncluded" - const val EXTRA_TARGET_ADDRESS = "TargetAddress" - const val REQUEST_CODE_SEND_PAYMENT = 1 - const val RESULT_INVALID_PIN = Activity.RESULT_FIRST_USER } private lateinit var nfcManager: NfcManager @@ -64,10 +56,10 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card ctx = TangemContext.loadFromBundle(this, intent.extras) - amount = CoinEngine.Amount(intent.getStringExtra(EXTRA_AMOUNT), intent.getStringExtra(EXTRA_AMOUNT_CURRENCY)) - fee = CoinEngine.Amount(intent.getStringExtra(EXTRA_FEE), intent.getStringExtra(EXTRA_FEE_CURRENCY)) - isIncludeFee = intent.getBooleanExtra(EXTRA_FEE_INCLUDED, true) - outAddressStr = intent.getStringExtra(EXTRA_TARGET_ADDRESS) + amount = CoinEngine.Amount(intent.getStringExtra(Constant.EXTRA_AMOUNT), intent.getStringExtra(Constant.EXTRA_AMOUNT_CURRENCY)) + fee = CoinEngine.Amount(intent.getStringExtra(Constant.EXTRA_FEE), intent.getStringExtra(Constant.EXTRA_FEE_CURRENCY)) + isIncludeFee = intent.getBooleanExtra(Constant.EXTRA_FEE_INCLUDED, true) + outAddressStr = intent.getStringExtra(Constant.EXTRA_TARGET_ADDRESS) tvCardID.text = ctx.card!!.cidDescription @@ -97,7 +89,7 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { - if (requestCode == REQUEST_CODE_SEND_PAYMENT) { + if (requestCode == Constant.REQUEST_CODE_SEND_PAYMENT_) { setResult(resultCode, data) finish() return @@ -139,7 +131,7 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card val intent = Intent(this, SendTransactionActivity::class.java) ctx.saveToIntent(intent) intent.putExtra(SendTransactionActivity.EXTRA_TX, tx) - startActivityForResult(intent, SignPaymentActivity.REQUEST_CODE_SEND_PAYMENT) + startActivityForResult(intent, Constant.REQUEST_CODE_SEND_PAYMENT_) } } val paymentToSign = coinEngine.constructPayment(amount, fee, isIncludeFee, outAddressStr) @@ -200,7 +192,7 @@ class SignPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card intent.putExtra("message", getString(R.string.cannot_sign_transaction__make_sure_you_enter_correct_pin_2)) intent.putExtra("UID", cardProtocol.card.uid) intent.putExtra("Card", cardProtocol.card.asBundle) - setResult(RESULT_INVALID_PIN, intent) + setResult(Constant.RESULT_INVALID_PIN_, intent) finish() } catch (e: Exception) { e.printStackTrace() diff --git a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt index 7df486acb5..8cc475f77a 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -366,9 +366,9 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific Constant.REQUEST_CODE_SWAP_PIN -> if (resultCode == Activity.RESULT_OK) { if (data == null) { ctx.saveToIntent(data) - data?.putExtra(Constant.EXTRA_MODIFICATION, "delete") + data?.putExtra(Constant.EXTRA_MODIFICATION, Constant.EXTRA_MODIFICATION_DELETE) } else - data.putExtra(Constant.EXTRA_MODIFICATION, "update") + data.putExtra(Constant.EXTRA_MODIFICATION, Constant.EXTRA_MODIFICATION_UPDATE) activity?.setResult(Activity.RESULT_OK, data) activity?.finish() @@ -400,10 +400,9 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific Constant.REQUEST_CODE_PURGE -> if (resultCode == Activity.RESULT_OK) { if (data == null) { ctx.saveToIntent(data) - data?.putExtra(Constant.EXTRA_MODIFICATION, "delete") - } else { - data.putExtra(Constant.EXTRA_MODIFICATION, "update") - } + data?.putExtra(Constant.EXTRA_MODIFICATION, Constant.EXTRA_MODIFICATION_DELETE) + } else + data.putExtra(Constant.EXTRA_MODIFICATION, Constant.EXTRA_MODIFICATION_UPDATE) activity?.setResult(Activity.RESULT_OK, data) activity?.finish() @@ -430,7 +429,6 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific } Constant.REQUEST_CODE_SEND_PAYMENT, Constant.REQUEST_CODE_RECEIVE_PAYMENT -> { - LOG.i("finishWithError", "REQUEST_CODE_SEND_PAYMENT") if (resultCode == Activity.RESULT_OK) { ctx.coinData?.clearInfo() srl?.postDelayed({ this.refresh() }, 5000) @@ -472,10 +470,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific override fun onReadFinish(cardProtocol: CardProtocol?) { verifyCardTask = null - if (cardProtocol != null) { if (cardProtocol.error == null) { - rlProgressBar?.post { rlProgressBar?.visibility = View.GONE this.cardProtocol = cardProtocol