Updated on 2026-08-14

This commit is contained in:
Tangem 2025-12-05 15:25:35 +07:00
parent 1bae7d2277
commit bc174f2f06
2 changed files with 15 additions and 8 deletions

View file

@ -1,15 +1,10 @@
package com.tangem.features.account.createedit.ui
import android.content.res.Configuration
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@ -188,7 +183,7 @@ private fun AccountColor(colorsState: AccountCreateEditUM.Colors) {
modifier = Modifier
.fillMaxWidth()
.padding(contentPadding),
horizontalArrangement = Arrangement.spacedBy(4.dp),
horizontalArrangement = Arrangement.spacedBy(4.dp, Alignment.CenterHorizontally),
) {
colorsState.list.fastForEach { color ->
val isSelected = color == colorsState.selected
@ -238,6 +233,7 @@ private fun AccountIcons(iconsState: AccountCreateEditUM.Icons) {
FlowRow(
maxItemsInEachRow = 6,
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.Center,
) {
iconsState.list.fastForEachIndexed { index, icon ->
val isSelected = icon == iconsState.selected

View file

@ -28,7 +28,7 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) {
// region Ethereum-like blockchains
blockchain == Blockchain.Tezos -> ACCOUNT_NODE_INDEX
blockchain == Blockchain.Quai -> ACCOUNT_NODE_INDEX
blockchain.isEvm() -> ADDRESS_INDEX_NODE_INDEX
blockchain.isEvm() && derivationPath.isEthDerivation() -> ADDRESS_INDEX_NODE_INDEX
// endregion
blockchain.isUTXO -> ACCOUNT_NODE_INDEX
else -> ACCOUNT_NODE_INDEX
@ -75,6 +75,13 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) {
.getOrNull()
}
private fun DerivationPath.isEthDerivation(): Boolean {
fun getIndex(nodeIndex: Int) = nodes.getOrNull(nodeIndex)?.getIndex(false)
return getIndex(FIRST_NODE_INDEX) == ETH_FIRST_NODE_VALUE &&
getIndex(SECOND_NODE_INDEX) == ETH_SECOND_NODE_VALUE
}
@Suppress("LongMethod")
private fun Blockchain.isAccountsSupported(): Boolean {
return when (this) {
@ -253,5 +260,9 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) {
private companion object {
const val ACCOUNT_NODE_INDEX = 2
const val ADDRESS_INDEX_NODE_INDEX = 4
const val FIRST_NODE_INDEX = 0
const val ETH_FIRST_NODE_VALUE = 44L
const val SECOND_NODE_INDEX = 1
const val ETH_SECOND_NODE_VALUE = 60L
}
}