From a3cc0001f4b4127fecf6a1c013f4e1e5be841c0c Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Sep 2020 10:27:14 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/common/redux/AppReducer.kt | 8 +- .../tap/common/redux/global/GlobalAction.kt | 6 +- .../tap/common/redux/global/GlobalReducer.kt | 6 +- .../tap/common/redux/global/GlobalState.kt | 6 +- .../redux/navigation/NavigationReducer.kt | 10 +- .../java/com/tangem/tap/domain/TapErrors.kt | 1 + .../com/tangem/tap/domain/TapWalletManager.kt | 21 +-- .../tangem/tap/features/home/HomeFragment.kt | 7 + .../tap/features/send/redux/SendMiddleware.kt | 4 +- .../tap/features/wallet/redux/WalletAction.kt | 4 +- .../features/wallet/redux/WalletMiddleware.kt | 15 +- .../features/wallet/redux/WalletReducer.kt | 56 +++++-- .../tap/features/wallet/redux/WalletState.kt | 16 +- .../tap/features/wallet/ui/BalanceWidget.kt | 4 +- .../tap/features/wallet/ui/WalletFragment.kt | 101 ++++++------ app/src/main/res/color/btn_tap_text_color.xml | 7 + app/src/main/res/color/selector_btn_black.xml | 6 + app/src/main/res/color/selector_btn_green.xml | 6 + app/src/main/res/drawable/card_tg057.png | Bin 110309 -> 0 bytes app/src/main/res/drawable/ic_copy.xml | 22 +-- .../main/res/drawable/ic_qr_code_create.xml | 88 ---------- app/src/main/res/drawable/ic_qr_code_show.xml | 84 ++++++++++ app/src/main/res/drawable/ic_warning.xml | 15 ++ .../main/res/drawable/ic_warning_small.xml | 16 ++ app/src/main/res/layout/fragment_home.xml | 8 +- app/src/main/res/layout/fragment_wallet.xml | 152 +++++++++++------- app/src/main/res/layout/layout_address.xml | 45 ++++-- app/src/main/res/layout/layout_balance.xml | 27 +++- .../main/res/layout/layout_balance_error.xml | 10 +- app/src/main/res/transition/fade.xml | 3 + app/src/main/res/transition/slide_right.xml | 4 + app/src/main/res/values/colors.xml | 3 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/styles.xml | 10 +- 34 files changed, 489 insertions(+), 283 deletions(-) create mode 100644 app/src/main/res/color/btn_tap_text_color.xml create mode 100644 app/src/main/res/color/selector_btn_black.xml create mode 100644 app/src/main/res/color/selector_btn_green.xml delete mode 100644 app/src/main/res/drawable/card_tg057.png delete mode 100644 app/src/main/res/drawable/ic_qr_code_create.xml create mode 100644 app/src/main/res/drawable/ic_qr_code_show.xml create mode 100644 app/src/main/res/drawable/ic_warning.xml create mode 100644 app/src/main/res/drawable/ic_warning_small.xml create mode 100644 app/src/main/res/transition/fade.xml create mode 100644 app/src/main/res/transition/slide_right.xml diff --git a/app/src/main/java/com/tangem/tap/common/redux/AppReducer.kt b/app/src/main/java/com/tangem/tap/common/redux/AppReducer.kt index 3888f22fcf..0ce1e1e244 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/AppReducer.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/AppReducer.kt @@ -1,9 +1,9 @@ package com.tangem.tap.common.redux import com.tangem.tap.common.redux.global.globalReducer -import com.tangem.tap.common.redux.navigation.navigationReducer +import com.tangem.tap.common.redux.navigation.NavigationReducer import com.tangem.tap.features.send.redux.SendReducer -import com.tangem.tap.features.wallet.redux.walletReducer +import com.tangem.tap.features.wallet.redux.WalletReducer import org.rekotlin.Action fun appReducer(action: Action, state: AppState?): AppState { @@ -11,9 +11,9 @@ fun appReducer(action: Action, state: AppState?): AppState { if (action is AppAction.RestoreState) return action.state return AppState( - navigationState = navigationReducer(action, state), + navigationState = NavigationReducer.reduce(action, state), globalState = globalReducer(action, state), - walletState = walletReducer(action, state), + walletState = WalletReducer.reduce(action, state), sendState = SendReducer.reduce(action, state.sendState) ) } diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt index 26e4b46f87..8a4412c114 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt @@ -1,13 +1,11 @@ package com.tangem.tap.common.redux.global -import com.tangem.blockchain.common.WalletManager -import com.tangem.commands.Card +import com.tangem.tap.domain.tasks.ScanNoteResponse import org.rekotlin.Action import java.math.BigDecimal sealed class GlobalAction : Action { - data class LoadCard(val card: Card) : GlobalAction() - data class LoadWalletManager(val walletManager: WalletManager) : GlobalAction() + data class SaveScanNoteResponse(val scanNoteResponse: ScanNoteResponse) : GlobalAction() data class SetFiatRate(val fiatRates: Pair) : GlobalAction() } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt index 6236a643d6..71fa1cfb50 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt @@ -10,15 +10,13 @@ fun globalReducer(action: Action, state: AppState): GlobalState { var newState = state.globalState when (action) { - is GlobalAction.LoadCard -> newState = newState.copy(card = action.card) + is GlobalAction.SaveScanNoteResponse -> + newState = newState.copy(scanNoteResponse = action.scanNoteResponse) is GlobalAction.SetFiatRate -> { val rates = newState.fiatRates.rates.toMutableMap() rates[action.fiatRates.first] = action.fiatRates.second newState = newState.copy(fiatRates = FiatRates(rates)) } - is GlobalAction.LoadWalletManager -> - newState = newState.copy(walletManager = action.walletManager) - } return newState } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt index e31211da52..6ea19cc94e 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt @@ -1,14 +1,12 @@ package com.tangem.tap.common.redux.global -import com.tangem.blockchain.common.WalletManager -import com.tangem.commands.Card import com.tangem.tap.domain.TapWalletManager +import com.tangem.tap.domain.tasks.ScanNoteResponse import org.rekotlin.StateType import java.math.BigDecimal data class GlobalState( - val card: Card? = null, - val walletManager: WalletManager? = null, + val scanNoteResponse: ScanNoteResponse? = null, val tapWalletManager: TapWalletManager = TapWalletManager(), val fiatRates: FiatRates = FiatRates(emptyMap()), ) : StateType diff --git a/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationReducer.kt b/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationReducer.kt index ae05c06a6e..a4ce784435 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationReducer.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationReducer.kt @@ -4,7 +4,13 @@ import com.tangem.tap.common.extensions.getPreviousScreen import com.tangem.tap.common.redux.AppState import org.rekotlin.Action -fun navigationReducer(action: Action, state: AppState): NavigationState { +class NavigationReducer { + companion object { + fun reduce(action: Action, state: AppState): NavigationState = internalReduce(action, state) + } +} + +private fun internalReduce(action: Action, state: AppState): NavigationState { val navigationAction = action as? NavigationAction ?: return state.navigationState val navState = state.navigationState @@ -15,7 +21,7 @@ fun navigationReducer(action: Action, state: AppState): NavigationState { } is NavigationAction.PopBackTo -> { val screen = - navigationAction.screen ?: navState.activity?.get()?.getPreviousScreen() + navigationAction.screen ?: navState.activity?.get()?.getPreviousScreen() val index = navState.backStack.lastIndexOf(screen) + 1 state.navigationState.copy(backStack = navState.backStack.subList(0, index)) } diff --git a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt index 99368af1ab..0b4acf90e2 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt @@ -7,4 +7,5 @@ sealed class TapError(@StringRes val localizedMessage: Int): Throwable() { object PayIdAlreadyCreated: TapError(R.string.error_payid_already_created) object PayIdCreatingError: TapError(R.string.error_creating_payid) object PayIdEmptyField: TapError(R.string.wallet_create_payid_empty) + object UnknownBlockchain: TapError(R.string.wallet_unknown_blockchain) } \ No newline at end of file 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 bd5aa7361c..63b2b4ef43 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -24,7 +24,7 @@ class TapWalletManager { private val tangemService = TangemService() suspend fun loadWalletData() { - val walletManager = store.state.globalState.walletManager + val walletManager = store.state.globalState.scanNoteResponse?.walletManager if (walletManager == null) { store.dispatch(WalletAction.LoadWallet.Failure()) return @@ -38,7 +38,9 @@ class TapWalletManager { withContext(Dispatchers.Main) { when (result) { is Result.Success -> { - store.dispatch(WalletAction.LoadArtwork.Success(result.data.byteStream().readBytes())) + store.dispatch(WalletAction.LoadArtwork.Success( + artworkId, result.data.byteStream().readBytes()) + ) } is Result.Failure -> store.dispatch(WalletAction.LoadArtwork.Failure) } @@ -51,8 +53,9 @@ class TapWalletManager { } suspend fun loadFiatRate() { - val blockchainCurrency = store.state.globalState.walletManager?.wallet?.blockchain?.currency - val tokenCurrency = store.state.globalState.walletManager?.wallet?.token?.symbol + val wallet = store.state.globalState.scanNoteResponse?.walletManager?.wallet + val blockchainCurrency = wallet?.blockchain?.currency + val tokenCurrency = wallet?.token?.symbol val blockchainRate = blockchainCurrency?.let { coinMarketCapService.getRate(it) } val tokenRate = tokenCurrency?.let { coinMarketCapService.getRate(it) } @@ -66,9 +69,8 @@ class TapWalletManager { suspend fun onCardScanned(data: ScanNoteResponse) { withContext(Dispatchers.Main) { - store.dispatch(GlobalAction.LoadCard(data.card)) + store.dispatch(GlobalAction.SaveScanNoteResponse(data)) if (data.walletManager != null) { - store.dispatch(GlobalAction.LoadWalletManager(data.walletManager)) data.verifyResponse?.artworkInfo?.id?.let { store.dispatch(WalletAction.LoadArtwork(data.card, it)) } @@ -113,13 +115,14 @@ class TapWalletManager { private suspend fun loadPayIdIfNeeded(): Result? { + val scanNoteResponse = store.state.globalState.scanNoteResponse if (!TapConfig.usePayId || store.state.walletState.payIdData.payIdState == PayIdState.Disabled || - store.state.globalState.walletManager?.wallet?.blockchain?.isPayIdSupported() == false) { + scanNoteResponse?.walletManager?.wallet?.blockchain?.isPayIdSupported() == false) { return null } - val cardId = store.state.globalState.card?.cardId - val publicKey = store.state.globalState.card?.cardPublicKey + val cardId = scanNoteResponse?.card?.cardId + val publicKey = scanNoteResponse?.card?.cardPublicKey if (cardId == null || publicKey == null) { return null } diff --git a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt index dd556e3e40..4f1338e98e 100644 --- a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt @@ -3,6 +3,7 @@ package com.tangem.tap.features.home import android.os.Bundle import android.view.View import androidx.fragment.app.Fragment +import androidx.transition.TransitionInflater import com.tangem.tap.features.home.redux.HomeAction import com.tangem.tap.store import com.tangem.wallet.R @@ -17,5 +18,11 @@ class HomeFragment : Fragment(R.layout.fragment_home) { btn_shop?.setOnClickListener { store.dispatch(HomeAction.GoToShop(requireContext())) } } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + val inflater = TransitionInflater.from(requireContext()) + exitTransition = inflater.inflateTransition(R.transition.fade) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/SendMiddleware.kt b/app/src/main/java/com/tangem/tap/features/send/redux/SendMiddleware.kt index f734d0816c..dbfff128f1 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/SendMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/SendMiddleware.kt @@ -37,7 +37,7 @@ private fun handleSendAction(action: Action) { internal class AddressPayIdHandler { fun handle(data: String?) { - val walletManager = store.state.globalState.walletManager ?: return + val walletManager = store.state.globalState.scanNoteResponse?.walletManager ?: return val clipboardData = data ?: return if (PayIdManager.isPayId(clipboardData)) { @@ -61,7 +61,7 @@ internal class AddressPayIdHandler { private suspend fun verifyPayID(walletManager: WalletManager, payID: String?): String? { val cardId = walletManager.cardId - val publicKey = store.state.globalState.card?.cardPublicKey + val publicKey = store.state.globalState.scanNoteResponse?.card?.cardPublicKey // val result = PayIdManager().getPayId(cardId, publicKey.toHexString()) // withContext(Dispatchers.Main) { 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 c6e18b2ed2..7923065e3a 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 @@ -12,6 +12,8 @@ import java.math.BigDecimal sealed class WalletAction : Action { + object LoadData : WalletAction() + object LoadWallet : WalletAction() { data class Success(val wallet: Wallet): WalletAction() data class NoAccount(val amountToCreateAccount: Int): WalletAction() @@ -27,7 +29,7 @@ sealed class WalletAction : Action { object Failure: WalletAction() } data class LoadArtwork(val card: Card, val artworkId: String) : WalletAction() { - data class Success(val artwork: ByteArray) : WalletAction() + data class Success(val artworkId: String, val artwork: ByteArray) : WalletAction() object Failure: WalletAction() } object Scan : WalletAction() diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt index 451c1d7cab..643df319d3 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt @@ -58,9 +58,9 @@ val walletMiddleware: Middleware = { dispatch, state -> } is WalletAction.CreatePayId.CompleteCreatingPayId -> { scope.launch { - val cardId = store.state.globalState.card?.cardId + val cardId = store.state.globalState.scanNoteResponse?.card?.cardId val wallet = store.state.walletState.wallet - val publicKey = store.state.globalState.card?.cardPublicKey + val publicKey = store.state.globalState.scanNoteResponse?.card?.cardPublicKey if (cardId != null && wallet != null && publicKey != null) { val result = PayIdManager().setPayId( cardId, publicKey.toHexString(), @@ -90,14 +90,21 @@ val walletMiddleware: Middleware = { dispatch, state -> } } } + is WalletAction.LoadData -> { + scope.launch { + store.state.globalState.scanNoteResponse?.let { + store.state.globalState.tapWalletManager.onCardScanned(it) + } + } + } is WalletAction.CopyAddress -> { - store.state.walletState.wallet?.address?.let { + store.state.walletState.addressData?.address?.let { action.context.copyToClipboard(it) store.dispatch(WalletAction.CopyAddress.Success) } } is WalletAction.ExploreAddress -> { - val uri = Uri.parse(store.state.walletState.wallet?.exploreUrl) + val uri = Uri.parse(store.state.walletState.addressData?.exploreUrl) val intent = Intent(Intent.ACTION_VIEW, uri) ContextCompat.startActivity(action.context, intent, null) } 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 9d2aa3e128..30c87d7ea9 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 @@ -12,7 +12,13 @@ import com.tangem.tap.features.wallet.ui.BalanceWidgetData import com.tangem.tap.features.wallet.ui.TokenData import org.rekotlin.Action -fun walletReducer(action: Action, state: AppState): WalletState { +class WalletReducer { + companion object { + fun reduce(action: Action, state: AppState): WalletState = internalReduce(action, state) + } +} + +private fun internalReduce(action: Action, state: AppState): WalletState { if (action !is WalletAction) return state.walletState @@ -24,15 +30,31 @@ fun walletReducer(action: Action, state: AppState): WalletState { currencyData = BalanceWidgetData(BalanceStatus.EmptyCard), mainButton = WalletMainButton.CreateWalletButton(true) ) - is WalletAction.LoadWallet -> newState = WalletState( - state = ProgressState.Loading, - currencyData = BalanceWidgetData( - BalanceStatus.Loading, - state.globalState.walletManager?.wallet?.blockchain?.fullName - ), - mainButton = WalletMainButton.SendButton(false) + is WalletAction.LoadWallet -> { + val wallet = state.globalState.scanNoteResponse?.walletManager?.wallet + val addressData = if (wallet == null) { + null + } else { + AddressData(wallet.address, wallet.shareUrl, wallet.exploreUrl) + } + val currentArtworkId = state.globalState.scanNoteResponse?.verifyResponse?.artworkInfo?.id + val cardImage = if (newState.cardImage?.artworkId == currentArtworkId) { + newState.cardImage + } else { + null + } + newState = WalletState( + state = ProgressState.Loading, + cardImage = cardImage, + currencyData = BalanceWidgetData( + BalanceStatus.Loading, + wallet?.blockchain?.fullName + ), + addressData = addressData, + mainButton = WalletMainButton.SendButton(false) - ) + ) + } is WalletAction.LoadWallet.Success -> { val token = action.wallet.amounts[AmountType.Token] val tokenData = if (token != null) { @@ -62,7 +84,7 @@ fun walletReducer(action: Action, state: AppState): WalletState { ) } is WalletAction.LoadWallet.NoAccount -> { - val wallet = state.globalState.walletManager?.wallet + val wallet = state.globalState.scanNoteResponse?.walletManager?.wallet newState = newState.copy( state = ProgressState.Done, wallet = wallet, currencyData = BalanceWidgetData( @@ -85,26 +107,26 @@ fun walletReducer(action: Action, state: AppState): WalletState { val fiatAmount = if (currency == newState.wallet?.blockchain?.currency) { newState.wallet?.amounts?.get(AmountType.Coin)?.value?.toFiatString(rate) } else { - null + newState.currencyData.fiatAmount } val tokenFiatAmount = if (currency == newState.wallet?.token?.symbol) { newState.wallet?.amounts?.get(AmountType.Token)?.value?.toFiatString(rate) } else { - null + newState.currencyData.token?.fiatAmount } newState = newState.copy(currencyData = newState.currencyData.copy( fiatAmount = fiatAmount, token = newState.currencyData.token?.copy(fiatAmount = tokenFiatAmount) )) } - is WalletAction.LoadArtwork -> { - newState = newState.copy(cardImage = null) - } +// is WalletAction.LoadArtwork -> { +// newState = newState.copy(cardImage = null) +// } is WalletAction.LoadArtwork.Success -> { - newState = newState.copy(cardImage = action.artwork.toBitmap()) + newState = newState.copy(cardImage = Artwork(action.artworkId, action.artwork.toBitmap())) } is WalletAction.ShowQrCode -> { - newState = newState.copy(qrCode = newState.wallet?.shareUrl?.toQrCode()) + newState = newState.copy(qrCode = newState.addressData?.shareUrl?.toQrCode()) } is WalletAction.HideQrCode -> { newState = newState.copy(qrCode = null) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt index fb19fa5fc9..171670bdca 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt @@ -8,8 +8,9 @@ import org.rekotlin.StateType data class WalletState( val state: ProgressState = ProgressState.Done, - val cardImage: Bitmap? = null, + val cardImage: Artwork? = null, val wallet: Wallet? = null, + val addressData: AddressData? = null, val currencyData: BalanceWidgetData = BalanceWidgetData(), val payIdData: PayIdData = PayIdData(), val qrCode: Bitmap? = null, @@ -32,4 +33,15 @@ enum class CreatingPayIdState { EnterPayId, Waiting } sealed class WalletMainButton(enabled: Boolean) : Button(enabled) { class SendButton(enabled: Boolean) : WalletMainButton(enabled) class CreateWalletButton(enabled: Boolean) : WalletMainButton(enabled) -} \ No newline at end of file +} + +data class AddressData( + val address: String, + val shareUrl: String, + val exploreUrl: String +) + +data class Artwork( + val artworkId: String, + val artwork: Bitmap +) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt index c3431b742a..6f8d7dac2a 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/BalanceWidget.kt @@ -55,7 +55,8 @@ class BalanceWidget( fragment.l_balance.show() fragment.l_balance_error.hide() fragment.tv_currency.text = data.currency - fragment.tv_amount.text = "-" + fragment.tv_currency_symbol.text = "-" + fragment.tv_amount.text = "" fragment.tv_fiat_amount.hide() showStatus(R.id.tv_status_loading) fragment.l_token.hide() @@ -65,6 +66,7 @@ class BalanceWidget( fragment.l_balance_error.hide() fragment.tv_currency.text = data.currency fragment.tv_amount.text = data.amount + fragment.tv_currency_symbol.text = data.currencySymbol fragment.tv_fiat_amount.show() fragment.tv_fiat_amount.text = data.fiatAmount showStatus(R.id.tv_status_verified) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt index 47cc4d3c25..e38da8854f 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt @@ -1,9 +1,11 @@ package com.tangem.tap.features.wallet.ui +import android.graphics.Bitmap import android.os.Bundle import android.view.View import androidx.activity.OnBackPressedCallback import androidx.fragment.app.Fragment +import androidx.transition.TransitionInflater import com.tangem.tap.common.extensions.getDrawable import com.tangem.tap.common.extensions.hide import com.tangem.tap.common.extensions.show @@ -18,6 +20,7 @@ import kotlinx.android.synthetic.main.fragment_wallet.* import kotlinx.android.synthetic.main.layout_address.* import org.rekotlin.StoreSubscriber + class WalletFragment : Fragment(R.layout.fragment_wallet), StoreSubscriber { private var qrDialog: QrDialog? = null @@ -30,6 +33,9 @@ class WalletFragment : Fragment(R.layout.fragment_wallet), StoreSubscriber R.string.wallet_button_send - is WalletMainButton.CreateWalletButton -> R.string.wallet_button_create_wallet - } - btn_main.text = getString(buttonTitle) - btn_main.isEnabled = state.mainButton.enabled - - btn_main.setOnClickListener { - when (state.mainButton) { - is WalletMainButton.SendButton -> store.dispatch(NavigationAction.NavigateTo(AppScreen.Send)) - is WalletMainButton.CreateWalletButton -> store.dispatch(WalletAction.CreateWallet) - } - } - - if (state.qrCode != null && state.wallet?.shareUrl != null) { - qrDialog = QrDialog(requireContext()) - qrDialog?.showQr(state.qrCode, state.wallet.shareUrl) + if (state.qrCode != null && state.addressData?.shareUrl != null) { + if (qrDialog == null) qrDialog = QrDialog(requireContext()) + qrDialog?.showQr(state.qrCode, state.addressData.shareUrl) } else { qrDialog?.dismiss() } - when (state.state) { - ProgressState.Loading -> { - l_balance.show() - BalanceWidget(this, state.currencyData).setup() - } - ProgressState.Done -> { - l_balance.show() - BalanceWidget(this, state.currencyData).setup() - } - ProgressState.Error -> { + l_balance.show() + BalanceWidget(this, state.currencyData).setup() - } + if (state.state == ProgressState.Done) { + srl_wallet.isRefreshing = false } when (state.payIdData.payIdState) { @@ -150,5 +123,43 @@ class WalletFragment : Fragment(R.layout.fragment_wallet), StoreSubscriber R.string.wallet_button_send + is WalletMainButton.CreateWalletButton -> R.string.wallet_button_create_wallet + } + btn_main.text = getString(buttonTitle) + btn_main.isEnabled = state.mainButton.enabled + + btn_main.setOnClickListener { + when (state.mainButton) { + is WalletMainButton.SendButton -> store.dispatch(NavigationAction.NavigateTo(AppScreen.Send)) + is WalletMainButton.CreateWalletButton -> store.dispatch(WalletAction.CreateWallet) + } + } + } + + private fun setupAddressCard(state: WalletState) { + if (state.addressData != null) { + l_address?.show() + tv_address.text = state.addressData.address + tv_explore?.setOnClickListener { + store.dispatch(WalletAction.ExploreAddress(requireContext())) + } + } else { + l_address?.hide() + } + } + + private fun setupCardImage(cardImage: Bitmap?) { + if (cardImage != null) { + iv_card.setImageBitmap(cardImage) + } else { + iv_card.setImageDrawable(getDrawable(R.drawable.card_default)) + } + } } \ No newline at end of file diff --git a/app/src/main/res/color/btn_tap_text_color.xml b/app/src/main/res/color/btn_tap_text_color.xml new file mode 100644 index 0000000000..01e0752f01 --- /dev/null +++ b/app/src/main/res/color/btn_tap_text_color.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/selector_btn_black.xml b/app/src/main/res/color/selector_btn_black.xml new file mode 100644 index 0000000000..5fae92a59d --- /dev/null +++ b/app/src/main/res/color/selector_btn_black.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/selector_btn_green.xml b/app/src/main/res/color/selector_btn_green.xml new file mode 100644 index 0000000000..32bd8b9847 --- /dev/null +++ b/app/src/main/res/color/selector_btn_green.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/card_tg057.png b/app/src/main/res/drawable/card_tg057.png deleted file mode 100644 index ec90d9cf938da3e43a40915afa6b7c2cb3dce1da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110309 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 z 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 diff --git a/app/src/main/res/drawable/ic_copy.xml b/app/src/main/res/drawable/ic_copy.xml index 1e5f97197d..db40f4b5b9 100644 --- a/app/src/main/res/drawable/ic_copy.xml +++ b/app/src/main/res/drawable/ic_copy.xml @@ -1,19 +1,9 @@ + android:width="17dp" + android:height="20dp" + android:viewportWidth="17" + android:viewportHeight="20"> - - + android:pathData="M12.3334,0.8333H2.3334C1.4167,0.8333 0.6667,1.5833 0.6667,2.5V14.1667H2.3334V2.5H12.3334V0.8333ZM11.5001,4.1667L16.5001,9.1667V17.5C16.5001,18.4167 15.7501,19.1667 14.8334,19.1667H5.6584C4.7417,19.1667 4.0001,18.4167 4.0001,17.5L4.0084,5.8333C4.0084,4.9167 4.7501,4.1667 5.6667,4.1667H11.5001ZM10.6667,10H15.2501L10.6667,5.4167V10Z" + android:fillColor="#1C1C1E"/> diff --git a/app/src/main/res/drawable/ic_qr_code_create.xml b/app/src/main/res/drawable/ic_qr_code_create.xml deleted file mode 100644 index a09bd4ea60..0000000000 --- a/app/src/main/res/drawable/ic_qr_code_create.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_qr_code_show.xml b/app/src/main/res/drawable/ic_qr_code_show.xml new file mode 100644 index 0000000000..d59f4de145 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code_show.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_warning.xml b/app/src/main/res/drawable/ic_warning.xml new file mode 100644 index 0000000000..81f2751c0c --- /dev/null +++ b/app/src/main/res/drawable/ic_warning.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_warning_small.xml b/app/src/main/res/drawable/ic_warning_small.xml new file mode 100644 index 0000000000..a42413f750 --- /dev/null +++ b/app/src/main/res/drawable/ic_warning_small.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index c41550aa8d..ce04dd4978 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -70,12 +70,15 @@ android:layout_marginBottom="33dp" android:text="@string/home_button_yes" app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/btn_shop" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintStart_toEndOf="@+id/btn_yes" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_wallet.xml b/app/src/main/res/layout/fragment_wallet.xml index 4eba913cf1..390f561132 100644 --- a/app/src/main/res/layout/fragment_wallet.xml +++ b/app/src/main/res/layout/fragment_wallet.xml @@ -1,73 +1,113 @@ - + android:background="@color/backgroundLightGray" + android:orientation="vertical"> - - - + android:background="@color/backgroundLightGray" + android:fitsSystemWindows="true" + app:liftOnScroll="true"> - + + + + + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> + + + + + + + + - + - + - + + - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_address.xml b/app/src/main/res/layout/layout_address.xml index 859cfc42ce..3fafd3e5cb 100644 --- a/app/src/main/res/layout/layout_address.xml +++ b/app/src/main/res/layout/layout_address.xml @@ -2,7 +2,7 @@ @@ -19,6 +19,7 @@ android:elevation="3dp"> @@ -57,31 +58,53 @@ app:layout_constraintTop_toBottomOf="@id/tv_address" /> - + app:layout_constraintTop_toTopOf="parent"> - + + + + + app:layout_constraintTop_toTopOf="parent"> + + + + @@ -70,17 +70,36 @@ + + + tools:text="BTC" /> + android:src="@drawable/ic_warning" /> + \ No newline at end of file diff --git a/app/src/main/res/transition/slide_right.xml b/app/src/main/res/transition/slide_right.xml new file mode 100644 index 0000000000..45e1e04870 --- /dev/null +++ b/app/src/main/res/transition/slide_right.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e8cd99581f..1883882991 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -6,7 +6,9 @@ #1ACE80 @color/accent + #661ACE80 @color/darkGray6 + #661C1C1E #5AC461 #C4291C @@ -20,6 +22,7 @@ #1C1C1E #F9F9FA + #F9F9F9 #F4F5F6 #DE000000 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a1143055bf..b9ac4da648 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -17,6 +17,7 @@ Create PayID Verified Balance Blockchain is unreachable + Uh oh!\nYour Tangem card was made to work with a different application. Please see the name and instructions on your card, and install the correct app. Balance is loading… Account is not created Empty Card diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 24e04d7247..0c965e8d30 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -6,6 +6,7 @@ @color/colorSecondary @color/darkGray6 true + @color/backgroundLightGray false @@ -26,20 +27,25 @@ 0dp 14sp bold + @color/btn_tap_text_color false 0 - @color/tapButtonColor + @color/selector_btn_green @dimen/btn_corner_radius @font/saira_semi_condensed_regular + 93dp + 48dp