diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/_arch/structure/Ids.kt b/tangem-devkit/src/main/java/com/tangem/devkit/_arch/structure/Ids.kt index e3fcb31dbf..bc05f80fca 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/_arch/structure/Ids.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/_arch/structure/Ids.kt @@ -3,7 +3,15 @@ package com.tangem.devkit._arch.structure /** [REDACTED_AUTHOR] */ -interface Id +interface Id { + + companion object { + fun getTag(id: Id): String { + val className = id.javaClass.simpleName + return if (id is Enum<*>) "$className.${id.name}" else className + } + } +} class StringId(val value: String) : Id diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/_arch/widget/abstraction/ViewWidget.kt b/tangem-devkit/src/main/java/com/tangem/devkit/_arch/widget/abstraction/ViewWidget.kt index 752d178400..e414e89cf7 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/_arch/widget/abstraction/ViewWidget.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/_arch/widget/abstraction/ViewWidget.kt @@ -7,6 +7,7 @@ import android.view.View import android.view.ViewGroup import androidx.annotation.ColorRes import com.tangem.devkit.R +import com.tangem.devkit._arch.structure.Id import com.tangem.devkit._arch.structure.StringId import com.tangem.devkit._arch.structure.StringResId import com.tangem.devkit._arch.structure.abstraction.Item @@ -37,6 +38,7 @@ abstract class BaseViewWidget( init { subscribeToViewStateChanges(item.viewModel.viewState) initViewState(item.viewModel.viewState) + view.tag = Id.getTag(item.id) } protected open fun subscribeToViewStateChanges(viewState: ViewState) { diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/domain/actions/PersonalizeAction.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/domain/actions/PersonalizeAction.kt index b289159d6c..a6ac650824 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/domain/actions/PersonalizeAction.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/domain/actions/PersonalizeAction.kt @@ -9,7 +9,7 @@ import com.tangem.devkit.ucase.domain.paramsManager.ActionCallback import com.tangem.devkit.ucase.domain.paramsManager.PayloadKey import com.tangem.devkit.ucase.tunnel.ActionView import com.tangem.devkit.ucase.tunnel.ItemError -import com.tangem.devkit.ucase.variants.personalize.CardNumber +import com.tangem.devkit.ucase.variants.personalize.CardNumberId import com.tangem.devkit.ucase.variants.personalize.converter.PersonalizationConfigConverter import com.tangem.devkit.ucase.variants.personalize.converter.PersonalizationConfigToCardConfig import com.tangem.devkit.ucase.variants.personalize.dto.DefaultPersonalizationParams @@ -46,7 +46,7 @@ class PersonalizeAction : BaseAction() { } private fun checkSeries(itemList: List): Boolean { - val seriesItem = itemList.findItem(CardNumber.Series) as? EditTextItem ?: return false + val seriesItem = itemList.findItem(CardNumberId.Series) as? EditTextItem ?: return false val data = seriesItem.getData() as? String ?: return false seriesItem.setData(data.toUpperCase()) @@ -54,8 +54,8 @@ class PersonalizeAction : BaseAction() { } private fun checkNumber(itemList: List): Boolean { - val seriesItem = itemList.findItem(CardNumber.Series) as? EditTextItem ?: return false - val numberItem = itemList.findItem(CardNumber.Number) as? NumberItem ?: return false + val seriesItem = itemList.findItem(CardNumberId.Series) as? EditTextItem ?: return false + val numberItem = itemList.findItem(CardNumberId.Number) as? NumberItem ?: return false val seriesData = seriesItem.getData() as? String ?: return false val numberData = stringOf(numberItem.getData() as? Number) diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/resources/initializers/PersonalizationResources.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/resources/initializers/PersonalizationResources.kt index f92eee7e95..76443bf03e 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/resources/initializers/PersonalizationResources.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/resources/initializers/PersonalizationResources.kt @@ -41,94 +41,94 @@ class PersonalizationResources() { } private fun initCardNumber(holder: TypedHolder) { - holder.register(CardNumber.Series, Resources(R.string.pers_item_series, R.string.info_pers_item_series)) - holder.register(CardNumber.Number, Resources(R.string.pers_item_number, R.string.info_pers_item_number)) - holder.register(CardNumber.BatchId, Resources(R.string.pers_item_batch_id, R.string.info_pers_item_batch_id)) + holder.register(CardNumberId.Series, Resources(R.string.pers_item_series, R.string.info_pers_item_series)) + holder.register(CardNumberId.Number, Resources(R.string.pers_item_number, R.string.info_pers_item_number)) + holder.register(CardNumberId.BatchId, Resources(R.string.pers_item_batch_id, R.string.info_pers_item_batch_id)) } private fun initCommon(holder: TypedHolder) { - holder.register(Common.Curve, Resources(R.string.pers_item_curve, R.string.info_pers_item_curve)) - holder.register(Common.Blockchain, Resources(R.string.pers_item_blockchain, R.string.info_pers_item_blockchain)) - holder.register(Common.BlockchainCustom, Resources(R.string.pers_item_custom_blockchain, R.string.info_pers_item_custom_blockchain)) - holder.register(Common.MaxSignatures, Resources(R.string.pers_item_max_signatures, R.string.info_pers_item_max_signatures)) - holder.register(Common.CreateWallet, Resources(R.string.pers_item_create_wallet, R.string.info_pers_item_create_wallet)) + holder.register(CommonId.Curve, Resources(R.string.pers_item_curve, R.string.info_pers_item_curve)) + holder.register(CommonId.Blockchain, Resources(R.string.pers_item_blockchain, R.string.info_pers_item_blockchain)) + holder.register(CommonId.BlockchainCustom, Resources(R.string.pers_item_custom_blockchain, R.string.info_pers_item_custom_blockchain)) + holder.register(CommonId.MaxSignatures, Resources(R.string.pers_item_max_signatures, R.string.info_pers_item_max_signatures)) + holder.register(CommonId.CreateWallet, Resources(R.string.pers_item_create_wallet, R.string.info_pers_item_create_wallet)) } private fun initSigningMethod(holder: TypedHolder) { - holder.register(SigningMethod.SignTx, Resources(R.string.pers_item_sign_tx_hashes, R.string.info_pers_item_sign_tx_hashes)) - holder.register(SigningMethod.SignTxRaw, Resources(R.string.pers_item_sign_raw_tx, R.string.info_pers_item_sign_raw_tx)) - holder.register(SigningMethod.SignValidatedTx, Resources(R.string.pers_item_sign_validated_tx_hashes, R.string.info_pers_item_sign_validated_tx_hashes)) - holder.register(SigningMethod.SignValidatedTxRaw, Resources(R.string.pers_item_sign_validated_raw_tx, R.string.info_pers_item_sign_validated_raw_tx)) - holder.register(SigningMethod.SignValidatedTxIssuer, Resources(R.string.pers_item_sign_validated_tx_hashes_with_iss_data, R.string.info_pers_item_sign_validated_tx_hashes_with_iss_data)) - holder.register(SigningMethod.SignValidatedTxRawIssuer, Resources(R.string.pers_item_sign_validated_raw_tx_with_iss_data, R.string.info_pers_item_sign_validated_raw_tx_with_iss_data)) - holder.register(SigningMethod.SignExternal, Resources(R.string.pers_item_sign_hash_ex, R.string.info_pers_item_sign_hash_ex)) + holder.register(SigningMethodId.SignTx, Resources(R.string.pers_item_sign_tx_hashes, R.string.info_pers_item_sign_tx_hashes)) + holder.register(SigningMethodId.SignTxRaw, Resources(R.string.pers_item_sign_raw_tx, R.string.info_pers_item_sign_raw_tx)) + holder.register(SigningMethodId.SignValidatedTx, Resources(R.string.pers_item_sign_validated_tx_hashes, R.string.info_pers_item_sign_validated_tx_hashes)) + holder.register(SigningMethodId.SignValidatedTxRaw, Resources(R.string.pers_item_sign_validated_raw_tx, R.string.info_pers_item_sign_validated_raw_tx)) + holder.register(SigningMethodId.SignValidatedTxIssuer, Resources(R.string.pers_item_sign_validated_tx_hashes_with_iss_data, R.string.info_pers_item_sign_validated_tx_hashes_with_iss_data)) + holder.register(SigningMethodId.SignValidatedTxRawIssuer, Resources(R.string.pers_item_sign_validated_raw_tx_with_iss_data, R.string.info_pers_item_sign_validated_raw_tx_with_iss_data)) + holder.register(SigningMethodId.SignExternal, Resources(R.string.pers_item_sign_hash_ex, R.string.info_pers_item_sign_hash_ex)) } private fun initSignHashExProp(holder: TypedHolder) { - holder.register(SignHashExProp.PinLessFloorLimit, Resources(R.string.pers_item_pin_less_floor_limit, R.string.info_pers_item_pin_less_floor_limit)) - holder.register(SignHashExProp.CryptoExKey, Resources(R.string.pers_item_cr_ex_key, R.string.info_pers_item_cr_ex_key)) - holder.register(SignHashExProp.RequireTerminalCertSig, Resources(R.string.pers_item_require_terminal_cert_sig, R.string.info_pers_item_require_terminal_cert_sig)) - holder.register(SignHashExProp.RequireTerminalTxSig, Resources(R.string.pers_item_require_terminal_tx_sig, R.string.info_pers_item_require_terminal_tx_sig)) - holder.register(SignHashExProp.CheckPin3, Resources(R.string.pers_item_check_pin3_on_card, R.string.info_pers_item_check_pin3_on_card)) + holder.register(SignHashExPropId.PinLessFloorLimit, Resources(R.string.pers_item_pin_less_floor_limit, R.string.info_pers_item_pin_less_floor_limit)) + holder.register(SignHashExPropId.CryptoExKey, Resources(R.string.pers_item_cr_ex_key, R.string.info_pers_item_cr_ex_key)) + holder.register(SignHashExPropId.RequireTerminalCertSig, Resources(R.string.pers_item_require_terminal_cert_sig, R.string.info_pers_item_require_terminal_cert_sig)) + holder.register(SignHashExPropId.RequireTerminalTxSig, Resources(R.string.pers_item_require_terminal_tx_sig, R.string.info_pers_item_require_terminal_tx_sig)) + holder.register(SignHashExPropId.CheckPin3, Resources(R.string.pers_item_check_pin3_on_card, R.string.info_pers_item_check_pin3_on_card)) } private fun initDenomination(holder: TypedHolder) { - holder.register(Denomination.WriteOnPersonalize, Resources(R.string.pers_item_write_on_personalize, R.string.info_pers_item_write_on_personalize)) - holder.register(Denomination.Denomination, Resources(R.string.pers_item_denomination, R.string.info_pers_item_denomination)) + holder.register(DenominationId.WriteOnPersonalize, Resources(R.string.pers_item_write_on_personalize, R.string.info_pers_item_write_on_personalize)) + holder.register(DenominationId.Denomination, Resources(R.string.pers_item_denomination, R.string.info_pers_item_denomination)) } private fun initToken(holder: TypedHolder) { - holder.register(Token.ItsToken, Resources(R.string.pers_item_its_token, R.string.info_pers_item_its_token)) - holder.register(Token.Symbol, Resources(R.string.pers_item_symbol, R.string.info_pers_item_symbol)) - holder.register(Token.ContractAddress, Resources(R.string.pers_item_contract_address, R.string.info_pers_item_contract_address)) - holder.register(Token.Decimal, Resources(R.string.pers_item_decimal, R.string.info_pers_item_decimal)) + holder.register(TokenId.ItsToken, Resources(R.string.pers_item_its_token, R.string.info_pers_item_its_token)) + holder.register(TokenId.Symbol, Resources(R.string.pers_item_symbol, R.string.info_pers_item_symbol)) + holder.register(TokenId.ContractAddress, Resources(R.string.pers_item_contract_address, R.string.info_pers_item_contract_address)) + holder.register(TokenId.Decimal, Resources(R.string.pers_item_decimal, R.string.info_pers_item_decimal)) } private fun initProductMask(holder: TypedHolder) { - holder.register(ProductMask.Note, Resources(R.string.pers_item_note, R.string.info_pers_item_note)) - holder.register(ProductMask.Tag, Resources(R.string.pers_item_tag, R.string.info_pers_item_tag)) - holder.register(ProductMask.IdCard, Resources(R.string.pers_item_id_card, R.string.info_pers_item_id_card)) - holder.register(ProductMask.IdIssuerCard, Resources(R.string.pers_item_id_issuer_card, R.string.info_pers_item_id_issuer_card)) + holder.register(ProductMaskId.Note, Resources(R.string.pers_item_note, R.string.info_pers_item_note)) + holder.register(ProductMaskId.Tag, Resources(R.string.pers_item_tag, R.string.info_pers_item_tag)) + holder.register(ProductMaskId.IdCard, Resources(R.string.pers_item_id_card, R.string.info_pers_item_id_card)) + holder.register(ProductMaskId.IdIssuerCard, Resources(R.string.pers_item_id_issuer_card, R.string.info_pers_item_id_issuer_card)) } private fun initSettingsMask(holder: TypedHolder) { - holder.register(SettingsMask.IsReusable, Resources(R.string.pers_item_is_reusable, R.string.info_pers_item_is_reusable)) - holder.register(SettingsMask.NeedActivation, Resources(R.string.pers_item_need_activation, R.string.info_pers_item_need_activation)) - holder.register(SettingsMask.ForbidPurge, Resources(R.string.pers_item_forbid_purge, R.string.info_pers_item_forbid_purge)) - holder.register(SettingsMask.AllowSelectBlockchain, Resources(R.string.pers_item_allow_select_blockchain, R.string.info_pers_item_allow_select_blockchain)) - holder.register(SettingsMask.UseBlock, Resources(R.string.pers_item_use_block, R.string.info_pers_item_use_block)) - holder.register(SettingsMask.OneApdu, Resources(R.string.pers_item_one_apdu_at_once, R.string.info_pers_item_one_apdu_at_once)) - holder.register(SettingsMask.UseCvc, Resources(R.string.pers_item_use_cvc, R.string.info_pers_item_use_cvc)) - holder.register(SettingsMask.AllowSwapPin, Resources(R.string.pers_item_allow_swap_pin, R.string.info_pers_item_allow_swap_pin)) - holder.register(SettingsMask.AllowSwapPin2, Resources(R.string.pers_item_allow_swap_pin2, R.string.info_pers_item_allow_swap_pin2)) - holder.register(SettingsMask.ForbidDefaultPin, Resources(R.string.pers_item_forbid_default_pin, R.string.info_pers_item_forbid_default_pin)) - holder.register(SettingsMask.SmartSecurityDelay, Resources(R.string.pers_item_smart_security_delay, R.string.info_pers_item_smart_security_delay)) - holder.register(SettingsMask.ProtectIssuerDataAgainstReplay, Resources(R.string.pers_item_protect_issuer_data_against_replay, R.string.info_pers_item_protect_issuer_data_against_replay)) - holder.register(SettingsMask.SkipSecurityDelayIfValidated, Resources(R.string.pers_item_skip_security_delay_if_validated, R.string.info_pers_item_skip_security_delay_if_validated)) - holder.register(SettingsMask.SkipPin2CvcIfValidated, Resources(R.string.pers_item_skip_pin2_and_cvc_if_validated, R.string.info_pers_item_skip_pin2_and_cvc_if_validated)) - holder.register(SettingsMask.SkipSecurityDelayOnLinkedTerminal, Resources(R.string.pers_item_skip_security_delay_on_linked_terminal, R.string.info_pers_item_skip_security_delay_on_linked_terminal)) - holder.register(SettingsMask.RestrictOverwriteExtraIssuerData, Resources(R.string.pers_item_restrict_overwrite_ex_issuer_data, R.string.info_pers_item_restrict_overwrite_ex_issuer_data)) + holder.register(SettingsMaskId.IsReusable, Resources(R.string.pers_item_is_reusable, R.string.info_pers_item_is_reusable)) + holder.register(SettingsMaskId.NeedActivation, Resources(R.string.pers_item_need_activation, R.string.info_pers_item_need_activation)) + holder.register(SettingsMaskId.ForbidPurge, Resources(R.string.pers_item_forbid_purge, R.string.info_pers_item_forbid_purge)) + holder.register(SettingsMaskId.AllowSelectBlockchain, Resources(R.string.pers_item_allow_select_blockchain, R.string.info_pers_item_allow_select_blockchain)) + holder.register(SettingsMaskId.UseBlock, Resources(R.string.pers_item_use_block, R.string.info_pers_item_use_block)) + holder.register(SettingsMaskId.OneApdu, Resources(R.string.pers_item_one_apdu_at_once, R.string.info_pers_item_one_apdu_at_once)) + holder.register(SettingsMaskId.UseCvc, Resources(R.string.pers_item_use_cvc, R.string.info_pers_item_use_cvc)) + holder.register(SettingsMaskId.AllowSwapPin, Resources(R.string.pers_item_allow_swap_pin, R.string.info_pers_item_allow_swap_pin)) + holder.register(SettingsMaskId.AllowSwapPin2, Resources(R.string.pers_item_allow_swap_pin2, R.string.info_pers_item_allow_swap_pin2)) + holder.register(SettingsMaskId.ForbidDefaultPin, Resources(R.string.pers_item_forbid_default_pin, R.string.info_pers_item_forbid_default_pin)) + holder.register(SettingsMaskId.SmartSecurityDelay, Resources(R.string.pers_item_smart_security_delay, R.string.info_pers_item_smart_security_delay)) + holder.register(SettingsMaskId.ProtectIssuerDataAgainstReplay, Resources(R.string.pers_item_protect_issuer_data_against_replay, R.string.info_pers_item_protect_issuer_data_against_replay)) + holder.register(SettingsMaskId.SkipSecurityDelayIfValidated, Resources(R.string.pers_item_skip_security_delay_if_validated, R.string.info_pers_item_skip_security_delay_if_validated)) + holder.register(SettingsMaskId.SkipPin2CvcIfValidated, Resources(R.string.pers_item_skip_pin2_and_cvc_if_validated, R.string.info_pers_item_skip_pin2_and_cvc_if_validated)) + holder.register(SettingsMaskId.SkipSecurityDelayOnLinkedTerminal, Resources(R.string.pers_item_skip_security_delay_on_linked_terminal, R.string.info_pers_item_skip_security_delay_on_linked_terminal)) + holder.register(SettingsMaskId.RestrictOverwriteExtraIssuerData, Resources(R.string.pers_item_restrict_overwrite_ex_issuer_data, R.string.info_pers_item_restrict_overwrite_ex_issuer_data)) } private fun initSettingsMaskProtocolEnc(holder: TypedHolder) { - holder.register(SettingsMaskProtocolEnc.AllowUnencrypted, Resources(R.string.pers_item_allow_unencrypted, R.string.info_pers_item_allow_unencrypted)) - holder.register(SettingsMaskProtocolEnc.AllowStaticEncryption, Resources(R.string.pers_item_allow_fast_encryption, R.string.info_pers_item_allow_fast_encryption)) + holder.register(SettingsMaskProtocolEncId.AllowUnencrypted, Resources(R.string.pers_item_allow_unencrypted, R.string.info_pers_item_allow_unencrypted)) + holder.register(SettingsMaskProtocolEncId.AllowStaticEncryption, Resources(R.string.pers_item_allow_fast_encryption, R.string.info_pers_item_allow_fast_encryption)) } private fun initSettingsMaskNdef(holder: TypedHolder) { - holder.register(SettingsMaskNdef.UseNdef, Resources(R.string.pers_item_use_ndef, R.string.info_pers_item_use_ndef)) - holder.register(SettingsMaskNdef.DynamicNdef, Resources(R.string.pers_item_dynamic_ndef, R.string.info_pers_item_dynamic_ndef)) - holder.register(SettingsMaskNdef.DisablePrecomputedNdef, Resources(R.string.pers_item_disable_precomputed_ndef, R.string.info_pers_item_disable_precomputed_ndef)) - holder.register(SettingsMaskNdef.Aar, Resources(R.string.pers_item_aar, R.string.info_pers_item_aar)) - holder.register(SettingsMaskNdef.AarCustom, Resources(R.string.pers_item_custom_aar_package_name, R.string.info_pers_item_custom_aar_package_name)) - holder.register(SettingsMaskNdef.Uri, Resources(R.string.pers_item_uri, R.string.info_pers_item_uri)) + holder.register(SettingsMaskNdefId.UseNdef, Resources(R.string.pers_item_use_ndef, R.string.info_pers_item_use_ndef)) + holder.register(SettingsMaskNdefId.DynamicNdef, Resources(R.string.pers_item_dynamic_ndef, R.string.info_pers_item_dynamic_ndef)) + holder.register(SettingsMaskNdefId.DisablePrecomputedNdef, Resources(R.string.pers_item_disable_precomputed_ndef, R.string.info_pers_item_disable_precomputed_ndef)) + holder.register(SettingsMaskNdefId.Aar, Resources(R.string.pers_item_aar, R.string.info_pers_item_aar)) + holder.register(SettingsMaskNdefId.AarCustom, Resources(R.string.pers_item_custom_aar_package_name, R.string.info_pers_item_custom_aar_package_name)) + holder.register(SettingsMaskNdefId.Uri, Resources(R.string.pers_item_uri, R.string.info_pers_item_uri)) } private fun initPins(holder: TypedHolder) { - holder.register(Pins.Pin, Resources(R.string.pers_item_pin, R.string.info_pers_item_pin)) - holder.register(Pins.Pin2, Resources(R.string.pers_item_pin2, R.string.info_pers_item_pin2)) - holder.register(Pins.Pin3, Resources(R.string.pers_item_pin3, R.string.info_pers_item_pin3)) - holder.register(Pins.Cvc, Resources(R.string.pers_item_cvc, R.string.info_pers_item_cvc)) - holder.register(Pins.PauseBeforePin2, Resources(R.string.pers_item_pause_before_pin2, R.string.info_pers_item_pause_before_pin2)) + holder.register(PinsId.Pin, Resources(R.string.pers_item_pin, R.string.info_pers_item_pin)) + holder.register(PinsId.Pin2, Resources(R.string.pers_item_pin2, R.string.info_pers_item_pin2)) + holder.register(PinsId.Pin3, Resources(R.string.pers_item_pin3, R.string.info_pers_item_pin3)) + holder.register(PinsId.Cvc, Resources(R.string.pers_item_cvc, R.string.info_pers_item_cvc)) + holder.register(PinsId.PauseBeforePin2, Resources(R.string.pers_item_pause_before_pin2, R.string.info_pers_item_pause_before_pin2)) } } \ No newline at end of file diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/ui/widgets/ParameterWidget.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/ui/widgets/ParameterWidget.kt index 1187a6d9db..366a99e449 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/ui/widgets/ParameterWidget.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/ui/widgets/ParameterWidget.kt @@ -56,6 +56,7 @@ class ParameterWidget( btnAction.setText(getResNameId(ActionType.Scan)) toggleActionBtnVisibility() initDescriptionWidget() + parent.tag = Id.getTag(typedItem.id) } fun changeParamValue(data: Any?, silent: Boolean = true) { diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/Ids.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/Ids.kt index 2e10c89ab8..cf576d5192 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/Ids.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/Ids.kt @@ -22,13 +22,13 @@ enum class BlockId : PersonalizationId { Pins, } -enum class CardNumber : PersonalizationId { +enum class CardNumberId : PersonalizationId { Series, Number, BatchId, } -enum class Common : PersonalizationId { +enum class CommonId : PersonalizationId { Curve, Blockchain, BlockchainCustom, @@ -36,7 +36,7 @@ enum class Common : PersonalizationId { CreateWallet, } -enum class SigningMethod : PersonalizationId { +enum class SigningMethodId : PersonalizationId { SignTx, SignTxRaw, SignValidatedTx, @@ -46,7 +46,7 @@ enum class SigningMethod : PersonalizationId { SignExternal, } -enum class SignHashExProp : PersonalizationId { +enum class SignHashExPropId : PersonalizationId { PinLessFloorLimit, CryptoExKey, RequireTerminalCertSig, @@ -54,26 +54,26 @@ enum class SignHashExProp : PersonalizationId { CheckPin3, } -enum class Denomination : PersonalizationId { +enum class DenominationId : PersonalizationId { WriteOnPersonalize, Denomination, } -enum class Token : PersonalizationId { +enum class TokenId : PersonalizationId { ItsToken, Symbol, ContractAddress, Decimal } -enum class ProductMask : PersonalizationId { +enum class ProductMaskId : PersonalizationId { Note, Tag, IdCard, IdIssuerCard } -enum class SettingsMask : PersonalizationId { +enum class SettingsMaskId : PersonalizationId { IsReusable, NeedActivation, ForbidPurge, @@ -92,12 +92,12 @@ enum class SettingsMask : PersonalizationId { RestrictOverwriteExtraIssuerData, } -enum class SettingsMaskProtocolEnc : PersonalizationId { +enum class SettingsMaskProtocolEncId : PersonalizationId { AllowUnencrypted, AllowStaticEncryption } -enum class SettingsMaskNdef : PersonalizationId { +enum class SettingsMaskNdefId : PersonalizationId { UseNdef, DynamicNdef, DisablePrecomputedNdef, @@ -106,7 +106,7 @@ enum class SettingsMaskNdef : PersonalizationId { Uri, } -enum class Pins : PersonalizationId { +enum class PinsId : PersonalizationId { Pin, Pin2, Pin3, diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/DefaultValues.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/DefaultValues.kt index bb3edb89e9..93b7841d9c 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/DefaultValues.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/DefaultValues.kt @@ -14,65 +14,65 @@ class ConfigValuesHolder : BaseTypedHolder() { // All registered association values can't be objects fun init(default: PersonalizationConfig) { - register(CardNumber.Series, Value(default.series)) - register(CardNumber.Number, Value(default.startNumber)) - register(CardNumber.BatchId, Value(default.batchId)) - register(Common.Curve, Value(default.curveID, Helper.listOfCurves())) - register(Common.Blockchain, Value(default.blockchain, Helper.listOfBlockchain())) - register(Common.BlockchainCustom, Value(default.blockchainCustom)) - register(Common.MaxSignatures, Value(default.MaxSignatures)) - register(Common.CreateWallet, Value(default.createWallet)) - register(SigningMethod.SignTx, Value(default.SigningMethod0)) - register(SigningMethod.SignTxRaw, Value(default.SigningMethod1)) - register(SigningMethod.SignValidatedTx, Value(default.SigningMethod2)) - register(SigningMethod.SignValidatedTxRaw, Value(default.SigningMethod3)) - register(SigningMethod.SignValidatedTxIssuer, Value(default.SigningMethod4)) - register(SigningMethod.SignValidatedTxRawIssuer, Value(default.SigningMethod5)) - register(SigningMethod.SignExternal, Value(default.SigningMethod6)) - register(SignHashExProp.PinLessFloorLimit, Value(default.pinLessFloorLimit)) - register(SignHashExProp.CryptoExKey, Value(default.hexCrExKey)) - register(SignHashExProp.RequireTerminalCertSig, Value(default.requireTerminalCertSignature)) - register(SignHashExProp.RequireTerminalTxSig, Value(default.requireTerminalTxSignature)) - register(SignHashExProp.CheckPin3, Value(default.checkPIN3onCard)) - register(Denomination.WriteOnPersonalize, Value(default.writeOnPersonalization)) - register(Denomination.Denomination, Value(default.denomination)) - register(Token.ItsToken, Value(default.itsToken)) - register(Token.Symbol, Value(default.symbol)) - register(Token.ContractAddress, Value(default.contractAddress)) - register(Token.Decimal, Value(default.decimal)) - register(ProductMask.Note, Value(default.cardData.product_note)) - register(ProductMask.Tag, Value(default.cardData.product_tag)) - register(ProductMask.IdCard, Value(default.cardData.product_id_card)) - register(ProductMask.IdIssuerCard, Value(default.cardData.product_id_issuer)) - register(SettingsMask.IsReusable, Value(default.isReusable)) - register(SettingsMask.NeedActivation, Value(default.useActivation)) - register(SettingsMask.ForbidPurge, Value(default.forbidPurgeWallet)) - register(SettingsMask.AllowSelectBlockchain, Value(default.allowSelectBlockchain)) - register(SettingsMask.UseBlock, Value(default.useBlock)) - register(SettingsMask.OneApdu, Value(default.oneApdu)) - register(SettingsMask.UseCvc, Value(default.useCVC)) - register(SettingsMask.AllowSwapPin, Value(default.allowSwapPIN)) - register(SettingsMask.AllowSwapPin2, Value(default.allowSwapPIN2)) - register(SettingsMask.ForbidDefaultPin, Value(default.forbidDefaultPIN)) - register(SettingsMask.SmartSecurityDelay, Value(default.smartSecurityDelay)) - register(SettingsMask.ProtectIssuerDataAgainstReplay, Value(default.protectIssuerDataAgainstReplay)) - register(SettingsMask.SkipSecurityDelayIfValidated, Value(default.skipSecurityDelayIfValidatedByIssuer)) - register(SettingsMask.SkipPin2CvcIfValidated, Value(default.skipCheckPIN2andCVCIfValidatedByIssuer)) - register(SettingsMask.SkipSecurityDelayOnLinkedTerminal, Value(default.skipSecurityDelayIfValidatedByLinkedTerminal)) - register(SettingsMask.RestrictOverwriteExtraIssuerData, Value(default.restrictOverwriteIssuerDataEx)) - register(SettingsMaskProtocolEnc.AllowUnencrypted, Value(default.protocolAllowUnencrypted)) - register(SettingsMaskProtocolEnc.AllowStaticEncryption, Value(default.protocolAllowStaticEncryption)) - register(SettingsMaskNdef.UseNdef, Value(default.useNDEF)) - register(SettingsMaskNdef.DynamicNdef, Value(default.useDynamicNDEF)) - register(SettingsMaskNdef.DisablePrecomputedNdef, Value(default.disablePrecomputedNDEF)) - register(SettingsMaskNdef.Aar, Value(default.aar, Helper.aarList())) - register(SettingsMaskNdef.AarCustom, Value(default.aarCustom)) - register(SettingsMaskNdef.Uri, Value(default.uri)) - register(Pins.Pin, Value(default.PIN)) - register(Pins.Pin2, Value(default.PIN2)) - register(Pins.Pin3, Value(default.PIN3)) - register(Pins.Cvc, Value(default.CVC)) - register(Pins.PauseBeforePin2, Value(default.pauseBeforePIN2, Helper.pauseBeforePin())) + register(CardNumberId.Series, Value(default.series)) + register(CardNumberId.Number, Value(default.startNumber)) + register(CardNumberId.BatchId, Value(default.batchId)) + register(CommonId.Curve, Value(default.curveID, Helper.listOfCurves())) + register(CommonId.Blockchain, Value(default.blockchain, Helper.listOfBlockchain())) + register(CommonId.BlockchainCustom, Value(default.blockchainCustom)) + register(CommonId.MaxSignatures, Value(default.MaxSignatures)) + register(CommonId.CreateWallet, Value(default.createWallet)) + register(SigningMethodId.SignTx, Value(default.SigningMethod0)) + register(SigningMethodId.SignTxRaw, Value(default.SigningMethod1)) + register(SigningMethodId.SignValidatedTx, Value(default.SigningMethod2)) + register(SigningMethodId.SignValidatedTxRaw, Value(default.SigningMethod3)) + register(SigningMethodId.SignValidatedTxIssuer, Value(default.SigningMethod4)) + register(SigningMethodId.SignValidatedTxRawIssuer, Value(default.SigningMethod5)) + register(SigningMethodId.SignExternal, Value(default.SigningMethod6)) + register(SignHashExPropId.PinLessFloorLimit, Value(default.pinLessFloorLimit)) + register(SignHashExPropId.CryptoExKey, Value(default.hexCrExKey)) + register(SignHashExPropId.RequireTerminalCertSig, Value(default.requireTerminalCertSignature)) + register(SignHashExPropId.RequireTerminalTxSig, Value(default.requireTerminalTxSignature)) + register(SignHashExPropId.CheckPin3, Value(default.checkPIN3onCard)) + register(DenominationId.WriteOnPersonalize, Value(default.writeOnPersonalization)) + register(DenominationId.Denomination, Value(default.denomination)) + register(TokenId.ItsToken, Value(default.itsToken)) + register(TokenId.Symbol, Value(default.symbol)) + register(TokenId.ContractAddress, Value(default.contractAddress)) + register(TokenId.Decimal, Value(default.decimal)) + register(ProductMaskId.Note, Value(default.cardData.product_note)) + register(ProductMaskId.Tag, Value(default.cardData.product_tag)) + register(ProductMaskId.IdCard, Value(default.cardData.product_id_card)) + register(ProductMaskId.IdIssuerCard, Value(default.cardData.product_id_issuer)) + register(SettingsMaskId.IsReusable, Value(default.isReusable)) + register(SettingsMaskId.NeedActivation, Value(default.useActivation)) + register(SettingsMaskId.ForbidPurge, Value(default.forbidPurgeWallet)) + register(SettingsMaskId.AllowSelectBlockchain, Value(default.allowSelectBlockchain)) + register(SettingsMaskId.UseBlock, Value(default.useBlock)) + register(SettingsMaskId.OneApdu, Value(default.oneApdu)) + register(SettingsMaskId.UseCvc, Value(default.useCVC)) + register(SettingsMaskId.AllowSwapPin, Value(default.allowSwapPIN)) + register(SettingsMaskId.AllowSwapPin2, Value(default.allowSwapPIN2)) + register(SettingsMaskId.ForbidDefaultPin, Value(default.forbidDefaultPIN)) + register(SettingsMaskId.SmartSecurityDelay, Value(default.smartSecurityDelay)) + register(SettingsMaskId.ProtectIssuerDataAgainstReplay, Value(default.protectIssuerDataAgainstReplay)) + register(SettingsMaskId.SkipSecurityDelayIfValidated, Value(default.skipSecurityDelayIfValidatedByIssuer)) + register(SettingsMaskId.SkipPin2CvcIfValidated, Value(default.skipCheckPIN2andCVCIfValidatedByIssuer)) + register(SettingsMaskId.SkipSecurityDelayOnLinkedTerminal, Value(default.skipSecurityDelayIfValidatedByLinkedTerminal)) + register(SettingsMaskId.RestrictOverwriteExtraIssuerData, Value(default.restrictOverwriteIssuerDataEx)) + register(SettingsMaskProtocolEncId.AllowUnencrypted, Value(default.protocolAllowUnencrypted)) + register(SettingsMaskProtocolEncId.AllowStaticEncryption, Value(default.protocolAllowStaticEncryption)) + register(SettingsMaskNdefId.UseNdef, Value(default.useNDEF)) + register(SettingsMaskNdefId.DynamicNdef, Value(default.useDynamicNDEF)) + register(SettingsMaskNdefId.DisablePrecomputedNdef, Value(default.disablePrecomputedNDEF)) + register(SettingsMaskNdefId.Aar, Value(default.aar, Helper.aarList())) + register(SettingsMaskNdefId.AarCustom, Value(default.aarCustom)) + register(SettingsMaskNdefId.Uri, Value(default.uri)) + register(PinsId.Pin, Value(default.PIN)) + register(PinsId.Pin2, Value(default.PIN2)) + register(PinsId.Pin3, Value(default.PIN3)) + register(PinsId.Cvc, Value(default.CVC)) + register(PinsId.PauseBeforePin2, Value(default.pauseBeforePIN2, Helper.pauseBeforePin())) } } diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/ItemTypes.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/ItemTypes.kt index 209036fc03..ff27859e60 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/ItemTypes.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/ItemTypes.kt @@ -11,37 +11,37 @@ class ItemTypes { BlockId.SettingsMaskNdef, BlockId.Pins ) - val listItemList = mutableListOf(Common.Curve, Common.Blockchain, SettingsMaskNdef.Aar, Pins.PauseBeforePin2) + val listItemList = mutableListOf(CommonId.Curve, CommonId.Blockchain, SettingsMaskNdefId.Aar, PinsId.PauseBeforePin2) val boolList = mutableListOf( - Common.CreateWallet, SigningMethod.SignTx, SigningMethod.SignTxRaw, SigningMethod.SignValidatedTx, - SigningMethod.SignValidatedTxRaw, SigningMethod.SignValidatedTxIssuer, - SigningMethod.SignValidatedTxRawIssuer, SigningMethod.SignExternal, SignHashExProp.RequireTerminalCertSig, - SignHashExProp.RequireTerminalTxSig, SignHashExProp.CheckPin3, Denomination.WriteOnPersonalize, Token.ItsToken, - ProductMask.Note, ProductMask.Tag, ProductMask.IdCard, ProductMask.IdIssuerCard, SettingsMask.IsReusable, SettingsMask.NeedActivation, - SettingsMask.ForbidPurge, SettingsMask.AllowSelectBlockchain, SettingsMask.UseBlock, SettingsMask.OneApdu, - SettingsMask.UseCvc, SettingsMask.AllowSwapPin, SettingsMask.AllowSwapPin2, SettingsMask.ForbidDefaultPin, - SettingsMask.SmartSecurityDelay, SettingsMask.ProtectIssuerDataAgainstReplay, - SettingsMask.SkipSecurityDelayIfValidated, SettingsMask.SkipPin2CvcIfValidated, - SettingsMask.SkipSecurityDelayOnLinkedTerminal, SettingsMask.RestrictOverwriteExtraIssuerData, - SettingsMaskProtocolEnc.AllowUnencrypted, SettingsMaskProtocolEnc.AllowStaticEncryption, - SettingsMaskNdef.UseNdef, SettingsMaskNdef.DynamicNdef, SettingsMaskNdef.DisablePrecomputedNdef + CommonId.CreateWallet, SigningMethodId.SignTx, SigningMethodId.SignTxRaw, SigningMethodId.SignValidatedTx, + SigningMethodId.SignValidatedTxRaw, SigningMethodId.SignValidatedTxIssuer, + SigningMethodId.SignValidatedTxRawIssuer, SigningMethodId.SignExternal, SignHashExPropId.RequireTerminalCertSig, + SignHashExPropId.RequireTerminalTxSig, SignHashExPropId.CheckPin3, DenominationId.WriteOnPersonalize, TokenId.ItsToken, + ProductMaskId.Note, ProductMaskId.Tag, ProductMaskId.IdCard, ProductMaskId.IdIssuerCard, SettingsMaskId.IsReusable, SettingsMaskId.NeedActivation, + SettingsMaskId.ForbidPurge, SettingsMaskId.AllowSelectBlockchain, SettingsMaskId.UseBlock, SettingsMaskId.OneApdu, + SettingsMaskId.UseCvc, SettingsMaskId.AllowSwapPin, SettingsMaskId.AllowSwapPin2, SettingsMaskId.ForbidDefaultPin, + SettingsMaskId.SmartSecurityDelay, SettingsMaskId.ProtectIssuerDataAgainstReplay, + SettingsMaskId.SkipSecurityDelayIfValidated, SettingsMaskId.SkipPin2CvcIfValidated, + SettingsMaskId.SkipSecurityDelayOnLinkedTerminal, SettingsMaskId.RestrictOverwriteExtraIssuerData, + SettingsMaskProtocolEncId.AllowUnencrypted, SettingsMaskProtocolEncId.AllowStaticEncryption, + SettingsMaskNdefId.UseNdef, SettingsMaskNdefId.DynamicNdef, SettingsMaskNdefId.DisablePrecomputedNdef ) val editTextList = mutableListOf( - CardNumber.Series, CardNumber.BatchId, Common.BlockchainCustom, SignHashExProp.CryptoExKey, Token.Symbol, - Token.ContractAddress, Pins.Pin, Pins.Pin2, Pins.Pin3, Pins.Cvc, SettingsMaskNdef.AarCustom, SettingsMaskNdef.Uri + CardNumberId.Series, CardNumberId.BatchId, CommonId.BlockchainCustom, SignHashExPropId.CryptoExKey, TokenId.Symbol, + TokenId.ContractAddress, PinsId.Pin, PinsId.Pin2, PinsId.Pin3, PinsId.Cvc, SettingsMaskNdefId.AarCustom, SettingsMaskNdefId.Uri ) val numberList = mutableListOf( - CardNumber.Number, Common.MaxSignatures, SignHashExProp.PinLessFloorLimit, Denomination.Denomination, Token.Decimal + CardNumberId.Number, CommonId.MaxSignatures, SignHashExPropId.PinLessFloorLimit, DenominationId.Denomination, TokenId.Decimal ) val hiddenList = mutableListOf( - CardNumber.Series, CardNumber.BatchId, Pins.Pin3, SigningMethod.SignExternal, - SignHashExProp.CryptoExKey, SignHashExProp.CheckPin3, SettingsMask.OneApdu, - SettingsMask.UseBlock, SettingsMask.ProtectIssuerDataAgainstReplay, - SignHashExProp.RequireTerminalCertSig, SignHashExProp.RequireTerminalTxSig + CardNumberId.Series, CardNumberId.BatchId, PinsId.Pin3, SigningMethodId.SignExternal, + SignHashExPropId.CryptoExKey, SignHashExPropId.CheckPin3, SettingsMaskId.OneApdu, + SettingsMaskId.UseBlock, SettingsMaskId.ProtectIssuerDataAgainstReplay, + SignHashExPropId.RequireTerminalCertSig, SignHashExPropId.RequireTerminalTxSig ) val oftenUsedList = listOf( @@ -56,11 +56,11 @@ class ItemTypes { // BlockId.SettingsMaskProtocolEnc, BlockId.SettingsMaskNdef, // BlockId.Pins, - Common.Curve, - Common.Blockchain, - Common.BlockchainCustom, + CommonId.Curve, + CommonId.Blockchain, + CommonId.BlockchainCustom, // Common.MaxSignatures, - Common.CreateWallet, + CommonId.CreateWallet, // SigningMethod.SignTx, // SigningMethod.SignTxRaw, // SigningMethod.SignValidatedTx, @@ -79,10 +79,10 @@ class ItemTypes { // Token.Symbol, // Token.ContractAddress, // Token.Decimal, - ProductMask.Note, - ProductMask.Tag, - ProductMask.IdCard, - ProductMask.IdIssuerCard, + ProductMaskId.Note, + ProductMaskId.Tag, + ProductMaskId.IdCard, + ProductMaskId.IdIssuerCard, // SettingsMask.IsReusable, // SettingsMask.NeedActivation, // SettingsMask.ForbidPurge, @@ -104,14 +104,14 @@ class ItemTypes { // SettingsMaskNdef.UseNdef, // SettingsMaskNdef.DynamicNdef, // SettingsMaskNdef.DisablePrecomputedNdef, - SettingsMaskNdef.Aar, - SettingsMaskNdef.AarCustom, - SettingsMaskNdef.Uri, + SettingsMaskNdefId.Aar, + SettingsMaskNdefId.AarCustom, + SettingsMaskNdefId.Uri, // Pins.Pin, // Pins.Pin2, // Pins.Pin3, // Pins.Cvc, - Pins.PauseBeforePin2 + PinsId.PauseBeforePin2 ) } diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/PersonalizationConfigConverter.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/PersonalizationConfigConverter.kt index c2c6810da3..9298ef1eca 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/PersonalizationConfigConverter.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/converter/PersonalizationConfigConverter.kt @@ -50,65 +50,65 @@ class ItemsToPersonalizationConfig : ItemsToModel { private fun createModel(): PersonalizationConfig { val export = PersonalizationConfig() - export.series = getTyped(CardNumber.Series) - export.startNumber = getTyped(CardNumber.Number) - export.batchId = getTyped(CardNumber.BatchId) - export.curveID = getTyped(Common.Curve) - export.blockchain = getTyped(Common.Blockchain) - export.blockchainCustom = getTyped(Common.BlockchainCustom) - export.MaxSignatures = getTyped(Common.MaxSignatures) - export.createWallet = getTyped(Common.CreateWallet) - export.SigningMethod0 = getTyped(SigningMethod.SignTx) - export.SigningMethod1 = getTyped(SigningMethod.SignTxRaw) - export.SigningMethod2 = getTyped(SigningMethod.SignValidatedTx) - export.SigningMethod3 = getTyped(SigningMethod.SignValidatedTxRaw) - export.SigningMethod4 = getTyped(SigningMethod.SignValidatedTxIssuer) - export.SigningMethod5 = getTyped(SigningMethod.SignValidatedTxRawIssuer) - export.SigningMethod6 = getTyped(SigningMethod.SignExternal) - export.pinLessFloorLimit = getTyped(SignHashExProp.PinLessFloorLimit) - export.hexCrExKey = getTyped(SignHashExProp.CryptoExKey) - export.requireTerminalCertSignature = getTyped(SignHashExProp.RequireTerminalCertSig) - export.requireTerminalTxSignature = getTyped(SignHashExProp.RequireTerminalTxSig) - export.checkPIN3onCard = getTyped(SignHashExProp.CheckPin3) - export.writeOnPersonalization = getTyped(Denomination.WriteOnPersonalize) - export.denomination = getTyped(Denomination.Denomination) - export.itsToken = getTyped(Token.ItsToken) - export.symbol = getTyped(Token.Symbol) - export.contractAddress = getTyped(Token.ContractAddress) - export.decimal = getTyped(Token.Decimal) - export.cardData = export.cardData.apply { this.product_note = getTyped(ProductMask.Note) } - export.cardData = export.cardData.apply { this.product_tag = getTyped(ProductMask.Tag) } - export.cardData = export.cardData.apply { this.product_id_card = getTyped(ProductMask.IdCard) } - export.cardData = export.cardData.apply { this.product_id_issuer = getTyped(ProductMask.IdIssuerCard) } - export.isReusable = getTyped(SettingsMask.IsReusable) - export.useActivation = getTyped(SettingsMask.NeedActivation) - export.forbidPurgeWallet = getTyped(SettingsMask.ForbidPurge) - export.allowSelectBlockchain = getTyped(SettingsMask.AllowSelectBlockchain) - export.useBlock = getTyped(SettingsMask.UseBlock) - export.oneApdu = getTyped(SettingsMask.OneApdu) - export.useCVC = getTyped(SettingsMask.UseCvc) - export.allowSwapPIN = getTyped(SettingsMask.AllowSwapPin) - export.allowSwapPIN2 = getTyped(SettingsMask.AllowSwapPin2) - export.forbidDefaultPIN = getTyped(SettingsMask.ForbidDefaultPin) - export.smartSecurityDelay = getTyped(SettingsMask.SmartSecurityDelay) - export.protectIssuerDataAgainstReplay = getTyped(SettingsMask.ProtectIssuerDataAgainstReplay) - export.skipSecurityDelayIfValidatedByIssuer = getTyped(SettingsMask.SkipSecurityDelayIfValidated) - export.skipCheckPIN2andCVCIfValidatedByIssuer = getTyped(SettingsMask.SkipPin2CvcIfValidated) - export.skipSecurityDelayIfValidatedByLinkedTerminal = getTyped(SettingsMask.SkipSecurityDelayOnLinkedTerminal) - export.restrictOverwriteIssuerDataEx = getTyped(SettingsMask.RestrictOverwriteExtraIssuerData) - export.protocolAllowUnencrypted = getTyped(SettingsMaskProtocolEnc.AllowUnencrypted) - export.protocolAllowStaticEncryption = getTyped(SettingsMaskProtocolEnc.AllowStaticEncryption) - export.useNDEF = getTyped(SettingsMaskNdef.UseNdef) - export.useDynamicNDEF = getTyped(SettingsMaskNdef.DynamicNdef) - export.disablePrecomputedNDEF = getTyped(SettingsMaskNdef.DisablePrecomputedNdef) - export.aar = getTyped(SettingsMaskNdef.Aar) - export.aarCustom = getTyped(SettingsMaskNdef.AarCustom) - export.uri = getTyped(SettingsMaskNdef.Uri) - export.PIN = getTyped(Pins.Pin) - export.PIN2 = getTyped(Pins.Pin2) - export.PIN3 = getTyped(Pins.Pin3) - export.CVC = getTyped(Pins.Cvc) - export.pauseBeforePIN2 = getTyped(Pins.PauseBeforePin2) + export.series = getTyped(CardNumberId.Series) + export.startNumber = getTyped(CardNumberId.Number) + export.batchId = getTyped(CardNumberId.BatchId) + export.curveID = getTyped(CommonId.Curve) + export.blockchain = getTyped(CommonId.Blockchain) + export.blockchainCustom = getTyped(CommonId.BlockchainCustom) + export.MaxSignatures = getTyped(CommonId.MaxSignatures) + export.createWallet = getTyped(CommonId.CreateWallet) + export.SigningMethod0 = getTyped(SigningMethodId.SignTx) + export.SigningMethod1 = getTyped(SigningMethodId.SignTxRaw) + export.SigningMethod2 = getTyped(SigningMethodId.SignValidatedTx) + export.SigningMethod3 = getTyped(SigningMethodId.SignValidatedTxRaw) + export.SigningMethod4 = getTyped(SigningMethodId.SignValidatedTxIssuer) + export.SigningMethod5 = getTyped(SigningMethodId.SignValidatedTxRawIssuer) + export.SigningMethod6 = getTyped(SigningMethodId.SignExternal) + export.pinLessFloorLimit = getTyped(SignHashExPropId.PinLessFloorLimit) + export.hexCrExKey = getTyped(SignHashExPropId.CryptoExKey) + export.requireTerminalCertSignature = getTyped(SignHashExPropId.RequireTerminalCertSig) + export.requireTerminalTxSignature = getTyped(SignHashExPropId.RequireTerminalTxSig) + export.checkPIN3onCard = getTyped(SignHashExPropId.CheckPin3) + export.writeOnPersonalization = getTyped(DenominationId.WriteOnPersonalize) + export.denomination = getTyped(DenominationId.Denomination) + export.itsToken = getTyped(TokenId.ItsToken) + export.symbol = getTyped(TokenId.Symbol) + export.contractAddress = getTyped(TokenId.ContractAddress) + export.decimal = getTyped(TokenId.Decimal) + export.cardData = export.cardData.apply { this.product_note = getTyped(ProductMaskId.Note) } + export.cardData = export.cardData.apply { this.product_tag = getTyped(ProductMaskId.Tag) } + export.cardData = export.cardData.apply { this.product_id_card = getTyped(ProductMaskId.IdCard) } + export.cardData = export.cardData.apply { this.product_id_issuer = getTyped(ProductMaskId.IdIssuerCard) } + export.isReusable = getTyped(SettingsMaskId.IsReusable) + export.useActivation = getTyped(SettingsMaskId.NeedActivation) + export.forbidPurgeWallet = getTyped(SettingsMaskId.ForbidPurge) + export.allowSelectBlockchain = getTyped(SettingsMaskId.AllowSelectBlockchain) + export.useBlock = getTyped(SettingsMaskId.UseBlock) + export.oneApdu = getTyped(SettingsMaskId.OneApdu) + export.useCVC = getTyped(SettingsMaskId.UseCvc) + export.allowSwapPIN = getTyped(SettingsMaskId.AllowSwapPin) + export.allowSwapPIN2 = getTyped(SettingsMaskId.AllowSwapPin2) + export.forbidDefaultPIN = getTyped(SettingsMaskId.ForbidDefaultPin) + export.smartSecurityDelay = getTyped(SettingsMaskId.SmartSecurityDelay) + export.protectIssuerDataAgainstReplay = getTyped(SettingsMaskId.ProtectIssuerDataAgainstReplay) + export.skipSecurityDelayIfValidatedByIssuer = getTyped(SettingsMaskId.SkipSecurityDelayIfValidated) + export.skipCheckPIN2andCVCIfValidatedByIssuer = getTyped(SettingsMaskId.SkipPin2CvcIfValidated) + export.skipSecurityDelayIfValidatedByLinkedTerminal = getTyped(SettingsMaskId.SkipSecurityDelayOnLinkedTerminal) + export.restrictOverwriteIssuerDataEx = getTyped(SettingsMaskId.RestrictOverwriteExtraIssuerData) + export.protocolAllowUnencrypted = getTyped(SettingsMaskProtocolEncId.AllowUnencrypted) + export.protocolAllowStaticEncryption = getTyped(SettingsMaskProtocolEncId.AllowStaticEncryption) + export.useNDEF = getTyped(SettingsMaskNdefId.UseNdef) + export.useDynamicNDEF = getTyped(SettingsMaskNdefId.DynamicNdef) + export.disablePrecomputedNDEF = getTyped(SettingsMaskNdefId.DisablePrecomputedNdef) + export.aar = getTyped(SettingsMaskNdefId.Aar) + export.aarCustom = getTyped(SettingsMaskNdefId.AarCustom) + export.uri = getTyped(SettingsMaskNdefId.Uri) + export.PIN = getTyped(PinsId.Pin) + export.PIN2 = getTyped(PinsId.Pin2) + export.PIN3 = getTyped(PinsId.Pin3) + export.CVC = getTyped(PinsId.Cvc) + export.pauseBeforePIN2 = getTyped(PinsId.PauseBeforePin2) return export } @@ -138,14 +138,14 @@ class PersonalizationConfigToItems : ModelToItems { blocList.add(cardNumber()) blocList.add(common()) blocList.add(signingMethod()) - blocList.add(signHashExProperties()) - blocList.add(denomination()) - blocList.add(token()) - blocList.add(productMask()) - blocList.add(settingsMask()) - blocList.add(settingsMaskProtocolEnc()) - blocList.add(settingsMaskNdef()) - blocList.add(pins()) +// blocList.add(signHashExProperties()) +// blocList.add(denomination()) +// blocList.add(token()) +// blocList.add(productMask()) +// blocList.add(settingsMask()) +// blocList.add(settingsMaskProtocolEnc()) +// blocList.add(settingsMaskNdef()) +// blocList.add(pins()) blocList.iterate { if (itemTypes.hiddenList.contains(it.id)) { it.viewModel.viewState.isVisibleState.value = false @@ -157,9 +157,9 @@ class PersonalizationConfigToItems : ModelToItems { private fun cardNumber(): ItemGroup { val block = createGroup(BlockId.CardNumber) mutableListOf( - CardNumber.Series, - CardNumber.Number, - CardNumber.BatchId + CardNumberId.Series, + CardNumberId.Number, + CardNumberId.BatchId ).forEach { createItem(block, it as Id) } return block } @@ -167,12 +167,12 @@ class PersonalizationConfigToItems : ModelToItems { private fun common(): ItemGroup { val block = createGroup(BlockId.Common) mutableListOf( - Common.Blockchain, - Common.BlockchainCustom, - Common.Curve, - Common.MaxSignatures, - Common.CreateWallet, - Pins.PauseBeforePin2 + CommonId.Blockchain, + CommonId.BlockchainCustom, + CommonId.Curve, + CommonId.MaxSignatures, + CommonId.CreateWallet, + PinsId.PauseBeforePin2 ).forEach { createItem(block, it as Id) } return block } @@ -180,13 +180,13 @@ class PersonalizationConfigToItems : ModelToItems { private fun signingMethod(): ItemGroup { val block = createGroup(BlockId.SigningMethod) mutableListOf( - SigningMethod.SignTx, - SigningMethod.SignTxRaw, - SigningMethod.SignValidatedTx, - SigningMethod.SignValidatedTxRaw, - SigningMethod.SignValidatedTxIssuer, - SigningMethod.SignValidatedTxRawIssuer, - SigningMethod.SignExternal + SigningMethodId.SignTx, + SigningMethodId.SignTxRaw, + SigningMethodId.SignValidatedTx, + SigningMethodId.SignValidatedTxRaw, + SigningMethodId.SignValidatedTxIssuer, + SigningMethodId.SignValidatedTxRawIssuer, + SigningMethodId.SignExternal ).forEach { createItem(block, it) } return block } @@ -194,11 +194,11 @@ class PersonalizationConfigToItems : ModelToItems { private fun signHashExProperties(): ItemGroup { val block = createGroup(BlockId.SignHashExProp) mutableListOf( - SignHashExProp.PinLessFloorLimit, - SignHashExProp.CryptoExKey, - SignHashExProp.RequireTerminalCertSig, - SignHashExProp.RequireTerminalTxSig, - SignHashExProp.CheckPin3 + SignHashExPropId.PinLessFloorLimit, + SignHashExPropId.CryptoExKey, + SignHashExPropId.RequireTerminalCertSig, + SignHashExPropId.RequireTerminalTxSig, + SignHashExPropId.CheckPin3 ).forEach { createItem(block, it) } return block } @@ -206,8 +206,8 @@ class PersonalizationConfigToItems : ModelToItems { private fun denomination(): ItemGroup { val block = createGroup(BlockId.Denomination) mutableListOf( - Denomination.WriteOnPersonalize, - Denomination.Denomination + DenominationId.WriteOnPersonalize, + DenominationId.Denomination ).forEach { createItem(block, it) } return block } @@ -215,10 +215,10 @@ class PersonalizationConfigToItems : ModelToItems { private fun token(): ItemGroup { val block = createGroup(BlockId.Token) mutableListOf( - Token.ItsToken, - Token.Symbol, - Token.ContractAddress, - Token.Decimal + TokenId.ItsToken, + TokenId.Symbol, + TokenId.ContractAddress, + TokenId.Decimal ).forEach { createItem(block, it) } return block } @@ -226,10 +226,10 @@ class PersonalizationConfigToItems : ModelToItems { private fun productMask(): ItemGroup { val block = createGroup(BlockId.ProdMask) mutableListOf( - ProductMask.Note, - ProductMask.Tag, - ProductMask.IdCard, - ProductMask.IdIssuerCard + ProductMaskId.Note, + ProductMaskId.Tag, + ProductMaskId.IdCard, + ProductMaskId.IdIssuerCard ).forEach { createItem(block, it) } return block } @@ -237,22 +237,22 @@ class PersonalizationConfigToItems : ModelToItems { private fun settingsMask(): ItemGroup { val block = createGroup(BlockId.SettingsMask) mutableListOf( - SettingsMask.IsReusable, - SettingsMask.NeedActivation, - SettingsMask.ForbidPurge, - SettingsMask.AllowSelectBlockchain, - SettingsMask.UseBlock, - SettingsMask.OneApdu, - SettingsMask.UseCvc, - SettingsMask.AllowSwapPin, - SettingsMask.AllowSwapPin2, - SettingsMask.ForbidDefaultPin, - SettingsMask.SmartSecurityDelay, - SettingsMask.ProtectIssuerDataAgainstReplay, - SettingsMask.SkipSecurityDelayIfValidated, - SettingsMask.SkipPin2CvcIfValidated, - SettingsMask.SkipSecurityDelayOnLinkedTerminal, - SettingsMask.RestrictOverwriteExtraIssuerData + SettingsMaskId.IsReusable, + SettingsMaskId.NeedActivation, + SettingsMaskId.ForbidPurge, + SettingsMaskId.AllowSelectBlockchain, + SettingsMaskId.UseBlock, + SettingsMaskId.OneApdu, + SettingsMaskId.UseCvc, + SettingsMaskId.AllowSwapPin, + SettingsMaskId.AllowSwapPin2, + SettingsMaskId.ForbidDefaultPin, + SettingsMaskId.SmartSecurityDelay, + SettingsMaskId.ProtectIssuerDataAgainstReplay, + SettingsMaskId.SkipSecurityDelayIfValidated, + SettingsMaskId.SkipPin2CvcIfValidated, + SettingsMaskId.SkipSecurityDelayOnLinkedTerminal, + SettingsMaskId.RestrictOverwriteExtraIssuerData ).forEach { createItem(block, it) } return block } @@ -260,8 +260,8 @@ class PersonalizationConfigToItems : ModelToItems { private fun settingsMaskProtocolEnc(): ItemGroup { val block = createGroup(BlockId.SettingsMaskProtocolEnc) mutableListOf( - SettingsMaskProtocolEnc.AllowUnencrypted, - SettingsMaskProtocolEnc.AllowStaticEncryption + SettingsMaskProtocolEncId.AllowUnencrypted, + SettingsMaskProtocolEncId.AllowStaticEncryption ).forEach { createItem(block, it) } return block } @@ -269,12 +269,12 @@ class PersonalizationConfigToItems : ModelToItems { private fun settingsMaskNdef(): ItemGroup { val block = createGroup(BlockId.SettingsMaskNdef) mutableListOf( - SettingsMaskNdef.UseNdef, - SettingsMaskNdef.DynamicNdef, - SettingsMaskNdef.DisablePrecomputedNdef, - SettingsMaskNdef.Aar, - SettingsMaskNdef.AarCustom, - SettingsMaskNdef.Uri + SettingsMaskNdefId.UseNdef, + SettingsMaskNdefId.DynamicNdef, + SettingsMaskNdefId.DisablePrecomputedNdef, + SettingsMaskNdefId.Aar, + SettingsMaskNdefId.AarCustom, + SettingsMaskNdefId.Uri ).forEach { createItem(block, it) } return block } @@ -282,10 +282,10 @@ class PersonalizationConfigToItems : ModelToItems { private fun pins(): ItemGroup { val block = createGroup(BlockId.Pins) mutableListOf( - Pins.Pin, - Pins.Pin2, - Pins.Pin3, - Pins.Cvc + PinsId.Pin, + PinsId.Pin2, + PinsId.Pin3, + PinsId.Cvc ).forEach { createItem(block, it) } return block } diff --git a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/ui/widgets/NumberWidget.kt b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/ui/widgets/NumberWidget.kt index 2fef1e296f..340e1c3ce5 100644 --- a/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/ui/widgets/NumberWidget.kt +++ b/tangem-devkit/src/main/java/com/tangem/devkit/ucase/variants/personalize/ui/widgets/NumberWidget.kt @@ -8,7 +8,7 @@ import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout import com.tangem.devkit.R import com.tangem.devkit._arch.structure.impl.NumberItem -import com.tangem.devkit.ucase.variants.personalize.CardNumber +import com.tangem.devkit.ucase.variants.personalize.CardNumberId import ru.dev.gbixahue.eu4d.lib.android._android.views.addInputFilter import ru.dev.gbixahue.eu4d.lib.android._android.views.moveCursorToEnd import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf @@ -39,7 +39,7 @@ class NumberWidget( tilItem.hint = getName() //TODO: remove from Widget - if (item.id == CardNumber.Number) etItem.addInputFilter(InputFilter.LengthFilter(13)) + if (item.id == CardNumberId.Number) etItem.addInputFilter(InputFilter.LengthFilter(13)) etItem.setText(stringOf(typedItem.getTypedData())) etItem.addTextChangedListener(watcher)