diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png index 4c55d07eb3..8e9c7d9162 100644 Binary files a/app/src/main/ic_launcher-playstore.png and b/app/src/main/ic_launcher-playstore.png differ diff --git a/app/src/main/java/com/tangem/tap/domain/PayIdManager.kt b/app/src/main/java/com/tangem/tap/domain/PayIdManager.kt index 591473e9cb..3773bd41b7 100644 --- a/app/src/main/java/com/tangem/tap/domain/PayIdManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/PayIdManager.kt @@ -73,6 +73,7 @@ class PayIdManager { Blockchain.BitcoinCash, Blockchain.Binance, Blockchain.RSK, + Blockchain.Tezos ) fun isPayId(value: String?): Boolean = value?.contains(payIdRegExp) ?: false diff --git a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt index c6e77e8a9f..cea0ea99b2 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -12,7 +12,6 @@ import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.domain.extensions.amountToCreateAccount import com.tangem.tap.domain.extensions.isNoAccountError import com.tangem.tap.domain.tasks.ScanNoteResponse -import com.tangem.tap.features.wallet.redux.PayIdState import com.tangem.tap.features.wallet.redux.WalletAction import com.tangem.tap.network.NetworkConnectivity import com.tangem.tap.network.coinmarketcap.CoinMarketCapService @@ -25,6 +24,7 @@ import java.math.BigDecimal class TapWalletManager { private val payIdManager = PayIdManager() private val coinMarketCapService = CoinMarketCapService() + private var tapWorkarounds: TapWorkarounds? = null suspend fun loadWalletData() { val walletManager = store.state.globalState.scanNoteResponse?.walletManager @@ -78,6 +78,7 @@ class TapWalletManager { } suspend fun onCardScanned(data: ScanNoteResponse) { + tapWorkarounds = TapWorkarounds(data.card) withContext(Dispatchers.Main) { store.dispatch(WalletAction.ResetState) store.dispatch(GlobalAction.SaveScanNoteResponse(data)) @@ -142,7 +143,6 @@ class TapWalletManager { private suspend fun loadPayIdIfNeeded(): Result? { val scanNoteResponse = store.state.globalState.scanNoteResponse if (!TapConfig.usePayId || - store.state.walletState.payIdData.payIdState == PayIdState.Disabled || scanNoteResponse?.walletManager?.wallet?.blockchain?.isPayIdSupported() == false) { return null } @@ -160,7 +160,11 @@ class TapWalletManager { is Result.Success -> { val payId = result.data if (payId == null) { - store.dispatch(WalletAction.LoadPayId.NotCreated) + if (tapWorkarounds?.isPayIdCreationEnabled() == false) { + store.dispatch(WalletAction.DisablePayId) + } else { + store.dispatch(WalletAction.LoadPayId.NotCreated) + } } else { store.dispatch(WalletAction.LoadPayId.Success(payId)) } diff --git a/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt b/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt new file mode 100644 index 0000000000..7764650537 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt @@ -0,0 +1,17 @@ +package com.tangem.tap.domain + +import com.tangem.commands.Card + +class TapWorkarounds(val card: Card) { + + private val isStart2Coin: Boolean = card.cardData?.issuerName == START_2_COIN_ISSUER + + fun isPayIdCreationEnabled(): Boolean { + if (isStart2Coin) return false + return true + } + + companion object { + const val START_2_COIN_ISSUER = "start2coin" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt index 3bbbda0d1c..1a573776e6 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt @@ -50,6 +50,8 @@ sealed class WalletAction : Action { object Failure : WalletAction() } + object DisablePayId: WalletAction() + data class LoadArtwork(val card: Card, val artworkId: String?) : WalletAction() { data class Success(val artwork: Artwork) : WalletAction() object Failure : WalletAction() diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt index 9e1930ca1e..b8f66e0aeb 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt @@ -176,6 +176,9 @@ private fun internalReduce(action: Action, state: AppState): WalletState { is WalletAction.LoadPayId.NotCreated -> newState = newState.copy( payIdData = PayIdData(PayIdState.NotCreated, null) ) + is WalletAction.DisablePayId -> newState = newState.copy( + payIdData = PayIdData(PayIdState.Disabled, null) + ) is WalletAction.CreatePayId, is WalletAction.CreatePayId.Failure -> newState = newState.copy( walletDialog = WalletDialog.CreatePayIdDialog(CreatingPayIdState.EnterPayId) diff --git a/dependencies.gradle b/dependencies.gradle index 2fb6558f75..2010dc13b7 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,4 +1,4 @@ ext.versions = [ kotlin : '1.4.0', - build_gradle: '4.0.1', + build_gradle: '4.1.0', ] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 01e71a44df..385ee4fcc0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jun 11 11:33:17 MSK 2020 +#Wed Oct 21 13:51:19 MSK 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip