diff --git a/app/build.gradle b/app/build.gradle index bc4e4ae4e0..2675dbef0c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,7 +16,7 @@ android { minSdkVersion 21 targetSdkVersion 27 versionCode 80 - versionName "0.88.1." + generateVersionName() + versionName "0.89.1." + generateVersionName() testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } androidExtensions { diff --git a/app/src/main/java/com/tangem/domain/wallet/TokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/TokenEngine.java index 1a51ad389c..0561a394d2 100644 --- a/app/src/main/java/com/tangem/domain/wallet/TokenEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/TokenEngine.java @@ -104,6 +104,7 @@ public class TokenEngine extends CoinEngine { public String GetBalanceAlterValue(TangemCard mCard) { String dec = mCard.getDecimalBalanceAlter(); + if(dec.isEmpty()) return "-- -- --"; BigDecimal d = convertToEth(dec); String s = d.toString(); 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 8fbe32d295..22280d431d 100644 --- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt +++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.kt @@ -159,7 +159,16 @@ class MainActivity : AppCompatActivity(), NfcAdapter.ReaderCallback, CardProtoco val apiHelper = ServerApiHelper() apiHelper.setLastVersionListener { response -> - if (response!! != BuildConfig.VERSION_NAME) Toast.makeText(this, "There is a new application version: " + response.toString(), Toast.LENGTH_LONG).show() + try { + val responseVersionName=response.trim(' ','\n','\r','\t') + val responseBuildVersion=responseVersionName.split('.').last() + val appBuildVersion=BuildConfig.VERSION_NAME.split('.').last() + if (responseBuildVersion.toInt()>appBuildVersion.toInt()) Toast.makeText(this, "There is a new application version: $responseVersionName", Toast.LENGTH_LONG).show() + } + catch (E: Exception) + { + E.printStackTrace() + } } apiHelper.requestLastVersion() } 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 b8ee91dd04..ca45a5b8e4 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -306,8 +306,11 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific if (l.compareTo(BigInteger.ZERO) == 0) { card!!.blockchainID = Blockchain.Ethereum.id card!!.addTokenToBlockchainName() + updateViews() srlLoadedWallet!!.isRefreshing = false // refresh() + requestInfura(ServerApiHelper.INFURA_ETH_GET_BALANCE, "") + requestInfura(ServerApiHelper.INFURA_ETH_GET_TRANSACTION_COUNT, "") return@onInfuraSuccess } card!!.setBalanceConfirmed(balance) @@ -316,6 +319,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific Log.i("$TAG eth_call", balanceCap) + requestInfura(ServerApiHelper.INFURA_ETH_GET_BALANCE, "") + requestInfura(ServerApiHelper.INFURA_ETH_GET_TRANSACTION_COUNT, "") } catch (e: JSONException) { e.printStackTrace() } catch (e: NumberFormatException) { @@ -366,7 +371,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific } override fun onInfuraFail(method: String, message: String) { - + srlLoadedWallet!!.isRefreshing = false } } @@ -556,7 +561,7 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific // } if (resultCode == Activity.RESULT_OK) { - srlLoadedWallet!!.postDelayed({ this.refresh() }, 3000) + srlLoadedWallet!!.postDelayed({ this.refresh() }, 5000) srlLoadedWallet!!.isRefreshing = true card!!.clearInfo() updateViews() @@ -601,7 +606,8 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific rlProgressBar.post { rlProgressBar.visibility = View.GONE this.cardProtocol = cardProtocol - refresh() + if (!cardProtocol.card.isWalletPublicKeyValid) refresh() + else updateViews() } } else { // remove last UIDs because of error and no card read @@ -831,9 +837,6 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific // updateETH.execute(reqETH, reqNonce, reqBalance) requestInfura(ServerApiHelper.INFURA_ETH_CALL, engine.getContractAddress(card)) - requestInfura(ServerApiHelper.INFURA_ETH_GET_BALANCE, "") - requestInfura(ServerApiHelper.INFURA_ETH_GET_TRANSACTION_COUNT, "") - requestRateInfo("ethereum") }