diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/IdToValueAssociations.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/IdToValueAssociations.kt index d9b25637a8..446815f766 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/IdToValueAssociations.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/IdToValueAssociations.kt @@ -92,7 +92,7 @@ internal class Helper { fun listOfBlockchain(): List { return mutableListOf( - KeyValue("--- CUSTOM ---", "BTC/test"), + KeyValue("--- CUSTOM ---", ""), KeyValue("BTC", "BTC"), KeyValue("BTC/test", "BTC/test"), KeyValue("ETH", "ETH"), diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/PersonalizeConfigConverter.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/PersonalizeConfigConverter.kt index cfa9636cc5..db6f5442fb 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/PersonalizeConfigConverter.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/PersonalizeConfigConverter.kt @@ -226,8 +226,9 @@ class PersonalizeConfigConverter { tokenDecimal = applyConfig.decimal.toInt() } + val blockchain = if (applyConfig.blockchain.isNotEmpty()) applyConfig.blockchain else applyConfig.blockchainCustom val cardData = CardData( - blockchainName = applyConfig.blockchain, + blockchainName = blockchain, batchId = applyConfig.batchId, productMask = productMask, tokenSymbol = tokenSymbol, diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/dto/PersonalizeConfig.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/dto/PersonalizeConfig.kt index 6edef02cb7..857a85bdd9 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/dto/PersonalizeConfig.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/dto/PersonalizeConfig.kt @@ -13,7 +13,7 @@ class PersonalizeConfig { // Common var curveID = "ed25519" - var blockchain = "BTC" + var blockchain = "BTC/test" var blockchainCustom = "" var MaxSignatures: Long = 100 var createWallet = false diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/impl/item/SpinnerWidget.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/impl/item/SpinnerWidget.kt index 35243b70aa..b6ec1d006c 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/impl/item/SpinnerWidget.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/impl/item/SpinnerWidget.kt @@ -17,20 +17,20 @@ import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf /** [REDACTED_AUTHOR] */ -class SpinnerWidget(parent: ViewGroup, data: ListItem) : DescriptionWidget(parent, data) { +class SpinnerWidget(parent: ViewGroup, listItem: ListItem) : DescriptionWidget(parent, listItem) { override fun getLayoutId(): Int = R.layout.w_personalize_item_spinner + private val data: ListValueWrapper = listItem.getData()!! + private val spItem = view.findViewById(R.id.sp_item) - private val spAdapter = SpItemAdapter(dataItem.viewModel.data?.itemList) + private val spAdapter = SpItemAdapter(data.itemList) private val onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onNothingSelected(parent: AdapterView<*>?) {} override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { - val vmData = dataItem.viewModel.data ?: return - - vmData.selectedItem = vmData.itemList[position] - dataItem.viewModel.updateDataByView(vmData) + data.selectedItem = data.itemList[position] + dataItem.viewModel.updateDataByView(data) } } @@ -38,6 +38,9 @@ class SpinnerWidget(parent: ViewGroup, data: ListItem) : DescriptionWidget(R.id.tv_name) name.setText(getResNameId()) spItem.adapter = spAdapter + spAdapter.getItemPosition(stringOf(data.selectedItem))?.let { + spItem.setSelection(it) + } spItem.onItemSelectedListener = onItemSelectedListener dataItem.viewModel.onDataUpdated = { it?.apply { @@ -81,4 +84,9 @@ class SpItemAdapter(list: List?) : BaseAdapter() { override fun getItemId(position: Int): Long = position.toLong() override fun getCount(): Int = itemList.size + + fun getItemPosition(item: String): Int? { + val kv = itemList.firstOrNull { it.value == item } ?: return null + return itemList.indexOf(kv) + } } \ No newline at end of file