Updated on 2026-08-14

This commit is contained in:
Tangem 2019-04-03 10:33:45 +03:00
parent ce7b5e9f84
commit 9faacafc80
4 changed files with 48 additions and 42 deletions

View file

@ -6,6 +6,7 @@ import com.tangem.Constant
import com.tangem.domain.wallet.TangemContext
import com.tangem.ui.PrepareTransactionActivity
import com.tangem.ui.activity.*
import com.tangem.wallet.BuildConfig
class Navigator {
@ -70,11 +71,14 @@ class Navigator {
}
fun showPrepareTransaction(context: Activity, ctx: TangemContext) {
context.startActivityForResult(PrepareTransactionActivity.callingIntent(context, ctx), Constant.REQUEST_CODE_SEND_TRANSACTION)
}
fun showPrepareTransaction(context: Activity) {
context.startActivity(PrepareTransactionActivity.callingIntent(context))
when (BuildConfig.FLAVOR) {
Constant.FLAVOR_TANGEM_CARDANO -> {
context.startActivity(PrepareTransactionActivity.callingIntent(context))
}
else -> {
// context.startActivityForResult(PrepareTransactionActivity.callingIntent(context, ctx), Constant.REQUEST_CODE_SEND_TRANSACTION)
}
}
}
fun showCreateNewWallet(context: Activity, ctx: TangemContext) {

View file

@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity
import com.tangem.App
import com.tangem.Constant
import com.tangem.di.Navigator
import com.tangem.domain.wallet.TangemContext
import com.tangem.wallet.BuildConfig
import com.tangem.wallet.R
import kotlinx.android.synthetic.main.activity_logo.*
@ -63,7 +64,7 @@ class LogoActivity : AppCompatActivity() {
private fun hide() {
when (BuildConfig.FLAVOR) {
Constant.FLAVOR_TANGEM_CARDANO -> {
navigator.showPrepareTransaction(this)
navigator.showPrepareTransaction(this, TangemContext())
}
else -> {
navigator.showMain(this)

View file

@ -69,14 +69,14 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
rgIncFee.visibility = View.VISIBLE
}
// if (ctx.card!!.remainingSignatures < 2)
// etAmount.isEnabled = false
if (ctx.card!!.remainingSignatures < 2)
etAmount.isEnabled = false
// tvCurrency.text = engine.balance.currency
// etAmount.setText(engine.balance.toValueString())
tvCurrency.text = engine.balance.currency
etAmount.setText(engine.balance.toValueString())
// limit number of symbols after comma
// etAmount.filters = engine.amountInputFilters
etAmount.filters = engine.amountInputFilters
// set listeners
etAmount.setOnEditorActionListener { lv, actionId, _ ->

View file

@ -49,7 +49,7 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
@Inject
internal lateinit var navigator: Navigator
private lateinit var ctx: TangemContext
// private lateinit var ctx: TangemContext
private lateinit var nfcManager: NfcManager
override fun onCreate(savedInstanceState: Bundle?) {
@ -61,10 +61,10 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
nfcManager = NfcManager(this, this)
lifecycle.addObserver(NfcLifecycleObserver(nfcManager))
ctx = TangemContext.loadFromBundle(this, intent.extras)
// ctx = TangemContext.loadFromBundle(this, intent.extras)
tvCardID.text = ctx.card?.cidDescription
val engine = CoinEngineFactory.create(ctx)
// tvCardID.text = ctx.card?.cidDescription
val engine = CoinEngineFactory.create(TangemContext())
@Suppress("DEPRECATION") val html = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
Html.fromHtml(engine!!.balanceHTML, Html.FROM_HTML_MODE_LEGACY)
@ -78,8 +78,8 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
rgIncFee.visibility = View.VISIBLE
}
if (ctx.card!!.remainingSignatures < 2)
etAmount.isEnabled = false
// if (ctx.card!!.remainingSignatures < 2)
// etAmount.isEnabled = false
tvCurrency.text = engine.balance.currency
etAmount.setText(engine.balance.toValueString())
@ -107,7 +107,8 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
return@setOnClickListener
}
val engine1 = CoinEngineFactory.create(ctx)
// val engine1 = CoinEngineFactory.create(ctx)
val engine1 = CoinEngineFactory.create(TangemContext())
val strAmount: String = etAmount.text.toString().replace(",", ".")
val amount = engine1!!.convertToAmount(etAmount.text.toString(), tvCurrency.text.toString())
@ -127,17 +128,17 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
} else
etWallet.error = null
if (etWallet.text.toString() == ctx.coinData!!.wallet) {
etWallet.error = getString(R.string.destination_wallet_address_equal_source_address)
return@setOnClickListener
}
// if (etWallet.text.toString() == ctx.coinData!!.wallet) {
// etWallet.error = getString(R.string.destination_wallet_address_equal_source_address)
// return@setOnClickListener
// }
if (!etAmount.error.isNullOrEmpty() || !etWallet.error.isNullOrEmpty()) {
return@setOnClickListener
}
val intent = Intent(baseContext, ConfirmTransactionActivity::class.java)
ctx.saveToIntent(intent)
// ctx.saveToIntent(intent)
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)
@ -167,25 +168,25 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == Constant.REQUEST_CODE_SCAN_QR && resultCode == Activity.RESULT_OK && data != null && data.extras!!.containsKey("QRCode")) {
var code = data.getStringExtra("QRCode")
when (ctx.blockchain) {
Blockchain.Bitcoin -> {
if (code.contains("bitcoin:")) {
val tmp = code.split("bitcoin:".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
code = tmp[1]
}
}
Blockchain.Ethereum, Blockchain.Token -> {
if (code.contains("ethereum:")) {
val tmp = code.split("ethereum:".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
code = tmp[1]
} else if (code.contains("blockchain:")) {
val tmp = code.split("blockchain:".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
code = tmp[1]
}
}
else -> {
}
}
// when (ctx.blockchain) {
// Blockchain.Bitcoin -> {
// if (code.contains("bitcoin:")) {
// val tmp = code.split("bitcoin:".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
// code = tmp[1]
// }
// }
// Blockchain.Ethereum, Blockchain.Token -> {
// if (code.contains("ethereum:")) {
// val tmp = code.split("ethereum:".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
// code = tmp[1]
// } else if (code.contains("blockchain:")) {
// val tmp = code.split("blockchain:".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
// code = tmp[1]
// }
// }
// else -> {
// }
// }
etWallet?.setText(code)
} else if (requestCode == Constant.REQUEST_CODE_SEND_TRANSACTION__) {
setResult(resultCode, data)