From a4e5c041a4f5f31e25a174170025324d21dcd22e Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 25 Jul 2022 22:14:49 +0300 Subject: [PATCH 01/11] Updated on 2026-08-14 --- app/src/main/res/layout/fragment_wallet.xml | 210 ++++++++++---------- 1 file changed, 105 insertions(+), 105 deletions(-) diff --git a/app/src/main/res/layout/fragment_wallet.xml b/app/src/main/res/layout/fragment_wallet.xml index d9339cbb3a..ebec250282 100644 --- a/app/src/main/res/layout/fragment_wallet.xml +++ b/app/src/main/res/layout/fragment_wallet.xml @@ -18,14 +18,14 @@ app:liftOnScroll="true"> + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + app:menu="@menu/wallet" + app:navigationIcon="@drawable/ic_wallet_24" + app:navigationIconTint="@color/darkGray6" + app:title="@string/wallet_title" + app:titleCentered="true" /> @@ -43,11 +43,11 @@ android:overScrollMode="never"> + android:id="@+id/cl_wallet" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:clipToPadding="false" + android:paddingBottom="74dp"> @@ -69,18 +69,18 @@ android:id="@+id/tv_twin_card_number" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:minHeight="30dp" - android:paddingStart="16dp" - android:paddingEnd="16dp" - android:paddingTop="4dp" - android:paddingBottom="4dp" + android:layout_marginStart="25dp" + android:background="@drawable/shape_chip" android:elevation="3dp" android:gravity="center" - android:layout_marginStart="25dp" + android:minHeight="30dp" + android:paddingStart="16dp" + android:paddingTop="4dp" + android:paddingEnd="16dp" + android:paddingBottom="4dp" android:textColor="@color/buttonGray" android:textSize="14sp" android:textStyle="bold" - android:background="@drawable/shape_chip" app:layout_constraintBottom_toBottomOf="@id/iv_card" app:layout_constraintStart_toStartOf="@id/iv_card" app:layout_constraintTop_toBottomOf="@id/iv_card" @@ -95,50 +95,50 @@ - - - - - - + app:layout_constraintTop_toBottomOf="@id/barrier" /> + + + + + + + android:id="@+id/rv_multiwallet" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + android:nestedScrollingEnabled="false" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/rv_pending_transaction" /> + android:id="@+id/l_buttons_long" + layout="@layout/layout_wallet_long_buttons" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="30dp" + android:layout_marginEnd="16dp" + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/l_address" + app:layout_constraintVertical_bias="1" /> + android:id="@+id/l_buttons_short" + layout="@layout/layout_wallet_short_buttons" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="30dp" + android:layout_marginEnd="16dp" + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/l_address" + app:layout_constraintVertical_bias="1" /> + android:id="@+id/btn_add_token" + style="@style/BaseTapButton" + android:layout_width="match_parent" + android:layout_height="42dp" + android:layout_gravity="bottom" + android:layout_marginStart="16dp" + android:layout_marginTop="32dp" + android:layout_marginEnd="16dp" + android:elevation="4dp" + android:text="@string/main_manage_tokens" + android:textSize="16sp" + app:cornerRadius="8dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/rv_multiwallet" /> From fc5aa667dd992dbfa2c2eaec128b3caad2e2422c Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 25 Jul 2022 22:37:12 +0300 Subject: [PATCH 02/11] Updated on 2026-08-14 --- app/src/main/res/layout/fragment_wallet.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/layout/fragment_wallet.xml b/app/src/main/res/layout/fragment_wallet.xml index ebec250282..102ae199f4 100644 --- a/app/src/main/res/layout/fragment_wallet.xml +++ b/app/src/main/res/layout/fragment_wallet.xml @@ -148,7 +148,6 @@ android:visibility="gone" app:layout_constraintTop_toBottomOf="@id/rv_pending_transaction" /> - + app:layout_constraintTop_toBottomOf="@id/rv_multiwallet" + app:layout_constraintVertical_bias="0.0" + tools:layout_editor_absoluteX="16dp" /> From 8a6e1e6fc934cf285501aea51316682487d02a94 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 26 Jul 2022 09:28:37 +0300 Subject: [PATCH 03/11] Updated on 2026-08-14 --- .../tangem/tap/common/extensions/StringBuilder.kt | 4 ++++ .../tangem/tap/common/feedback/FeedbackData.kt | 15 ++++++++------- .../tap/common/feedback/FeedbackDataBuilder.kt | 14 ++++++-------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt b/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt index 3f8fa992ff..8182db6828 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt @@ -19,4 +19,8 @@ fun StringBuilder.appendIfNotNull(value: String?, prefix: String? = null, postfi fun String.appendIfNotNull(value: String?, prefix: String? = null, postfix: String? = null): String { return StringBuilder(this).apply { appendIfNotNull(value, prefix, postfix) }.toString() +} + +fun StringBuilder.breakLine(count: Int = 1): StringBuilder { + return append(List(count) { "\n" }.joinToString(separator = "")) } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackData.kt b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackData.kt index dc2a7d07d5..6578b97356 100644 --- a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackData.kt +++ b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackData.kt @@ -2,6 +2,7 @@ package com.tangem.tap.common.feedback import android.content.Context import com.tangem.domain.common.TapWorkarounds +import com.tangem.tap.common.extensions.breakLine import com.tangem.wallet.R interface FeedbackData { @@ -17,9 +18,9 @@ interface FeedbackData { fun joinTogether(context: Context, infoHolder: AdditionalFeedbackInfo): String { return StringBuilder().apply { append(context.getString(mainMessageResId)) - appendLine(3) + breakLine(3) append(context.getString(getDataCollectionMessageResId())) - appendLine() + breakLine() append(createOptionalMessage(infoHolder)) }.toString() } @@ -31,7 +32,7 @@ class RateCanBeBetterEmail : FeedbackData { override fun createOptionalMessage(infoHolder: AdditionalFeedbackInfo): String = FeedbackDataBuilder(infoHolder) .appendCardInfo() - .appendLine() + .breakLine() .appendPhoneInfo() .build() } @@ -43,7 +44,7 @@ class ScanFailsEmail : FeedbackData { override fun joinTogether(context: Context, infoHolder: AdditionalFeedbackInfo): String = StringBuilder().apply { append(context.getString(mainMessageResId)) - appendLine(4) + breakLine(4) append(createOptionalMessage(infoHolder)) }.toString() @@ -53,7 +54,7 @@ class ScanFailsEmail : FeedbackData { } class SendTransactionFailedEmail( - val error: String + val error: String, ) : FeedbackData { override val subjectResId: Int = R.string.feedback_subject_tx_failed @@ -63,7 +64,7 @@ class SendTransactionFailedEmail( .appendCardInfo() .appendDelimiter() .appendTxFailedBlockchainInfo(error) - .appendLine() + .breakLine() .appendPhoneInfo() .build() } @@ -89,7 +90,7 @@ class FeedbackEmail : FeedbackData { override fun createOptionalMessage(infoHolder: AdditionalFeedbackInfo): String = FeedbackDataBuilder(infoHolder) .appendCardInfo() .appendWalletsInfo() - .appendLine() + .breakLine() .appendPhoneInfo() .build() } diff --git a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt index 9e5378e9e5..a3a9ee5575 100644 --- a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt +++ b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt @@ -1,5 +1,7 @@ package com.tangem.tap.common.feedback +import com.tangem.tap.common.extensions.breakLine + class FeedbackDataBuilder( private val infoHolder: AdditionalFeedbackInfo ) { @@ -10,8 +12,8 @@ class FeedbackDataBuilder( return this } - fun appendLine(count: Int = 1): FeedbackDataBuilder { - builder.appendLine(count) + fun breakLine(count: Int = 1): FeedbackDataBuilder { + builder.breakLine(count) return this } @@ -34,7 +36,7 @@ class FeedbackDataBuilder( infoHolder.tokens[it.blockchain]?.let { tokens -> builder.append("Tokens:") - appendLine() + breakLine() tokens.forEach { token -> builder.appendKeyValue("Name", token.name) builder.appendKeyValue("ID", token.id ?: "[custom token]") @@ -74,8 +76,4 @@ private fun StringBuilder.appendKeyValue(key: String, value: String): StringBuil return if (value.isNotBlank()) this.append("$key: $value\n") else this } -private fun StringBuilder.appendDelimiter(): StringBuilder = append("----------\n") - -private fun StringBuilder.appendLine(count: Int = 1): StringBuilder { - return append(List(count) { "\n" }.joinToString(separator = "")) -} \ No newline at end of file +private fun StringBuilder.appendDelimiter(): StringBuilder = append("----------\n") \ No newline at end of file From 887ff2a509bff5c7a46bac5617813b9b4eb111de Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 11:15:26 +0300 Subject: [PATCH 04/11] Updated on 2026-08-14 --- .../java/com/tangem/tap/common/extensions/StringBuilder.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt b/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt index 8182db6828..961e77e8f7 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/StringBuilder.kt @@ -21,6 +21,4 @@ fun String.appendIfNotNull(value: String?, prefix: String? = null, postfix: Stri return StringBuilder(this).apply { appendIfNotNull(value, prefix, postfix) }.toString() } -fun StringBuilder.breakLine(count: Int = 1): StringBuilder { - return append(List(count) { "\n" }.joinToString(separator = "")) -} \ No newline at end of file +fun StringBuilder.breakLine(count: Int = 1): StringBuilder = append("\n".repeat(count)) \ No newline at end of file From 7212b2eb9ff2358b84d9fd8faf900860c3d920c1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 12:31:05 +0300 Subject: [PATCH 05/11] Updated on 2026-08-14 --- .../tap/features/home/compose/StoriesScreen.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt b/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt index 7e840f5592..f1230a2fc1 100644 --- a/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt @@ -12,16 +12,17 @@ import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.systemBars +import androidx.compose.foundation.layout.statusBars import androidx.compose.foundation.layout.union import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.material.Button import androidx.compose.material.ButtonDefaults import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState -import androidx.compose.runtime.SideEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -79,10 +80,10 @@ fun StoriesScreen( val hideContent = remember { mutableStateOf(true) } - SideEffect { + LaunchedEffect(key1 = isDarkBackground) { systemUiController.setSystemBarsColor( color = Color.Transparent, - darkIcons = false, + darkIcons = !isDarkBackground, ) } @@ -140,12 +141,12 @@ fun StoriesScreen( ) } - val insets = WindowInsets.systemBars + val statusBarInsets = WindowInsets.statusBars .union(WindowInsets(top = 32.dp)) Column( modifier = Modifier - .windowInsetsPadding(insets) + .windowInsetsPadding(statusBarInsets) .fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, @@ -179,8 +180,9 @@ fun StoriesScreen( } Column( modifier = Modifier + .navigationBarsPadding() .align(Alignment.BottomCenter) - .fillMaxWidth() + .fillMaxWidth(), ) { if (currentStep.value == 4) Button( onClick = onSearchTokensClick, @@ -213,7 +215,6 @@ fun StoriesScreen( onShopButtonClick = onShopButtonClick ) } - } } From e015082be55c438a710a827a65d15d78596ce401 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 12:36:43 +0300 Subject: [PATCH 06/11] Updated on 2026-08-14 --- app/src/main/java/com/tangem/tap/MainActivity.kt | 6 ++++-- .../java/com/tangem/tap/features/home/HomeFragment.kt | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index 78d55638ca..b4d66ff10e 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -86,8 +86,10 @@ class MainActivity : AppCompatActivity(), SnackbarHandler { private fun systemActions() { WindowCompat.setDecorFitsSystemWindows(window, false) - WindowInsetsControllerCompat(window, binding.root) - .isAppearanceLightStatusBars = true + + val windowInsetsController = WindowInsetsControllerCompat(window, binding.root) + windowInsetsController.isAppearanceLightStatusBars = true + windowInsetsController.isAppearanceLightNavigationBars = true requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT } 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 f1b3fa3f55..27953640ea 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 @@ -96,12 +96,14 @@ class HomeFragment : Fragment(), StoreSubscriber { /* * !!! Workaround !!! - * Used to roll back the color of icons in the status bar after the stories screen + * Used to roll back the color of icons in the system bars after the stories screen * */ private fun rollbackStatusBarIconsColor() { - WindowInsetsControllerCompat( + val windowInsetsController = WindowInsetsControllerCompat( activity?.window ?: return, view ?: return, - ).isAppearanceLightStatusBars = true + ) + windowInsetsController.isAppearanceLightStatusBars = true + windowInsetsController.isAppearanceLightNavigationBars = true } } \ No newline at end of file From 9471008c7cc65eb4691203b8b3da51a066e41849 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 13:54:26 +0400 Subject: [PATCH 07/11] Updated on 2026-08-14 --- .../com/tangem/tap/domain/TapWalletManager.kt | 2 +- .../walletconnect/WcWalletManagerFactory.kt | 1 - .../tap/features/wallet/redux/WalletAction.kt | 4 ++-- .../tap/features/wallet/redux/WalletState.kt | 4 +--- .../wallet/redux/reducers/WalletReducer.kt | 15 ++------------- 5 files changed, 6 insertions(+), 20 deletions(-) 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 92fc72c0bf..8bd8cf8ef7 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -87,7 +87,7 @@ class TapWalletManager { updateConfigManager(data) withMainContext { - store.dispatch(WalletAction.ResetState) + store.dispatch(WalletAction.ResetState(data.card.cardId)) store.dispatch(GlobalAction.SaveScanNoteResponse(data)) store.dispatch(WalletAction.SetIfTestnetCard(data.card.isTestCard)) store.dispatch(WalletAction.MultiWallet.SetIsMultiwalletAllowed(data.card.isMultiwalletAllowed)) diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WcWalletManagerFactory.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WcWalletManagerFactory.kt index 7c978b7b6f..72134d880b 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WcWalletManagerFactory.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WcWalletManagerFactory.kt @@ -45,7 +45,6 @@ class WcWalletManagerFactory( if (blockchainNetworkWithTokens != null) { factory.makeWalletManager( - cardId = wallet.cardId, blockchain = blockchainToMake, publicKey = Wallet.PublicKey( wallet.walletPublicKey!!, 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 89d77cd33f..e079a6b114 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 @@ -17,12 +17,12 @@ import com.tangem.tap.domain.configurable.warningMessage.WarningMessage import com.tangem.tap.domain.tokens.models.BlockchainNetwork import com.tangem.tap.features.wallet.models.Currency import com.tangem.wallet.R -import java.math.BigDecimal import org.rekotlin.Action +import java.math.BigDecimal sealed class WalletAction : Action { - object ResetState : WalletAction() + data class ResetState(val newCardId: String) : WalletAction() data class SetIfTestnetCard(val isTestnet: Boolean) : WalletAction() 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 21489b82f3..d3d59422be 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 @@ -27,6 +27,7 @@ import java.math.BigDecimal import kotlin.properties.ReadOnlyProperty data class WalletState( + val cardId: String = "", val state: ProgressState = ProgressState.Done, val error: ErrorType? = null, val cardImage: Artwork? = null, @@ -73,9 +74,6 @@ data class WalletState( val walletManagers: List get() = wallets.mapNotNull { it.walletManager } - val cardId: String? - get() = wallets.firstOrNull()?.walletManager?.wallet?.cardId - fun getWalletManager(currency: Currency?): WalletManager? { if (currency?.blockchain == null) return null return getWalletStore(currency)?.walletManager diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt index 0990cd2e78..fba952b703 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt @@ -12,20 +12,9 @@ import com.tangem.tap.domain.TapError import com.tangem.tap.domain.extensions.getArtworkUrl import com.tangem.tap.domain.getFirstToken import com.tangem.tap.domain.tokens.models.BlockchainNetwork +import com.tangem.tap.features.wallet.models.Currency import com.tangem.tap.features.wallet.models.WalletRent import com.tangem.tap.features.wallet.redux.* -import com.tangem.tap.features.wallet.redux.AddressData -import com.tangem.tap.features.wallet.redux.Artwork -import com.tangem.tap.features.wallet.models.Currency -import com.tangem.tap.features.wallet.redux.ErrorType -import com.tangem.tap.features.wallet.redux.ProgressState -import com.tangem.tap.features.wallet.redux.TradeCryptoState -import com.tangem.tap.features.wallet.redux.WalletAction -import com.tangem.tap.features.wallet.redux.WalletAddresses -import com.tangem.tap.features.wallet.redux.WalletData -import com.tangem.tap.features.wallet.redux.WalletMainButton -import com.tangem.tap.features.wallet.redux.WalletState -import com.tangem.tap.features.wallet.redux.WalletStore import com.tangem.tap.features.wallet.ui.BalanceStatus import com.tangem.tap.features.wallet.ui.BalanceWidgetData import com.tangem.tap.store @@ -53,7 +42,7 @@ private fun internalReduce(action: Action, state: AppState): WalletState { is WalletAction.Warnings -> newState = handleCheckSignedHashesActions(action, newState) is WalletAction.MultiWallet -> newState = multiWalletReducer.reduce(action, newState) - is WalletAction.ResetState -> newState = WalletState() + is WalletAction.ResetState -> newState = WalletState(cardId = action.newCardId) is WalletAction.SetIfTestnetCard -> newState = newState.copy(isTestnet = action.isTestnet) is WalletAction.EmptyWallet -> { newState = newState.copy( From 03f45485fe53e9763d77c9c173652d2ec0c96982 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 13:38:43 +0300 Subject: [PATCH 08/11] Updated on 2026-08-14 --- .editorconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 57188dd623..25a2f7c928 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,4 @@ [*.{kt,kts}] -ktlint_code_style = official ktlint_ignore_back_ticked_identifier = true indent_size = 4 From 30acdc468b74a6980a1cb7d16015a46993a4c93b Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 15:56:16 +0300 Subject: [PATCH 09/11] Updated on 2026-08-14 --- .../tokens/ui/compose/ExpandedCurrencyItem.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/tokens/ui/compose/ExpandedCurrencyItem.kt b/app/src/main/java/com/tangem/tap/features/tokens/ui/compose/ExpandedCurrencyItem.kt index cecf873bf9..ca702054eb 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/ui/compose/ExpandedCurrencyItem.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/ui/compose/ExpandedCurrencyItem.kt @@ -2,7 +2,16 @@ package com.tangem.tap.features.tokens.ui.compose import androidx.compose.foundation.Image import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.Divider import androidx.compose.material.Text @@ -132,7 +141,9 @@ fun ExpandedCurrencyItem( val contract = currency.contracts.firstOrNull { it.blockchain == blockchain } ?: return@map val added = if (contract.address != null) { - addedTokens.map { it.token.contractAddress }.contains(contract.address) + addedTokens.any { + it.token.contractAddress == contract.address && it.blockchain == contract.blockchain + } } else { addedBlockchains.contains(blockchain) } From 32d1dcf7b70749711f7bf041395c7045ca6a9fe4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 27 Jul 2022 16:10:02 +0300 Subject: [PATCH 10/11] Updated on 2026-08-14 --- .../main/java/com/tangem/tap/MainActivity.kt | 5 ++++ .../NavBarInsetsFragmentLifecycleCallback.kt | 29 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 app/src/main/java/com/tangem/tap/NavBarInsetsFragmentLifecycleCallback.kt diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index b4d66ff10e..4e1c24d3c9 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -91,6 +91,11 @@ class MainActivity : AppCompatActivity(), SnackbarHandler { windowInsetsController.isAppearanceLightStatusBars = true windowInsetsController.isAppearanceLightNavigationBars = true + supportFragmentManager.registerFragmentLifecycleCallbacks( + NavBarInsetsFragmentLifecycleCallback(), + true + ) + requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT } diff --git a/app/src/main/java/com/tangem/tap/NavBarInsetsFragmentLifecycleCallback.kt b/app/src/main/java/com/tangem/tap/NavBarInsetsFragmentLifecycleCallback.kt new file mode 100644 index 0000000000..94177e8463 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/NavBarInsetsFragmentLifecycleCallback.kt @@ -0,0 +1,29 @@ +package com.tangem.tap + +import android.os.Bundle +import android.view.View +import androidx.compose.ui.platform.ComposeView +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updatePadding +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks + +class NavBarInsetsFragmentLifecycleCallback : FragmentLifecycleCallbacks() { + override fun onFragmentViewCreated( + fm: FragmentManager, + f: Fragment, + v: View, + savedInstanceState: Bundle?, + ) { + if (v is ComposeView) return + ViewCompat.setOnApplyWindowInsetsListener(v) { view, windowInsets -> + val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars()) + view.updatePadding( + bottom = insets.bottom, + ) + windowInsets + } + } +} \ No newline at end of file From 6cd6800f2a49125ce976b460395ec98d7b53bdb5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 20 Jul 2022 13:33:47 +0300 Subject: [PATCH 11/11] Updated on 2026-08-14 --- .../tap/common/extensions/Blockchain.kt | 2 ++ .../main/res/drawable/ic_gnosis_no_color.xml | 21 +++++++++++++++++++ app/src/main/res/drawable/ic_gnosis_round.xml | 8 +++++++ dependencies.gradle | 8 +++---- .../domain/common/extensions/Blockchain.kt | 5 ++++- 5 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable/ic_gnosis_no_color.xml create mode 100644 app/src/main/res/drawable/ic_gnosis_round.xml diff --git a/app/src/main/java/com/tangem/tap/common/extensions/Blockchain.kt b/app/src/main/java/com/tangem/tap/common/extensions/Blockchain.kt index 3cb5aa96c8..e2490e7886 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/Blockchain.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/Blockchain.kt @@ -27,6 +27,7 @@ fun Blockchain.getRoundIconRes(): Int { Blockchain.BSC, Blockchain.BSCTestnet, Blockchain.Binance, Blockchain.BinanceTestnet -> R.drawable.ic_bsc_round Blockchain.Dogecoin -> R.drawable.ic_dogecoin_round Blockchain.Tron, Blockchain.TronTestnet -> R.drawable.ic_tron_round + Blockchain.Gnosis -> R.drawable.ic_gnosis_round else -> R.drawable.ic_tangem_logo } } @@ -53,6 +54,7 @@ fun Blockchain.getGreyedOutIconRes(): Int { Blockchain.BSC, Blockchain.BSCTestnet, Blockchain.Binance, Blockchain.BinanceTestnet -> R.drawable.ic_bsc_no_color Blockchain.Dogecoin -> R.drawable.ic_dogecoin_no_color Blockchain.Tron, Blockchain.TronTestnet -> R.drawable.ic_tron_no_color + Blockchain.Gnosis -> R.drawable.ic_gnosis_no_color else -> R.drawable.ic_tangem_logo } } diff --git a/app/src/main/res/drawable/ic_gnosis_no_color.xml b/app/src/main/res/drawable/ic_gnosis_no_color.xml new file mode 100644 index 0000000000..6d1f50695a --- /dev/null +++ b/app/src/main/res/drawable/ic_gnosis_no_color.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_gnosis_round.xml b/app/src/main/res/drawable/ic_gnosis_round.xml new file mode 100644 index 0000000000..8734b7177b --- /dev/null +++ b/app/src/main/res/drawable/ic_gnosis_round.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/dependencies.gradle b/dependencies.gradle index b4a597ff72..e84776b849 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,8 +1,8 @@ ext.versions = [ - kotlin : '1.6.10', - build_gradle : '7.1.3', - tamgem_card_sdk : 'develop-156', - tamgem_blockchain_sdk: 'develop-96', + kotlin : '1.6.10', + build_gradle : '7.1.3', + tamgem_card_sdk : 'develop-156', + tamgem_blockchain_sdk: 'develop-99', ] ext.environmentConfig = [ diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt b/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt index b69ffb1c49..8708f1a0a8 100644 --- a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt +++ b/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt @@ -37,6 +37,7 @@ fun Blockchain.Companion.fromNetworkId(networkId: String): Blockchain? { "tron" -> Blockchain.Tron "tron/test" -> Blockchain.TronTestnet "xrp", "ripple" -> Blockchain.XRP + "xdai" -> Blockchain.Gnosis else -> null } } @@ -78,6 +79,7 @@ fun Blockchain.toNetworkId(): String { Blockchain.XRP -> "xrp" Blockchain.Tron -> "tron" Blockchain.TronTestnet -> "tron/test" + Blockchain.Gnosis -> "xdai" } } @@ -102,6 +104,7 @@ fun Blockchain.toCoinId(): String { Blockchain.XRP -> "ripple" Blockchain.Dogecoin -> "dogecoin" Blockchain.Tron, Blockchain.TronTestnet -> "tron" - else -> "unknown" + Blockchain.Gnosis -> "xdai" + Blockchain.Unknown -> "unknown" } } \ No newline at end of file