From 1b179aa1b83fcc57a377e28253c7a48a3fc49fe5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 12 Oct 2018 14:47:48 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../activity/ConfirmPaymentActivity.kt | 25 +++++----- .../activity/SendTransactionActivity.kt | 47 +++++++++---------- .../presentation/fragment/LoadedWallet.kt | 31 ++++++------ 3 files changed, 49 insertions(+), 54 deletions(-) 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 5ba4b54c1b..143beb4802 100644 --- a/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/ConfirmPaymentActivity.kt @@ -36,8 +36,10 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { } private var nfcManager: NfcManager? = null - private var serverApiHelper: ServerApiHelper? = null - private var serverApiHelperElectrum: ServerApiHelperElectrum? = null + + private var serverApiHelper: ServerApiHelper = ServerApiHelper() + private var serverApiHelperElectrum: ServerApiHelperElectrum = ServerApiHelperElectrum() + var card: TangemCard? = null var feeRequestSuccess = false var balanceRequestSuccess = false @@ -68,9 +70,6 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { nfcManager = NfcManager(this, this) - serverApiHelper = ServerApiHelper() - serverApiHelperElectrum = ServerApiHelperElectrum() - card = TangemCard(intent.getStringExtra("UID")) card!!.loadFromBundle(intent.extras!!.getBundle("Card")) @@ -136,9 +135,9 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { progressBar!!.visibility = View.VISIBLE - serverApiHelper!!.estimateFee(ServerApiHelper.ESTIMATE_FEE_PRIORITY) - serverApiHelper!!.estimateFee(ServerApiHelper.ESTIMATE_FEE_NORMAL) - serverApiHelper!!.estimateFee(ServerApiHelper.ESTIMATE_FEE_MINIMAL) + serverApiHelper.estimateFee(ServerApiHelper.ESTIMATE_FEE_PRIORITY) + serverApiHelper.estimateFee(ServerApiHelper.ESTIMATE_FEE_NORMAL) + serverApiHelper.estimateFee(ServerApiHelper.ESTIMATE_FEE_MINIMAL) } // set listeners @@ -247,10 +246,10 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { } - serverApiHelperElectrum!!.setElectrumRequestData(electrumBodyListener) + serverApiHelperElectrum.setElectrumRequestData(electrumBodyListener) // request estimate fee listener - serverApiHelper!!.setEstimateFee { blockCount, estimateFeeResponse -> + serverApiHelper.setEstimateFee { blockCount, estimateFeeResponse -> var fee: BigDecimal? fee = BigDecimal(estimateFeeResponse) // BTC per 1 kb @@ -345,12 +344,12 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { } } - serverApiHelper!!.setInfuraResponse(infuraBodyListener) + serverApiHelper.setInfuraResponse(infuraBodyListener) } private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) { if (UtilHelper.isOnline(this)) { - serverApiHelperElectrum!!.electrumRequestData(card, electrumRequest) + serverApiHelperElectrum.electrumRequestData(card, electrumRequest) } else { Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() } @@ -358,7 +357,7 @@ class ConfirmPaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { private fun requestInfura(method: String) { if (UtilHelper.isOnline(this)) { - serverApiHelper!!.infura(method, 67, card!!.wallet, "", "") + serverApiHelper.infura(method, 67, card!!.wallet, "", "") } else { Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() } diff --git a/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt index 223214b1f3..69345604d1 100644 --- a/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/SendTransactionActivity.kt @@ -30,8 +30,8 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { const val EXTRA_TX: String = "TX" } - private var serverApiHelper: ServerApiHelper? = null - private var serverApiHelperElectrum: ServerApiHelperElectrum? = null + private var serverApiHelper: ServerApiHelper = ServerApiHelper() + private var serverApiHelperElectrum: ServerApiHelperElectrum = ServerApiHelperElectrum() var card: TangemCard? = null private var tx: String? = null @@ -45,9 +45,6 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { nfcManager = NfcManager(this, this) - serverApiHelper = ServerApiHelper() - serverApiHelperElectrum = ServerApiHelperElectrum() - val intent = intent card = TangemCard(getIntent().getStringExtra(EXTRA_UID)) card!!.loadFromBundle(intent.extras!!.getBundle(EXTRA_CARD)) @@ -71,35 +68,35 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { val electrumBodyListener: ServerApiHelperElectrum.ElectrumRequestDataListener = object : ServerApiHelperElectrum.ElectrumRequestDataListener { override fun onElectrumSuccess(electrumRequest: ElectrumRequest?) { 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() + 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) + requestElectrum(card!!, ElectrumRequest.broadcast(card!!.wallet, tx)) + } + + } catch (e: JSONException) { + e.printStackTrace() +// finishWithError(e.toString()) requestElectrum(card!!, ElectrumRequest.broadcast(card!!.wallet, tx)) } - - } catch (e: JSONException) { - e.printStackTrace() -// finishWithError(e.toString()) - requestElectrum(card!!, ElectrumRequest.broadcast(card!!.wallet, tx)) } } - } override fun onElectrumFail(message: String?) { } } - serverApiHelperElectrum!!.setElectrumRequestData(electrumBodyListener) + serverApiHelperElectrum.setElectrumRequestData(electrumBodyListener) // request eth sendRawTransaction val infuraBodyListener: ServerApiHelper.InfuraBodyListener = object : ServerApiHelper.InfuraBodyListener { @@ -150,7 +147,7 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { } } - serverApiHelper!!.setInfuraResponse(infuraBodyListener) + serverApiHelper.setInfuraResponse(infuraBodyListener) } override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { @@ -165,7 +162,7 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { private fun requestInfura(method: String, contract: String) { if (UtilHelper.isOnline(this)) { - serverApiHelper!!.infura(method, 67, card!!.wallet, contract, tx) + serverApiHelper.infura(method, 67, card!!.wallet, contract, tx) } else { Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() } @@ -173,7 +170,7 @@ class SendTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) { if (UtilHelper.isOnline(this)) { - serverApiHelperElectrum!!.electrumRequestData(card, electrumRequest) + serverApiHelperElectrum.electrumRequestData(card, electrumRequest) } else { Toast.makeText(this, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() } 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 184bfc06c9..ec3684e06f 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -57,8 +57,10 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific private var singleToast: Toast? = null private var nfcManager: NfcManager? = null - private var serverApiHelper: ServerApiHelper? = null - private var serverApiHelperElectrum: ServerApiHelperElectrum? = null + + private var serverApiHelper: ServerApiHelper = ServerApiHelper() + private var serverApiHelperElectrum: ServerApiHelperElectrum = ServerApiHelperElectrum() + var card: TangemCard? = null private var lastTag: Tag? = null private var lastReadSuccess = true @@ -82,9 +84,6 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific nfcManager = NfcManager(activity, this) - serverApiHelper = ServerApiHelper() - serverApiHelperElectrum = ServerApiHelperElectrum() - sp = PreferenceManager.getDefaultSharedPreferences(activity) card = TangemCard(activity!!.intent.getStringExtra(TangemCard.EXTRA_UID)) @@ -234,7 +233,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific card!!.setBalanceConfirmed(confBalance) card!!.balanceUnconfirmed = unconfirmedBalance card!!.decimalBalance = confBalance.toString() - card!!.validationNodeDescription = serverApiHelperElectrum!!.validationNodeDescription + card!!.validationNodeDescription = serverApiHelperElectrum.validationNodeDescription } catch (e: JSONException) { e.printStackTrace() Log.e(TAG, "FAIL METHOD_GetBalance JSONException") @@ -300,10 +299,10 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific } } - serverApiHelperElectrum!!.setElectrumRequestData(electrumBodyListener) + serverApiHelperElectrum.setElectrumRequestData(electrumBodyListener) // request card verify listener - serverApiHelper!!.setCardVerifyAndGetInfoListener { + serverApiHelper.setCardVerifyAndGetInfoListener { requestCounter-- if (requestCounter == 0) srl!!.isRefreshing = false @@ -329,20 +328,20 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific } if (result.artwork != null && localStorage.checkNeedUpdateArtwork(result.artwork)) { Log.w(TAG, "Artwork '${result.artwork!!.id}' updated, need download") - serverApiHelper!!.requestArtwork(result.artwork!!.id, result.artwork!!.getUpdateDate(), card!!) + serverApiHelper.requestArtwork(result.artwork!!.id, result.artwork!!.getUpdateDate(), card!!) updateViews() } // Log.i(TAG, "setCardVerify " + it.results!![0].passed) } - serverApiHelper!!.setArtworkListener { artworkId, inputStream, updateDate -> + serverApiHelper.setArtworkListener { artworkId, inputStream, updateDate -> Log.w(TAG, "Artwork '$artworkId' downloaded") localStorage.updateArtwork(artworkId, inputStream, updateDate) ivTangemCard.setImageBitmap(localStorage.getCardArtworkBitmap(card!!)) } // request rate info listener - serverApiHelper!!.setRateInfoData { + serverApiHelper.setRateInfoData { requestCounter-- val rate = it.priceUsd.toFloat() @@ -479,13 +478,13 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific } } - serverApiHelper!!.setInfuraResponse(infuraBodyListener) + serverApiHelper.setInfuraResponse(infuraBodyListener) } private fun requestElectrum(card: TangemCard, electrumRequest: ElectrumRequest) { if (UtilHelper.isOnline(activity!!)) { requestCounter++ - serverApiHelperElectrum!!.electrumRequestData(card, electrumRequest) + serverApiHelperElectrum.electrumRequestData(card, electrumRequest) } else { Toast.makeText(activity!!, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() srl!!.isRefreshing = false @@ -496,7 +495,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific private fun requestInfura(method: String, contract: String) { if (UtilHelper.isOnline(activity!!)) { requestCounter++ - serverApiHelper!!.infura(method, 67, card!!.wallet, contract, "") + serverApiHelper.infura(method, 67, card!!.wallet, contract, "") } else { Toast.makeText(activity!!, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() srl!!.isRefreshing = false @@ -507,7 +506,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific if (UtilHelper.isOnline(activity!!)) { if ((card!!.isOnlineVerified == null || !card!!.isOnlineVerified)) { requestCounter++ - serverApiHelper!!.cardVerifyAndGetInfo(card) + serverApiHelper.cardVerifyAndGetInfo(card) } } else { Toast.makeText(activity!!, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() @@ -518,7 +517,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific private fun requestRateInfo(cryptoId: String) { if (UtilHelper.isOnline(activity!!)) { requestCounter++ - serverApiHelper!!.rateInfoData(cryptoId) + serverApiHelper.rateInfoData(cryptoId) } else { Toast.makeText(activity!!, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() srl!!.isRefreshing = false