From e8d727212b8a7240ccf352fee31186fb74805a00 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 10 Jan 2023 20:44:39 +0300 Subject: [PATCH] Updated on 2026-08-14 --- app/src/main/assets/tangem-app-config | 2 +- .../disclaimer/ui/DisclaimerFragment.kt | 5 +- .../middlewares/AppCurrencyMiddleware.kt | 88 ------------------- .../com/tangem/tap/proxy/AppStateHolder.kt | 32 ------- core/res/src/main/res/values/strings.xml | 13 ++- .../components/appbar/AppBarWithBackButton.kt | 77 ---------------- .../feature/referral/ui/ReferralScreen.kt | 1 - 7 files changed, 11 insertions(+), 207 deletions(-) diff --git a/app/src/main/assets/tangem-app-config b/app/src/main/assets/tangem-app-config index 8453faa078..897f0f7c40 160000 --- a/app/src/main/assets/tangem-app-config +++ b/app/src/main/assets/tangem-app-config @@ -1 +1 @@ -Subproject commit 8453faa078220801858166081947972639f166db +Subproject commit 897f0f7c402fd53c5ee1fa4ab601ecd4e43ff389 diff --git a/app/src/main/java/com/tangem/tap/features/disclaimer/ui/DisclaimerFragment.kt b/app/src/main/java/com/tangem/tap/features/disclaimer/ui/DisclaimerFragment.kt index b48cfd0e82..506b8beae9 100644 --- a/app/src/main/java/com/tangem/tap/features/disclaimer/ui/DisclaimerFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/disclaimer/ui/DisclaimerFragment.kt @@ -38,6 +38,7 @@ class DisclaimerFragment : BaseFragment(R.layout.fragment_disclaimer), StoreSubs enterTransition = inflater.inflateTransition(android.R.transition.fade) exitTransition = inflater.inflateTransition(android.R.transition.fade) } + else -> {} } } @@ -121,8 +122,4 @@ class DisclaimerFragment : BaseFragment(R.layout.fragment_disclaimer), StoreSubs override fun handleOnBackPressed() { store.dispatch(DisclaimerAction.OnBackPressed) } - - override fun handleOnBackPressed() { - store.dispatch(DisclaimerAction.OnBackPressed) - } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/AppCurrencyMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/AppCurrencyMiddleware.kt index e15571e1ce..a2b7aa110e 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/AppCurrencyMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/AppCurrencyMiddleware.kt @@ -19,94 +19,6 @@ import com.tangem.tap.store import com.tangem.tap.userWalletsListManager import kotlinx.coroutines.launch -class AppCurrencyMiddleware( - private val walletRepository: WalletRepository, - private val tapWalletManager: TapWalletManager, - private val fiatCurrenciesPrefStorage: FiatCurrenciesPrefStorage, - private val appCurrencyProvider: () -> FiatCurrency, -) { - fun handle(action: WalletAction.AppCurrencyAction) { - when (action) { - is WalletAction.AppCurrencyAction.ChooseAppCurrency -> showSelector() - is WalletAction.AppCurrencyAction.SelectAppCurrency -> selectCurrency(action) - } - } - - private fun showSelector() { - val storedFiatCurrencies = fiatCurrenciesPrefStorage.restore() - if (storedFiatCurrencies.isNotEmpty()) { - store.dispatchDialogShow( - WalletDialog.CurrencySelectionDialog( - currenciesList = storedFiatCurrencies.mapToUiModel(), - currentAppCurrency = appCurrencyProvider.invoke(), - ) - ) - } - - scope.launch { - runCatching { walletRepository.getCurrencyList() } - .onSuccess { - val currenciesList = it.currencies - if (currenciesList.isNotEmpty() && !currenciesList.toSet().equals(storedFiatCurrencies.toSet())) { - fiatCurrenciesPrefStorage.save(currenciesList) - store.dispatchDialogShow( - WalletDialog.CurrencySelectionDialog( - currenciesList = currenciesList.mapToUiModel(), - currentAppCurrency = appCurrencyProvider.invoke(), - ) - ) - } - } - } - } - - private fun selectCurrency(action: WalletAction.AppCurrencyAction.SelectAppCurrency) { - Analytics.send(MainScreen.MainCurrencyChanged(AnalyticsParam.CurrencyType.FiatCurrency(action.fiatCurrency))) - fiatCurrenciesPrefStorage.saveAppCurrency(action.fiatCurrency) - store.dispatch(GlobalAction.ChangeAppCurrency(action.fiatCurrency)) - store.dispatch(DetailsAction.ChangeAppCurrency(action.fiatCurrency)) - store.dispatch(WalletSelectorAction.ChangeAppCurrency(action.fiatCurrency)) - val selectedUserWallet = userWalletsListManager.selectedUserWalletSync - if (selectedUserWallet != null) { - scope.launch { - tapWalletManager.loadData(selectedUserWallet, refresh = true) - } - } else { - tapWalletManager.rates.clear() - store.dispatch(WalletAction.LoadFiatRate()) - } - } - - private fun List.mapToUiModel(): List { - return this.map { - FiatCurrency( - code = it.code, - name = it.name, - symbol = it.unit - ) - } - } -}package com.tangem.tap.features.wallet.redux.middlewares - -import com.tangem.datasource.api.tangemTech.models.CurrenciesResponse -import com.tangem.core.analytics.Analytics -import com.tangem.tap.common.analytics.events.AnalyticsParam -import com.tangem.tap.common.analytics.events.MainScreen -import com.tangem.tap.common.entities.FiatCurrency -import com.tangem.tap.common.extensions.dispatchDialogShow -import com.tangem.tap.common.redux.global.GlobalAction -import com.tangem.tap.domain.TapWalletManager -import com.tangem.tap.features.details.redux.DetailsAction -import com.tangem.tap.features.wallet.domain.WalletRepository -import com.tangem.tap.features.wallet.redux.WalletAction -import com.tangem.tap.features.wallet.redux.models.WalletDialog -import com.tangem.tap.features.walletSelector.redux.WalletSelectorAction -import com.tangem.tap.persistence.FiatCurrenciesPrefStorage -import com.tangem.tap.scope -import com.tangem.tap.store -import com.tangem.tap.userWalletsListManager -import kotlinx.coroutines.launch - class AppCurrencyMiddleware( private val walletRepository: WalletRepository, private val tapWalletManager: TapWalletManager, diff --git a/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt b/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt index 1d4763e548..110652b772 100644 --- a/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt +++ b/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt @@ -12,38 +12,6 @@ import com.tangem.tap.features.wallet.redux.WalletState import org.rekotlin.Store import javax.inject.Inject -/** - * Holds objects from old modules, that missing in DI graph - * Object sets manually to use in new modules and [AppStateHolder] proxies its to DI - */ -class AppStateHolder @Inject constructor(){ - - var scanResponse: ScanResponse? = null - var walletState: WalletState? = null - var userTokensRepository: UserTokensRepository? = null - var mainStore: Store? = null - var tangemSdkManager: TangemSdkManager? = null - var tangemSdk: TangemSdk? = null - var walletStoresManager: WalletStoresManager? = null - var userWalletsListManager: UserWalletsListManager? = null - - fun getActualCard(): CardDTO? { - return scanResponse?.card - } -}package com.tangem.tap.proxy - -import com.tangem.TangemSdk -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse -import com.tangem.tap.common.redux.AppState -import com.tangem.tap.domain.TangemSdkManager -import com.tangem.tap.domain.tokens.UserTokensRepository -import com.tangem.tap.domain.userWalletList.UserWalletsListManager -import com.tangem.tap.domain.walletStores.WalletStoresManager -import com.tangem.tap.features.wallet.redux.WalletState -import org.rekotlin.Store -import javax.inject.Inject - /** * Holds objects from old modules, that missing in DI graph * Object sets manually to use in new modules and [AppStateHolder] proxies its to DI diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index afed5beb51..db71c3e8d1 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -33,7 +33,7 @@ Search tokens You are currently running in Demo mode. All funds are not real. This feature is disabled in Demo mode - Not enough funds for fee on your %s wallet to send a transaction. Top up your %s wallet first. + Not enough funds for fee in your %s wallet to send a transaction. Top up your %s wallet first. Available networks %s network not found. Please, add it first and try again. Attention @@ -100,7 +100,7 @@ WalletConnect Connect to Dapps Factory Reset will completely delete the wallet from the selected card and remove it from the app. You will not be able to restore the current wallet. - Factory Reset will completely delete the wallet from the selected card and remove it from the app. You will not be able to restore the current wallet or use the card to recover the access code. + Factory Reset will completely delete the wallet from the selected card. You will not be able to restore the current wallet or use the card to recover the access code. I understand that after performing this action, I will no longer have access to the current wallet Reset the Card Reset to Factory Settings @@ -191,6 +191,8 @@ Share Copy Success + You Send + You Receive Give Permission To continue you need to allow 1inch smart contracts to use your %s Amount %s @@ -202,9 +204,12 @@ Insufficient funds Give Permission Permit and Swap + Choose token + Your tokens + Other tokens Failed to load the information about the referral program. Please try again later. - Failed to load the information about the referral program. Reason: %s. Please try again later. - Your participation request could not be processed. Reason: %s. Please try again later. If the problem persists — feel free to contact our support. + Failed to load the information about the referral program. Error code: %s. Please try again later. + Your participation request could not be processed. Error code: %s. Please try again later. If the problem persists — feel free to contact our support. Personal code copied! Buy Tangem Wallet with discount!\n%s %s network has a concept of Existential Deposit. If your account drops below %s it will be deactivated and any remaining funds will be destroyed. diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButton.kt b/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButton.kt index f60eea64cd..384bdd6e14 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButton.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButton.kt @@ -69,83 +69,6 @@ fun PreviewAppBarWithBackButtonInLightTheme() { } } -@Preview(widthDp = 360, heightDp = 56, showBackground = true) -@Composable -fun PreviewAppBarWithBackButtonInDarkTheme() { - TangemTheme(isDark = true) { - AppBarWithBackButton(text = "Title", onBackClick = {}) - } -}package com.tangem.core.ui.components.appbar - -import androidx.annotation.DrawableRes -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.dimensionResource -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.tooling.preview.Preview -import com.tangem.core.ui.R -import com.tangem.core.ui.res.TangemTheme - -/** - * App bar with back button and optional title - * - * @param text optional title - * @param onBackClick the lambda to be invoked when this icon is pressed - * - * @see Figma component - */ -@Composable -fun AppBarWithBackButton( - text: String? = null, - @DrawableRes iconRes: Int? = null, - onBackClick: () -> Unit, -) { - Row( - modifier = Modifier - .background(color = TangemTheme.colors.background.secondary) - .fillMaxWidth() - .padding(all = dimensionResource(R.dimen.spacing16)), - horizontalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.spacing16)), - verticalAlignment = Alignment.CenterVertically, - ) { - Icon( - painter = painterResource(iconRes ?: R.drawable.ic_back_24), - contentDescription = null, - modifier = Modifier - .size(size = dimensionResource(R.dimen.size24)) - .clickable { onBackClick() }, - tint = TangemTheme.colors.icon.primary1, - ) - if (!text.isNullOrBlank()) { - Text( - text = text, - color = TangemTheme.colors.text.primary1, - maxLines = 1, - style = TangemTheme.typography.subtitle1, - ) - } - } -} - -@Preview(widthDp = 360, heightDp = 56, showBackground = true) -@Composable -fun PreviewAppBarWithBackButtonInLightTheme() { - TangemTheme(isDark = false) { - AppBarWithBackButton(text = "Title", onBackClick = {}) - } -} - @Preview(widthDp = 360, heightDp = 56, showBackground = true) @Composable fun PreviewAppBarWithBackButtonInDarkTheme() { diff --git a/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt b/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt index ba3eedc499..9a16507f78 100644 --- a/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt +++ b/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt @@ -134,7 +134,6 @@ private fun ReferralContent(stateHolder: ReferralStateHolder, onAgreementClicked AppBarWithBackButton( text = stringResource(R.string.details_referral_title), onBackClick = stateHolder.headerState.onBackClicked, - modifier = Modifier.background(color = TangemTheme.colors.background.secondary), ) } item { Header() }