Updated on 2026-08-14

This commit is contained in:
Tangem 2018-12-17 12:51:31 +03:00
parent 406cdbaeae
commit 2e6ed50998
6 changed files with 58 additions and 49 deletions

View file

@ -64,11 +64,11 @@ public class App extends Application {
initIssuers();
firmwaresStorage=new Firmwares(getApplicationContext());
firmwaresStorage = new Firmwares(getApplicationContext());
localStorage=new LocalStorage(getApplicationContext());
localStorage = new LocalStorage(getApplicationContext());
pinStorage=new PINStorage();
pinStorage = new PINStorage();
}
/**

View file

@ -4,10 +4,6 @@ import android.app.Activity
import android.nfc.Tag
import com.tangem.Constant
import com.tangem.domain.wallet.TangemContext
import com.tangem.presentation.activity.EmptyWalletActivity
import com.tangem.presentation.activity.LoadedWalletActivity
import com.tangem.presentation.activity.MainActivity
import com.tangem.presentation.activity.VerifyCardActivity
import com.tangem.presentation.activity.*
class Navigator {
@ -28,7 +24,6 @@ class Navigator {
context.startActivityForResult(PinRequestActivity.callingIntent(context, mode), Constant.REQUEST_CODE_ENTER_PIN_ACTIVITY)
}
fun showLoadedWallet(context: Activity, lastTag: Tag, ctx: TangemContext) {
context.startActivityForResult(LoadedWalletActivity.callingIntent(context, lastTag, ctx), Constant.REQUEST_CODE_SHOW_CARD_ACTIVITY)
}
@ -50,8 +45,8 @@ class Navigator {
}
fun showPreparePayment(context: Activity) {
fun showPreparePayment(context: Activity, ctx: TangemContext) {
context.startActivityForResult(PreparePaymentActivity.callingIntent(context, ctx), Constant.REQUEST_CODE_SEND_PAYMENT)
}
fun showCreateNewWallet(context: Activity) {

View file

@ -34,8 +34,6 @@ class LoadedWalletActivity : AppCompatActivity() {
App.getNavigatorComponent().inject(this)
// MainActivity.commonInit(applicationContext)
if (intent.extras!!.containsKey(NfcAdapter.EXTRA_TAG)) {
val tag = intent.getParcelableExtra<Tag>(NfcAdapter.EXTRA_TAG)
if (tag != null) {

View file

@ -12,10 +12,10 @@ import android.text.Html
import android.view.View
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import com.tangem.tangemcard.android.reader.NfcManager
import com.tangem.data.Blockchain
import com.tangem.domain.wallet.CoinEngineFactory
import com.tangem.domain.wallet.TangemContext
import com.tangem.tangemcard.android.reader.NfcManager
import com.tangem.wallet.R
import kotlinx.android.synthetic.main.activity_prepare_payment.*
import java.io.IOException
@ -25,6 +25,12 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
companion object {
val TAG: String = PreparePaymentActivity::class.java.simpleName
fun callingIntent(context: Context, ctx: TangemContext): Intent {
val intent = Intent(context, PreparePaymentActivity::class.java)
ctx.saveToIntent(intent)
return intent
}
private const val REQUEST_CODE_SCAN_QR = 1
private const val REQUEST_CODE_SEND_PAYMENT = 2
}

View file

@ -21,16 +21,16 @@ import android.view.ViewGroup
import android.widget.Toast
import com.tangem.App
import com.tangem.Constant
import com.tangem.data.Blockchain
import com.tangem.data.network.ElectrumRequest
import com.tangem.data.network.ServerApiCommon
import com.tangem.data.network.ServerApiElectrum
import com.tangem.data.network.ServerApiInfura
import com.tangem.tangemserver.android.model.CardVerifyAndGetInfo
import com.tangem.data.network.model.InfuraResponse
import com.tangem.tangemcard.tasks.VerifyCardTask
import com.tangem.tangemcard.reader.CardProtocol
import com.tangem.tangemcard.android.reader.NfcManager
import com.tangem.domain.wallet.*
import com.tangem.domain.wallet.BalanceValidator
import com.tangem.domain.wallet.CoinEngine
import com.tangem.domain.wallet.CoinEngineFactory
import com.tangem.domain.wallet.TangemContext
import com.tangem.domain.wallet.bch.BtcCashEngine
import com.tangem.domain.wallet.btc.BtcData
import com.tangem.domain.wallet.eth.EthData
@ -41,14 +41,17 @@ import com.tangem.presentation.dialog.NoExtendedLengthSupportDialog
import com.tangem.presentation.dialog.PINSwapWarningDialog
import com.tangem.presentation.dialog.ShowQRCodeDialog
import com.tangem.presentation.dialog.WaitSecurityDelayDialog
import com.tangem.data.Blockchain
import com.tangem.tangemcard.android.reader.NfcManager
import com.tangem.tangemcard.android.reader.NfcReader
import com.tangem.tangemcard.data.EXTRA_TANGEM_CARD
import com.tangem.tangemcard.data.EXTRA_TANGEM_CARD_UID
import com.tangem.tangemcard.data.TangemCard
import com.tangem.tangemcard.data.loadFromBundle
import com.tangem.tangemcard.reader.CardProtocol
import com.tangem.tangemcard.tasks.VerifyCardTask
import com.tangem.tangemcard.util.Util
import com.tangem.tangemserver.android.ServerApiTangem
import com.tangem.tangemserver.android.model.CardVerifyAndGetInfo
import com.tangem.util.UtilHelper
import com.tangem.wallet.R
import kotlinx.android.synthetic.main.fr_loaded_wallet.*
@ -203,9 +206,10 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
else if (ctx.card!!.remainingSignatures == 0)
showSingleToast(R.string.card_has_no_remaining_signature)
else {
val intent = Intent(activity, PreparePaymentActivity::class.java)
ctx.saveToIntent(intent)
startActivityForResult(intent, Constant.REQUEST_CODE_SEND_PAYMENT)
(activity as LoadedWalletActivity).navigator.showPreparePayment(context as Activity, ctx)
// val intent = Intent(activity, PreparePaymentActivity::class.java)
// ctx.saveToIntent(intent)
// startActivityForResult(intent, Constant.REQUEST_CODE_SEND_PAYMENT)
}
} else
Toast.makeText(activity, getString(R.string.no_connection), Toast.LENGTH_SHORT).show()

View file

@ -15,13 +15,17 @@ import android.view.ViewGroup
import android.widget.PopupMenu
import android.widget.Toast
import com.tangem.App
import com.tangem.Constant
import com.tangem.data.Blockchain
import com.tangem.domain.wallet.CoinEngineFactory
import com.tangem.domain.wallet.TangemContext
import com.tangem.presentation.activity.CreateNewWalletActivity
import com.tangem.presentation.activity.PinRequestActivity
import com.tangem.presentation.activity.PurgeActivity
import com.tangem.presentation.activity.VerifyCardActivity
import com.tangem.presentation.dialog.PINSwapWarningDialog
import com.tangem.tangemcard.android.data.PINStorage
import com.tangem.tangemcard.android.reader.NfcManager
import com.tangem.Constant
import com.tangem.domain.wallet.*
import com.tangem.presentation.activity.*
import com.tangem.presentation.dialog.PINSwapWarningDialog
import com.tangem.data.Blockchain
import com.tangem.tangemcard.data.TangemCard
import com.tangem.tangemcard.data.loadFromBundle
import com.tangem.tangemcard.reader.CardProtocol
@ -203,29 +207,31 @@ class VerifyCard : Fragment(), NfcAdapter.ReaderCallback {
}
updateViews()
}
Constant.REQUEST_CODE_SEND_PAYMENT -> {
if (resultCode == Activity.RESULT_OK) {
srlVerifyCard.isRefreshing = true
ctx.coinData!!.clearInfo()
//ctx.card!!.switchToInitialBlockchain()
updateViews()
}
if (data != null) {
if (data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
val updatedCard = TangemCard(data.getStringExtra("UID"))
updatedCard.loadFromBundle(data.getBundleExtra("Card"))
ctx.card = updatedCard
}
if (data.extras!!.containsKey("message")) {
if (resultCode == Activity.RESULT_OK)
ctx.message = data.getStringExtra("message")
else
ctx.error = data.getStringExtra("message")
}
updateViews()
}
}
// TODO unused block
// Constant.REQUEST_CODE_SEND_PAYMENT -> {
// if (resultCode == Activity.RESULT_OK) {
// srlVerifyCard.isRefreshing = true
// ctx.coinData!!.clearInfo()
// //ctx.card!!.switchToInitialBlockchain()
// updateViews()
// }
//
// if (data != null) {
// if (data.extras!!.containsKey("UID") && data.extras!!.containsKey("Card")) {
// val updatedCard = TangemCard(data.getStringExtra("UID"))
// updatedCard.loadFromBundle(data.getBundleExtra("Card"))
// ctx.card = updatedCard
// }
// if (data.extras!!.containsKey("message")) {
// if (resultCode == Activity.RESULT_OK)
// ctx.message = data.getStringExtra("message")
// else
// ctx.error = data.getStringExtra("message")
// }
// updateViews()
// }
// }
}
}