diff --git a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt index c49bbbc8ba..25218e0f0f 100644 --- a/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/EmptyWalletActivity.kt @@ -8,6 +8,7 @@ import android.graphics.Color import android.nfc.NfcAdapter import android.nfc.Tag import android.nfc.tech.IsoDep +import android.os.Build import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import android.text.Html @@ -69,7 +70,10 @@ class EmptyWalletActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, Card tvIssuer.text = ctx.card!!.issuerDescription if (ctx.card!!.tokenSymbol.length > 1) { - val html = Html.fromHtml(ctx.blockchainName) + @Suppress("DEPRECATION") val html = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + Html.fromHtml(ctx.blockchainName, Html.FROM_HTML_MODE_LEGACY) + else + Html.fromHtml(ctx.blockchainName) tvBlockchain.text = html } else tvBlockchain.text = ctx.blockchainName diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt index 96770dc505..4c4062f6a7 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -126,7 +126,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco // set phone name if (antenna.fullName != "") - tvNFCHint.text = String.format(getString(R.string.scan_banknote), antenna!!.fullName) + tvNFCHint.text = String.format(getString(R.string.scan_banknote), antenna.fullName) else tvNFCHint.text = String.format(getString(R.string.scan_banknote), getString(R.string.phone)) @@ -309,7 +309,7 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco val uid = cardInfo.getString("UID") val card = TangemCard(uid) - card.loadFromBundle(cardInfo.getBundle("Card")) + cardInfo.getBundle("Card")?.let { card.loadFromBundle(it) } val ctx = TangemContext(card) when { @@ -317,8 +317,6 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco val engineCoin = CoinEngineFactory.create(ctx) ?: throw CardProtocol.TangemException("Can't create CoinEngine!") engineCoin.defineWallet() - //mCard.setWallet(Blockchain.calculateWalletAddress(mCard, pkUncompressed)); - navigator.showLoadedWallet(this, it, ctx) } card.status == TangemCard.Status.Empty -> navigator.showEmptyWallet(this, ctx) diff --git a/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt index ee681b096d..a292980754 100644 --- a/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/PrepareTransactionActivity.kt @@ -1,17 +1,17 @@ package com.tangem.presentation.activity -import android.annotation.SuppressLint import android.app.Activity import android.content.Context import android.content.Intent import android.nfc.NfcAdapter import android.nfc.Tag +import android.os.Build import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity import android.text.Html import android.view.View import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager +import androidx.appcompat.app.AppCompatActivity import com.tangem.App import com.tangem.Constant import com.tangem.data.Blockchain @@ -25,7 +25,6 @@ import java.io.IOException import javax.inject.Inject class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallback { - companion object { val TAG: String = PrepareTransactionActivity::class.java.simpleName fun callingIntent(context: Context, ctx: TangemContext): Intent { @@ -35,14 +34,12 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac } } - @Inject internal lateinit var navigator: Navigator private lateinit var ctx: TangemContext private lateinit var nfcManager: NfcManager - @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_prepare_transaction) @@ -53,19 +50,21 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac ctx = TangemContext.loadFromBundle(this, intent.extras) - tvCardID.text = ctx.card!!.cidDescription + tvCardID.text = ctx.card?.cidDescription val engine = CoinEngineFactory.create(ctx) - val html = Html.fromHtml(engine!!.balanceHTML) + @Suppress("DEPRECATION") val html = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + Html.fromHtml(engine!!.balanceHTML, Html.FROM_HTML_MODE_LEGACY) + else + Html.fromHtml(engine!!.balanceHTML) tvBalance.text = html //TODO - to engine if ((ctx.blockchain == Blockchain.Token && engine.balance.currency!=Blockchain.Ethereum.currency) || ((ctx.blockchain == Blockchain.RootstockToken && engine.balance.currency!=Blockchain.Rootstock.currency))){ - rgIncFee!!.visibility = View.INVISIBLE - } else { - rgIncFee!!.visibility = View.VISIBLE - } + rgIncFee.visibility = View.INVISIBLE + } else + rgIncFee.visibility = View.VISIBLE if (ctx.card!!.remainingSignatures < 2) etAmount.isEnabled = false @@ -77,7 +76,7 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac etAmount.filters = engine.amountInputFilters // set listeners - etAmount.setOnEditorActionListener { lv, actionId, event -> + etAmount.setOnEditorActionListener { lv, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_DONE) { val imm = lv.context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInputFromWindow(lv.windowToken, 0) @@ -87,6 +86,7 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac false } } + btnVerify.setOnClickListener { val engine1 = CoinEngineFactory.create(ctx) @@ -168,7 +168,7 @@ class PrepareTransactionActivity : AppCompatActivity(), NfcAdapter.ReaderCallbac else -> { } } - etWallet!!.setText(code) + etWallet?.setText(code) } else if (requestCode == Constant.REQUEST_CODE_SEND_TRANSACTION__) { setResult(resultCode, data) finish() 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 4474b04951..412132f522 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -1,5 +1,6 @@ package com.tangem.presentation.fragment +import android.annotation.SuppressLint import android.app.Activity import android.app.AlertDialog import android.content.* @@ -9,6 +10,7 @@ import android.content.res.ColorStateList import android.nfc.NfcAdapter import android.nfc.Tag import android.nfc.tech.IsoDep +import android.os.Build import android.os.Bundle import androidx.core.content.ContextCompat import android.text.Html @@ -562,7 +564,7 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback 5000) } - if (srl!!.isRefreshing) { + if (srl.isRefreshing) { tvBalanceLine1.setTextColor(resources.getColor(R.color.primary)) tvBalanceLine1.text = getString(R.string.verifying_in_blockchain) tvBalanceLine2.text = "" @@ -580,21 +582,32 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback val engine = CoinEngineFactory.create(ctx) when { engine!!.hasBalanceInfo() -> { - val html = Html.fromHtml(engine.balanceHTML) + @Suppress("DEPRECATION") val html = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + Html.fromHtml(engine.balanceHTML, Html.FROM_HTML_MODE_LEGACY) + else + Html.fromHtml(engine.balanceHTML) tvBalance.text = html tvBalanceEquivalent.text = engine.balanceEquivalent } - ctx.card!!.offlineBalance != null -> { - val html = Html.fromHtml(engine.offlineBalanceHTML) + + ctx.card?.offlineBalance != null -> { + @Suppress("DEPRECATION") val html = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + Html.fromHtml(engine.offlineBalanceHTML, Html.FROM_HTML_MODE_LEGACY) + else + Html.fromHtml(engine.offlineBalanceHTML) tvBalance.text = html } + else -> tvBalance.text = getString(R.string.no_data_string) } tvWallet.text = ctx.coinData!!.wallet if (ctx.card!!.tokenSymbol.length > 1) { - val html = Html.fromHtml(ctx.blockchainName) + @Suppress("DEPRECATION") val html = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + Html.fromHtml(ctx.blockchainName, Html.FROM_HTML_MODE_LEGACY) + else + Html.fromHtml(ctx.blockchainName) tvBlockchain.text = html } else tvBlockchain.text = ctx.blockchainName @@ -607,7 +620,7 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback btnExtract.backgroundTintList = inactiveColor } - //TODO why ??? +// //TODO why ??? // ctx.error = null // ctx.message = null } @@ -626,11 +639,8 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback updateViews() - // Bitcoin - // Litecoin - // BitcoinCash - if (ctx.blockchain == Blockchain.Bitcoin || ctx.blockchain == Blockchain.BitcoinTestNet || - ctx.blockchain == Blockchain.Litecoin || ctx.blockchain == Blockchain.BitcoinCash) { + // Bitcoin, Litecoin, BitcoinCash + if (ctx.blockchain == Blockchain.Bitcoin || ctx.blockchain == Blockchain.BitcoinTestNet || ctx.blockchain == Blockchain.Litecoin || ctx.blockchain == Blockchain.BitcoinCash) { ctx.coinData.setIsBalanceEqual(true) } @@ -660,9 +670,6 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback if (!success) { LOG.e(TAG, "requestBalanceAndUnspentTransactions ctx.error: " + ctx.error) } -// if (!UtilHelper.isOnline(activity!!)) { -// ctx.error = getString(R.string.no_connection) -// } updateViews() } @@ -693,9 +700,6 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback } else { ctx.error = getString(R.string.no_connection) updateViews() - //Toast.makeText(activity, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() - //LOG.e(TAG, "+++++++++++ Hide refresh 1") - //srl?.isRefreshing = false } } @@ -722,9 +726,6 @@ class LoadedWallet : androidx.fragment.app.Fragment(), NfcAdapter.ReaderCallback } else { ctx.error = getString(R.string.no_connection) updateViews() -// Toast.makeText(activity, getString(R.string.no_connection), Toast.LENGTH_SHORT).show() -// LOG.e(TAG, "+++++++++++ Hide refresh 2") -// srl?.isRefreshing = false } }