Updated on 2026-08-14
This commit is contained in:
parent
c8efa7cba3
commit
a11c157178
6 changed files with 376 additions and 361 deletions
|
|
@ -5,109 +5,6 @@ package com.tangem.tangemtest._arch.structure
|
|||
*/
|
||||
interface Id
|
||||
|
||||
enum class BlockId : Id {
|
||||
CARD_NUMBER,
|
||||
COMMON,
|
||||
SIGNING_METHOD,
|
||||
SIGN_HASH_EX_PROP,
|
||||
DENOMINATION,
|
||||
TOKEN,
|
||||
PROD_MASK,
|
||||
SETTINGS_MASK,
|
||||
SETTINGS_MASK_PROTOCOL_ENC,
|
||||
SETTINGS_MASK_NDEF,
|
||||
PINS,
|
||||
}
|
||||
|
||||
enum class CardNumber : Id {
|
||||
SERIES,
|
||||
NUMBER,
|
||||
}
|
||||
|
||||
enum class Common : Id {
|
||||
CURVE,
|
||||
BLOCKCHAIN,
|
||||
BLOCKCHAIN_CUSTOM,
|
||||
MAX_SIGNATURES,
|
||||
CREATE_WALLET,
|
||||
}
|
||||
|
||||
enum class SigningMethod : Id {
|
||||
SIGN_TX,
|
||||
SIGN_TX_RAW,
|
||||
SIGN_VALIDATED_TX,
|
||||
SIGN_VALIDATED_TX_RAW,
|
||||
SIGN_VALIDATED_TX_ISSUER,
|
||||
SIGN_VALIDATED_TX_RAW_ISSUER,
|
||||
SIGN_EXTERNAL,
|
||||
}
|
||||
|
||||
enum class SignHashExProp : Id {
|
||||
PIN_LESS_FLOOR_LIMIT,
|
||||
CRYPTO_EXTRACT_KEY,
|
||||
REQUIRE_TERMINAL_CERT_SIG,
|
||||
REQUIRE_TERMINAL_TX_SIG,
|
||||
CHECK_PIN3,
|
||||
}
|
||||
|
||||
enum class Denomination : Id {
|
||||
WRITE_ON_PERSONALIZE,
|
||||
DENOMINATION,
|
||||
}
|
||||
|
||||
enum class Token : Id {
|
||||
ITS_TOKEN,
|
||||
SYMBOL,
|
||||
CONTRACT_ADDRESS,
|
||||
DECIMAL
|
||||
}
|
||||
|
||||
enum class ProductMask : Id {
|
||||
NOTE,
|
||||
TAG,
|
||||
ID_CARD
|
||||
}
|
||||
|
||||
enum class SettingsMask : Id {
|
||||
IS_REUSABLE,
|
||||
NEED_ACTIVATION,
|
||||
FORBID_PURGE,
|
||||
ALLOW_SELECT_BLOCKCHAIN,
|
||||
USE_BLOCK,
|
||||
ONE_APDU,
|
||||
USE_CVC,
|
||||
ALLOW_SWAP_PIN,
|
||||
ALLOW_SWAP_PIN2,
|
||||
FORBID_DEFAULT_PIN,
|
||||
SMART_SECURITY_DELAY,
|
||||
PROTECT_ISSUER_DATA_AGAINST_REPLAY,
|
||||
SKIP_SECURITY_DELAY_IF_VALIDATED,
|
||||
SKIP_PIN2_CVC_IF_VALIDATED,
|
||||
SKIP_SECURITY_DELAY_ON_LINKED_TERMINAL,
|
||||
RESTRICT_OVERWRITE_EXTRA_ISSUER_DATA,
|
||||
}
|
||||
|
||||
enum class SettingsMaskProtocolEnc : Id {
|
||||
ALLOW_UNENCRYPTED,
|
||||
ALLOW_FAST_ENCRYPTION
|
||||
}
|
||||
|
||||
enum class SettingsMaskNdef : Id {
|
||||
USE_NDEF,
|
||||
DYNAMIC_NDEF,
|
||||
DISABLE_PRECOMPUTED_NDEF,
|
||||
AAR,
|
||||
CUSTOM_AAR
|
||||
}
|
||||
|
||||
enum class Pins : Id {
|
||||
PIN,
|
||||
PIN2,
|
||||
PIN3,
|
||||
CVC,
|
||||
PAUSE_BEFORE_PIN2
|
||||
}
|
||||
|
||||
enum class Additional : Id {
|
||||
UNDEFINED,
|
||||
JSON_INCOMING,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
package com.tangem.tangemtest.ucase.resources.initializers
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.*
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
import com.tangem.tangemtest.ucase.resources.ResourceHolder
|
||||
import com.tangem.tangemtest.ucase.resources.Resources
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.*
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.TypedHolder
|
||||
|
||||
/**
|
||||
|
|
@ -26,104 +27,104 @@ class PersonalizeResources() {
|
|||
}
|
||||
|
||||
private fun initBlock(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(BlockId.CARD_NUMBER, Resources(R.string.pers_block_card_number, R.string.info_pers_block_card_number))
|
||||
holder.register(BlockId.COMMON, Resources(R.string.pers_block_common, R.string.info_pers_block_common))
|
||||
holder.register(BlockId.SIGNING_METHOD, Resources(R.string.pers_block_signing_method, R.string.info_pers_block_signing_method))
|
||||
holder.register(BlockId.SIGN_HASH_EX_PROP, Resources(R.string.pers_block_sign_hash_ex_prop, R.string.info_pers_block_sign_hash_ex_prop))
|
||||
holder.register(BlockId.DENOMINATION, Resources(R.string.pers_block_denomination, R.string.info_pers_block_denomination))
|
||||
holder.register(BlockId.TOKEN, Resources(R.string.pers_block_token, R.string.info_pers_block_token))
|
||||
holder.register(BlockId.PROD_MASK, Resources(R.string.pers_block_product_mask, R.string.info_pers_block_product_mask))
|
||||
holder.register(BlockId.SETTINGS_MASK, Resources(R.string.pers_block_settings_mask, R.string.info_pers_block_settings_mask))
|
||||
holder.register(BlockId.SETTINGS_MASK_PROTOCOL_ENC, Resources(R.string.pers_block_settings_mask_protocol_enc, R.string.info_pers_block_settings_mask_protocol_enc))
|
||||
holder.register(BlockId.SETTINGS_MASK_NDEF, Resources(R.string.pers_block_settings_mask_ndef, R.string.info_pers_block_settings_mask_ndef))
|
||||
holder.register(BlockId.PINS, Resources(R.string.pers_block_pins, R.string.info_pers_block_pins))
|
||||
holder.register(BlockId.CardNumber, Resources(R.string.pers_block_card_number, R.string.info_pers_block_card_number))
|
||||
holder.register(BlockId.Common, Resources(R.string.pers_block_common, R.string.info_pers_block_common))
|
||||
holder.register(BlockId.SigningMethod, Resources(R.string.pers_block_signing_method, R.string.info_pers_block_signing_method))
|
||||
holder.register(BlockId.SignHashExProp, Resources(R.string.pers_block_sign_hash_ex_prop, R.string.info_pers_block_sign_hash_ex_prop))
|
||||
holder.register(BlockId.Denomination, Resources(R.string.pers_block_denomination, R.string.info_pers_block_denomination))
|
||||
holder.register(BlockId.Token, Resources(R.string.pers_block_token, R.string.info_pers_block_token))
|
||||
holder.register(BlockId.ProdMask, Resources(R.string.pers_block_product_mask, R.string.info_pers_block_product_mask))
|
||||
holder.register(BlockId.SettingsMask, Resources(R.string.pers_block_settings_mask, R.string.info_pers_block_settings_mask))
|
||||
holder.register(BlockId.SettingsMaskProtocolEnc, Resources(R.string.pers_block_settings_mask_protocol_enc, R.string.info_pers_block_settings_mask_protocol_enc))
|
||||
holder.register(BlockId.SettingsMaskNdef, Resources(R.string.pers_block_settings_mask_ndef, R.string.info_pers_block_settings_mask_ndef))
|
||||
holder.register(BlockId.Pins, Resources(R.string.pers_block_pins, R.string.info_pers_block_pins))
|
||||
}
|
||||
|
||||
private fun initCardNumber(holder: TypedHolder<Id, Resources>) {
|
||||
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.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))
|
||||
}
|
||||
|
||||
private fun initCommon(holder: TypedHolder<Id, Resources>) {
|
||||
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.BLOCKCHAIN_CUSTOM, Resources(R.string.pers_item_custom_blockchain, R.string.info_pers_item_custom_blockchain))
|
||||
holder.register(Common.MAX_SIGNATURES, Resources(R.string.pers_item_max_signatures, R.string.info_pers_item_max_signatures))
|
||||
holder.register(Common.CREATE_WALLET, Resources(R.string.pers_item_create_wallet, R.string.info_pers_item_create_wallet))
|
||||
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))
|
||||
}
|
||||
|
||||
private fun initSigningMethod(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(SigningMethod.SIGN_TX, Resources(R.string.pers_item_sign_tx_hashes, R.string.info_pers_item_sign_tx_hashes))
|
||||
holder.register(SigningMethod.SIGN_TX_RAW, Resources(R.string.pers_item_sign_raw_tx, R.string.info_pers_item_sign_raw_tx))
|
||||
holder.register(SigningMethod.SIGN_VALIDATED_TX, Resources(R.string.pers_item_sign_validated_tx_hashes, R.string.info_pers_item_sign_validated_tx_hashes))
|
||||
holder.register(SigningMethod.SIGN_VALIDATED_TX_RAW, Resources(R.string.pers_item_sign_validated_raw_tx, R.string.info_pers_item_sign_validated_raw_tx))
|
||||
holder.register(SigningMethod.SIGN_VALIDATED_TX_ISSUER, 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.SIGN_VALIDATED_TX_RAW_ISSUER, 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.SIGN_EXTERNAL, Resources(R.string.pers_item_sign_hash_ex, R.string.info_pers_item_sign_hash_ex))
|
||||
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))
|
||||
}
|
||||
|
||||
private fun initSignHashExProp(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(SignHashExProp.PIN_LESS_FLOOR_LIMIT, Resources(R.string.pers_item_pin_less_floor_limit, R.string.info_pers_item_pin_less_floor_limit))
|
||||
holder.register(SignHashExProp.CRYPTO_EXTRACT_KEY, Resources(R.string.pers_item_cr_ex_key, R.string.info_pers_item_cr_ex_key))
|
||||
holder.register(SignHashExProp.REQUIRE_TERMINAL_CERT_SIG, Resources(R.string.pers_item_require_terminal_cert_sig, R.string.info_pers_item_require_terminal_cert_sig))
|
||||
holder.register(SignHashExProp.REQUIRE_TERMINAL_TX_SIG, Resources(R.string.pers_item_require_terminal_tx_sig, R.string.info_pers_item_require_terminal_tx_sig))
|
||||
holder.register(SignHashExProp.CHECK_PIN3, Resources(R.string.pers_item_pin3, R.string.info_pers_item_pin3))
|
||||
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_pin3, R.string.info_pers_item_pin3))
|
||||
}
|
||||
|
||||
private fun initDenomination(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(Denomination.WRITE_ON_PERSONALIZE, 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(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))
|
||||
}
|
||||
|
||||
private fun initToken(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(Token.ITS_TOKEN, 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.CONTRACT_ADDRESS, 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(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))
|
||||
}
|
||||
|
||||
private fun initProductMask(holder: TypedHolder<Id, Resources>) {
|
||||
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.ID_CARD, Resources(R.string.pers_item_id_card, R.string.info_pers_item_id_card))
|
||||
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.CardId, Resources(R.string.pers_item_id_card, R.string.info_pers_item_id_card))
|
||||
}
|
||||
|
||||
private fun initSettingsMask(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(SettingsMask.IS_REUSABLE, Resources(R.string.pers_item_is_reusable, R.string.info_pers_item_is_reusable))
|
||||
holder.register(SettingsMask.NEED_ACTIVATION, Resources(R.string.pers_item_need_activation, R.string.info_pers_item_need_activation))
|
||||
holder.register(SettingsMask.FORBID_PURGE, Resources(R.string.pers_item_forbid_purge, R.string.info_pers_item_forbid_purge))
|
||||
holder.register(SettingsMask.ALLOW_SELECT_BLOCKCHAIN, Resources(R.string.pers_item_allow_select_blockchain, R.string.info_pers_item_allow_select_blockchain))
|
||||
holder.register(SettingsMask.USE_BLOCK, Resources(R.string.pers_item_use_block, R.string.info_pers_item_use_block))
|
||||
holder.register(SettingsMask.ONE_APDU, Resources(R.string.pers_item_one_apdu_at_once, R.string.info_pers_item_one_apdu_at_once))
|
||||
holder.register(SettingsMask.USE_CVC, Resources(R.string.pers_item_use_cvc, R.string.info_pers_item_use_cvc))
|
||||
holder.register(SettingsMask.ALLOW_SWAP_PIN, Resources(R.string.pers_item_allow_swap_pin, R.string.info_pers_item_allow_swap_pin))
|
||||
holder.register(SettingsMask.ALLOW_SWAP_PIN2, Resources(R.string.pers_item_allow_swap_pin2, R.string.info_pers_item_allow_swap_pin2))
|
||||
holder.register(SettingsMask.FORBID_DEFAULT_PIN, Resources(R.string.pers_item_forbid_default_pin, R.string.info_pers_item_forbid_default_pin))
|
||||
holder.register(SettingsMask.SMART_SECURITY_DELAY, Resources(R.string.pers_item_smart_security_delay, R.string.info_pers_item_smart_security_delay))
|
||||
holder.register(SettingsMask.PROTECT_ISSUER_DATA_AGAINST_REPLAY, Resources(R.string.pers_item_protect_issuer_data_against_replay, R.string.info_pers_item_protect_issuer_data_against_replay))
|
||||
holder.register(SettingsMask.SKIP_SECURITY_DELAY_IF_VALIDATED, Resources(R.string.pers_item_skip_security_delay_if_validated, R.string.info_pers_item_skip_security_delay_if_validated))
|
||||
holder.register(SettingsMask.SKIP_PIN2_CVC_IF_VALIDATED, 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.SKIP_SECURITY_DELAY_ON_LINKED_TERMINAL, 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.RESTRICT_OVERWRITE_EXTRA_ISSUER_DATA, Resources(R.string.pers_item_restrict_overwrite_ex_issuer_data, R.string.info_pers_item_restrict_overwrite_ex_issuer_data))
|
||||
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))
|
||||
}
|
||||
|
||||
private fun initSettingsMaskProtocolEnc(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(SettingsMaskProtocolEnc.ALLOW_UNENCRYPTED, Resources(R.string.pers_item_allow_unencrypted, R.string.info_pers_item_allow_unencrypted))
|
||||
holder.register(SettingsMaskProtocolEnc.ALLOW_FAST_ENCRYPTION, Resources(R.string.pers_item_allow_fast_encryption, R.string.info_pers_item_allow_fast_encryption))
|
||||
holder.register(SettingsMaskProtocolEnc.AllowUnencrypted, Resources(R.string.pers_item_allow_unencrypted, R.string.info_pers_item_allow_unencrypted))
|
||||
holder.register(SettingsMaskProtocolEnc.AlloFastEncryption, Resources(R.string.pers_item_allow_fast_encryption, R.string.info_pers_item_allow_fast_encryption))
|
||||
}
|
||||
|
||||
private fun initSettingsMaskNde(holder: TypedHolder<Id, Resources>) {
|
||||
holder.register(SettingsMaskNdef.USE_NDEF, Resources(R.string.pers_item_use_ndef, R.string.info_pers_item_use_ndef))
|
||||
holder.register(SettingsMaskNdef.DYNAMIC_NDEF, Resources(R.string.pers_item_dynamic_ndef, R.string.info_pers_item_dynamic_ndef))
|
||||
holder.register(SettingsMaskNdef.DISABLE_PRECOMPUTED_NDEF, Resources(R.string.pers_item_disable_precomputed_ndef, R.string.info_pers_item_disable_precomputed_ndef))
|
||||
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))
|
||||
}
|
||||
|
||||
private fun initPins(holder: TypedHolder<Id, Resources>) {
|
||||
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.PAUSE_BEFORE_PIN2, Resources(R.string.pers_item_pause_before_pin2, R.string.info_pers_item_pause_before_pin2))
|
||||
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))
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
package com.tangem.tangemtest.ucase.variants.personalize
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
|
||||
interface PersonalizeId : Id
|
||||
|
||||
interface BlockItem : PersonalizeId
|
||||
|
||||
enum class BlockId : PersonalizeId {
|
||||
CardNumber,
|
||||
Common,
|
||||
SigningMethod,
|
||||
SignHashExProp,
|
||||
Denomination,
|
||||
Token,
|
||||
ProdMask,
|
||||
SettingsMask,
|
||||
SettingsMaskProtocolEnc,
|
||||
SettingsMaskNdef,
|
||||
Pins,
|
||||
}
|
||||
|
||||
enum class CardNumber : BlockItem {
|
||||
Series,
|
||||
Number,
|
||||
}
|
||||
|
||||
enum class Common : BlockItem {
|
||||
Curve,
|
||||
Blockchain,
|
||||
BlockchainCustom,
|
||||
MaxSignatures,
|
||||
CreateWallet,
|
||||
}
|
||||
|
||||
enum class SigningMethod : BlockItem {
|
||||
SignTx,
|
||||
SignTxRaw,
|
||||
SignValidatedTx,
|
||||
SignValidatedTxRaw,
|
||||
SignValidatedTxIssuer,
|
||||
SignValidatedTxRawIssuer,
|
||||
SignExternal,
|
||||
}
|
||||
|
||||
enum class SignHashExProp : BlockItem {
|
||||
PinLessFloorLimit,
|
||||
CryptoExKey,
|
||||
RequireTerminalCertSig,
|
||||
RequireTerminalTxSig,
|
||||
CheckPin3,
|
||||
}
|
||||
|
||||
enum class Denomination : BlockItem {
|
||||
WriteOnPersonalize,
|
||||
Denomination,
|
||||
}
|
||||
|
||||
enum class Token : Id {
|
||||
ItsToken,
|
||||
Symbol,
|
||||
ContractAddress,
|
||||
Decimal
|
||||
}
|
||||
|
||||
enum class ProductMask : BlockItem {
|
||||
Note,
|
||||
Tag,
|
||||
CardId
|
||||
}
|
||||
|
||||
enum class SettingsMask : BlockItem {
|
||||
IsReusable,
|
||||
NeedActivation,
|
||||
ForbidPurge,
|
||||
AllowSelectBlockchain,
|
||||
UseBlock,
|
||||
OneApdu,
|
||||
UseCvc,
|
||||
AllowSwapPin,
|
||||
AllowSwapPin2,
|
||||
ForbidDefaultPin,
|
||||
SmartSecurityDelay,
|
||||
ProtectIssuerDataAgainstReplay,
|
||||
SkipSecurityDelayIfValidated,
|
||||
SkipPin2CvcIfValidated,
|
||||
SkipSecurityDelayOnLinkedTerminal,
|
||||
RestrictOverwriteExtraIssuerData,
|
||||
}
|
||||
|
||||
enum class SettingsMaskProtocolEnc : BlockItem {
|
||||
AllowUnencrypted,
|
||||
AlloFastEncryption
|
||||
}
|
||||
|
||||
enum class SettingsMaskNdef : BlockItem {
|
||||
UseNdef,
|
||||
DynamicNdef,
|
||||
DisablePrecomputedNdef,
|
||||
AAR,
|
||||
}
|
||||
|
||||
enum class Pins : BlockItem {
|
||||
Pin,
|
||||
Pin2,
|
||||
Pin3,
|
||||
Cvc,
|
||||
PauseBeforePin2
|
||||
}
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package com.tangem.tangemtest.ucase.variants.personalize.converter
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.*
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
import com.tangem.tangemtest._arch.structure.impl.KeyValue
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.*
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.dto.PersonalizeConfig
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.BaseTypedHolder
|
||||
|
||||
|
|
@ -22,61 +23,61 @@ class IdToValueAssociations : BaseTypedHolder<Id, Value>() {
|
|||
|
||||
// All registered association values can't be objects
|
||||
fun init(from: PersonalizeConfig) {
|
||||
register(CardNumber.SERIES, Value(from.series))
|
||||
register(CardNumber.NUMBER, Value(from.startNumber))
|
||||
register(Common.CURVE, Value(from.curveID, Helper.listOfCurves()))
|
||||
register(Common.BLOCKCHAIN, Value(from.blockchain, Helper.listOfBlockchain()))
|
||||
register(Common.BLOCKCHAIN_CUSTOM, Value(""))
|
||||
register(Common.MAX_SIGNATURES, Value(from.MaxSignatures))
|
||||
register(Common.CREATE_WALLET, Value(from.createWallet))
|
||||
register(SigningMethod.SIGN_TX, Value(from.SigningMethod0))
|
||||
register(SigningMethod.SIGN_TX_RAW, Value(from.SigningMethod1))
|
||||
register(SigningMethod.SIGN_VALIDATED_TX, Value(from.SigningMethod2))
|
||||
register(SigningMethod.SIGN_VALIDATED_TX_RAW, Value(from.SigningMethod3))
|
||||
register(SigningMethod.SIGN_VALIDATED_TX_ISSUER, Value(from.SigningMethod4))
|
||||
register(SigningMethod.SIGN_VALIDATED_TX_RAW_ISSUER, Value(from.SigningMethod5))
|
||||
register(SigningMethod.SIGN_EXTERNAL, Value(from.SigningMethod6))
|
||||
register(SignHashExProp.PIN_LESS_FLOOR_LIMIT, Value(from.pinLessFloorLimit))
|
||||
register(SignHashExProp.CRYPTO_EXTRACT_KEY, Value(from.hexCrExKey))
|
||||
register(SignHashExProp.REQUIRE_TERMINAL_CERT_SIG, Value(from.requireTerminalCertSignature))
|
||||
register(SignHashExProp.REQUIRE_TERMINAL_TX_SIG, Value(from.requireTerminalTxSignature))
|
||||
register(SignHashExProp.CHECK_PIN3, Value(from.checkPIN3onCard))
|
||||
register(Denomination.WRITE_ON_PERSONALIZE, Value(from.writeOnPersonalization))
|
||||
register(Denomination.DENOMINATION, Value(from.denomination))
|
||||
register(Token.ITS_TOKEN, Value(from.itsToken))
|
||||
register(Token.SYMBOL, Value(from.symbol))
|
||||
register(Token.CONTRACT_ADDRESS, Value(from.contractAddress))
|
||||
register(Token.DECIMAL, Value(from.decimal))
|
||||
register(ProductMask.NOTE, Value(from.cardData.product_note))
|
||||
register(ProductMask.TAG, Value(from.cardData.product_tag))
|
||||
register(ProductMask.ID_CARD, Value(from.cardData.product_id_card))
|
||||
register(SettingsMask.IS_REUSABLE, Value(from.isReusable))
|
||||
register(SettingsMask.NEED_ACTIVATION, Value(from.useActivation))
|
||||
register(SettingsMask.FORBID_PURGE, Value(from.forbidPurgeWallet))
|
||||
register(SettingsMask.ALLOW_SELECT_BLOCKCHAIN, Value(from.allowSelectBlockchain))
|
||||
register(SettingsMask.USE_BLOCK, Value(from.useBlock))
|
||||
register(SettingsMask.ONE_APDU, Value(from.useOneCommandAtTime))
|
||||
register(SettingsMask.USE_CVC, Value(from.useCVC))
|
||||
register(SettingsMask.ALLOW_SWAP_PIN, Value(from.allowSwapPIN))
|
||||
register(SettingsMask.ALLOW_SWAP_PIN2, Value(from.allowSwapPIN2))
|
||||
register(SettingsMask.FORBID_DEFAULT_PIN, Value(from.forbidDefaultPIN))
|
||||
register(SettingsMask.SMART_SECURITY_DELAY, Value(from.smartSecurityDelay))
|
||||
register(SettingsMask.PROTECT_ISSUER_DATA_AGAINST_REPLAY, Value(from.protectIssuerDataAgainstReplay))
|
||||
register(SettingsMask.SKIP_SECURITY_DELAY_IF_VALIDATED, Value(from.skipSecurityDelayIfValidatedByIssuer))
|
||||
register(SettingsMask.SKIP_PIN2_CVC_IF_VALIDATED, Value(from.skipCheckPIN2andCVCIfValidatedByIssuer))
|
||||
register(SettingsMask.SKIP_SECURITY_DELAY_ON_LINKED_TERMINAL, Value(from.skipSecurityDelayIfValidatedByLinkedTerminal))
|
||||
register(SettingsMask.RESTRICT_OVERWRITE_EXTRA_ISSUER_DATA, Value(from.restrictOverwriteIssuerDataEx))
|
||||
register(SettingsMaskProtocolEnc.ALLOW_UNENCRYPTED, Value(from.protocolAllowUnencrypted))
|
||||
register(SettingsMaskProtocolEnc.ALLOW_FAST_ENCRYPTION, Value(false))
|
||||
register(SettingsMaskNdef.USE_NDEF, Value(from.useNDEF))
|
||||
register(SettingsMaskNdef.DYNAMIC_NDEF, Value(from.useDynamicNDEF))
|
||||
register(SettingsMaskNdef.DISABLE_PRECOMPUTED_NDEF, Value(from.disablePrecomputedNDEF))
|
||||
register(CardNumber.Series, Value(from.series))
|
||||
register(CardNumber.Number, Value(from.startNumber))
|
||||
register(Common.Curve, Value(from.curveID, Helper.listOfCurves()))
|
||||
register(Common.Blockchain, Value(from.blockchain, Helper.listOfBlockchain()))
|
||||
register(Common.BlockchainCustom, Value(""))
|
||||
register(Common.MaxSignatures, Value(from.MaxSignatures))
|
||||
register(Common.CreateWallet, Value(from.createWallet))
|
||||
register(SigningMethod.SignTx, Value(from.SigningMethod0))
|
||||
register(SigningMethod.SignTxRaw, Value(from.SigningMethod1))
|
||||
register(SigningMethod.SignValidatedTx, Value(from.SigningMethod2))
|
||||
register(SigningMethod.SignValidatedTxRaw, Value(from.SigningMethod3))
|
||||
register(SigningMethod.SignValidatedTxIssuer, Value(from.SigningMethod4))
|
||||
register(SigningMethod.SignValidatedTxRawIssuer, Value(from.SigningMethod5))
|
||||
register(SigningMethod.SignExternal, Value(from.SigningMethod6))
|
||||
register(SignHashExProp.PinLessFloorLimit, Value(from.pinLessFloorLimit))
|
||||
register(SignHashExProp.CryptoExKey, Value(from.hexCrExKey))
|
||||
register(SignHashExProp.RequireTerminalCertSig, Value(from.requireTerminalCertSignature))
|
||||
register(SignHashExProp.RequireTerminalTxSig, Value(from.requireTerminalTxSignature))
|
||||
register(SignHashExProp.CheckPin3, Value(from.checkPIN3onCard))
|
||||
register(Denomination.WriteOnPersonalize, Value(from.writeOnPersonalization))
|
||||
register(Denomination.Denomination, Value(from.denomination))
|
||||
register(Token.ItsToken, Value(from.itsToken))
|
||||
register(Token.Symbol, Value(from.symbol))
|
||||
register(Token.ContractAddress, Value(from.contractAddress))
|
||||
register(Token.Decimal, Value(from.decimal))
|
||||
register(ProductMask.Note, Value(from.cardData.product_note))
|
||||
register(ProductMask.Tag, Value(from.cardData.product_tag))
|
||||
register(ProductMask.CardId, Value(from.cardData.product_id_card))
|
||||
register(SettingsMask.IsReusable, Value(from.isReusable))
|
||||
register(SettingsMask.NeedActivation, Value(from.useActivation))
|
||||
register(SettingsMask.ForbidPurge, Value(from.forbidPurgeWallet))
|
||||
register(SettingsMask.AllowSelectBlockchain, Value(from.allowSelectBlockchain))
|
||||
register(SettingsMask.UseBlock, Value(from.useBlock))
|
||||
register(SettingsMask.OneApdu, Value(from.useOneCommandAtTime))
|
||||
register(SettingsMask.UseCvc, Value(from.useCVC))
|
||||
register(SettingsMask.AllowSwapPin, Value(from.allowSwapPIN))
|
||||
register(SettingsMask.AllowSwapPin2, Value(from.allowSwapPIN2))
|
||||
register(SettingsMask.ForbidDefaultPin, Value(from.forbidDefaultPIN))
|
||||
register(SettingsMask.SmartSecurityDelay, Value(from.smartSecurityDelay))
|
||||
register(SettingsMask.ProtectIssuerDataAgainstReplay, Value(from.protectIssuerDataAgainstReplay))
|
||||
register(SettingsMask.SkipSecurityDelayIfValidated, Value(from.skipSecurityDelayIfValidatedByIssuer))
|
||||
register(SettingsMask.SkipPin2CvcIfValidated, Value(from.skipCheckPIN2andCVCIfValidatedByIssuer))
|
||||
register(SettingsMask.SkipSecurityDelayOnLinkedTerminal, Value(from.skipSecurityDelayIfValidatedByLinkedTerminal))
|
||||
register(SettingsMask.RestrictOverwriteExtraIssuerData, Value(from.restrictOverwriteIssuerDataEx))
|
||||
register(SettingsMaskProtocolEnc.AllowUnencrypted, Value(from.protocolAllowUnencrypted))
|
||||
register(SettingsMaskProtocolEnc.AlloFastEncryption, Value(false))
|
||||
register(SettingsMaskNdef.UseNdef, Value(from.useNDEF))
|
||||
register(SettingsMaskNdef.DynamicNdef, Value(from.useDynamicNDEF))
|
||||
register(SettingsMaskNdef.DisablePrecomputedNdef, Value(from.disablePrecomputedNDEF))
|
||||
register(SettingsMaskNdef.AAR, Value(from.NDEF, Helper.aarList()))
|
||||
register(Pins.PIN, Value(from.PIN))
|
||||
register(Pins.PIN2, Value(from.PIN2))
|
||||
register(Pins.PIN3, Value(from.PIN3))
|
||||
register(Pins.CVC, Value(from.CVC))
|
||||
register(Pins.PAUSE_BEFORE_PIN2, Value(from.pauseBeforePIN2, Helper.pauseBeforePin()))
|
||||
register(Pins.Pin, Value(from.PIN))
|
||||
register(Pins.Pin2, Value(from.PIN2))
|
||||
register(Pins.Pin3, Value(from.PIN3))
|
||||
register(Pins.Cvc, Value(from.CVC))
|
||||
register(Pins.PauseBeforePin2, Value(from.pauseBeforePIN2, Helper.pauseBeforePin()))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.tangem.tangemtest.ucase.variants.personalize.converter
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.*
|
||||
import com.tangem.tangemtest._arch.structure.Additional
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.Block
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.ListItemBlock
|
||||
import com.tangem.tangemtest._arch.structure.impl.*
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.*
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.dto.PersonalizeConfig
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.Converter
|
||||
|
||||
|
|
@ -35,127 +37,127 @@ class JsonToBlockConverter : Converter<PersonalizeConfig, List<Block>> {
|
|||
}
|
||||
|
||||
private fun cardNumber(): Block {
|
||||
val block = createBlock(BlockId.CARD_NUMBER)
|
||||
val block = createBlock(BlockId.CardNumber)
|
||||
mutableListOf(
|
||||
CardNumber.SERIES,
|
||||
CardNumber.NUMBER
|
||||
CardNumber.Series,
|
||||
CardNumber.Number
|
||||
).forEach { createItem(block, it as Id) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun common(): Block {
|
||||
val block = createBlock(BlockId.COMMON)
|
||||
val block = createBlock(BlockId.Common)
|
||||
mutableListOf(
|
||||
Common.CURVE,
|
||||
Common.BLOCKCHAIN,
|
||||
Common.BLOCKCHAIN_CUSTOM,
|
||||
Common.MAX_SIGNATURES,
|
||||
Common.CREATE_WALLET
|
||||
Common.Curve,
|
||||
Common.Blockchain,
|
||||
Common.BlockchainCustom,
|
||||
Common.MaxSignatures,
|
||||
Common.CreateWallet
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun signingMethod(): Block {
|
||||
val block = createBlock(BlockId.SIGNING_METHOD)
|
||||
val block = createBlock(BlockId.SigningMethod)
|
||||
mutableListOf(
|
||||
SigningMethod.SIGN_TX,
|
||||
SigningMethod.SIGN_TX_RAW,
|
||||
SigningMethod.SIGN_VALIDATED_TX,
|
||||
SigningMethod.SIGN_VALIDATED_TX_RAW,
|
||||
SigningMethod.SIGN_VALIDATED_TX_ISSUER,
|
||||
SigningMethod.SIGN_VALIDATED_TX_RAW_ISSUER,
|
||||
SigningMethod.SIGN_EXTERNAL
|
||||
SigningMethod.SignTx,
|
||||
SigningMethod.SignTxRaw,
|
||||
SigningMethod.SignValidatedTx,
|
||||
SigningMethod.SignValidatedTxRaw,
|
||||
SigningMethod.SignValidatedTxIssuer,
|
||||
SigningMethod.SignValidatedTxRawIssuer,
|
||||
SigningMethod.SignExternal
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun signHashExProperties(): Block {
|
||||
val block = createBlock(BlockId.SIGN_HASH_EX_PROP)
|
||||
val block = createBlock(BlockId.SignHashExProp)
|
||||
mutableListOf(
|
||||
SignHashExProp.PIN_LESS_FLOOR_LIMIT,
|
||||
SignHashExProp.CRYPTO_EXTRACT_KEY,
|
||||
SignHashExProp.REQUIRE_TERMINAL_CERT_SIG,
|
||||
SignHashExProp.REQUIRE_TERMINAL_TX_SIG,
|
||||
SignHashExProp.CHECK_PIN3
|
||||
SignHashExProp.PinLessFloorLimit,
|
||||
SignHashExProp.CryptoExKey,
|
||||
SignHashExProp.RequireTerminalCertSig,
|
||||
SignHashExProp.RequireTerminalTxSig,
|
||||
SignHashExProp.CheckPin3
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun denomination(): Block {
|
||||
val block = createBlock(BlockId.DENOMINATION)
|
||||
val block = createBlock(BlockId.Denomination)
|
||||
mutableListOf(
|
||||
Denomination.WRITE_ON_PERSONALIZE,
|
||||
Denomination.DENOMINATION
|
||||
Denomination.WriteOnPersonalize,
|
||||
Denomination.Denomination
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun token(): Block {
|
||||
val block = createBlock(BlockId.TOKEN)
|
||||
val block = createBlock(BlockId.Token)
|
||||
mutableListOf(
|
||||
Token.ITS_TOKEN,
|
||||
Token.SYMBOL,
|
||||
Token.CONTRACT_ADDRESS,
|
||||
Token.DECIMAL
|
||||
Token.ItsToken,
|
||||
Token.Symbol,
|
||||
Token.ContractAddress,
|
||||
Token.Decimal
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun productMask(): Block {
|
||||
val block = createBlock(BlockId.PROD_MASK)
|
||||
val block = createBlock(BlockId.ProdMask)
|
||||
mutableListOf(
|
||||
ProductMask.NOTE,
|
||||
ProductMask.TAG,
|
||||
ProductMask.ID_CARD
|
||||
ProductMask.Note,
|
||||
ProductMask.Tag,
|
||||
ProductMask.CardId
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun settingsMask(): Block {
|
||||
val block = createBlock(BlockId.SETTINGS_MASK)
|
||||
val block = createBlock(BlockId.SettingsMask)
|
||||
mutableListOf(
|
||||
SettingsMask.IS_REUSABLE,
|
||||
SettingsMask.NEED_ACTIVATION,
|
||||
SettingsMask.FORBID_PURGE,
|
||||
SettingsMask.ALLOW_SELECT_BLOCKCHAIN,
|
||||
SettingsMask.USE_BLOCK,
|
||||
SettingsMask.ONE_APDU,
|
||||
SettingsMask.USE_CVC,
|
||||
SettingsMask.ALLOW_SWAP_PIN,
|
||||
SettingsMask.ALLOW_SWAP_PIN2,
|
||||
SettingsMask.FORBID_DEFAULT_PIN,
|
||||
SettingsMask.SMART_SECURITY_DELAY,
|
||||
SettingsMask.PROTECT_ISSUER_DATA_AGAINST_REPLAY,
|
||||
SettingsMask.SKIP_SECURITY_DELAY_IF_VALIDATED,
|
||||
SettingsMask.SKIP_PIN2_CVC_IF_VALIDATED,
|
||||
SettingsMask.SKIP_SECURITY_DELAY_ON_LINKED_TERMINAL,
|
||||
SettingsMask.RESTRICT_OVERWRITE_EXTRA_ISSUER_DATA
|
||||
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
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun settingsMaskProtocolEnc(): Block {
|
||||
val block = createBlock(BlockId.SETTINGS_MASK_PROTOCOL_ENC)
|
||||
val block = createBlock(BlockId.SettingsMaskProtocolEnc)
|
||||
mutableListOf(
|
||||
SettingsMaskProtocolEnc.ALLOW_UNENCRYPTED,
|
||||
SettingsMaskProtocolEnc.ALLOW_FAST_ENCRYPTION).forEach { createItem(block, it) }
|
||||
SettingsMaskProtocolEnc.AllowUnencrypted,
|
||||
SettingsMaskProtocolEnc.AlloFastEncryption).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun settingsMaskNdef(): Block {
|
||||
val block = createBlock(BlockId.SETTINGS_MASK_NDEF)
|
||||
val block = createBlock(BlockId.SettingsMaskNdef)
|
||||
mutableListOf(
|
||||
SettingsMaskNdef.USE_NDEF,
|
||||
SettingsMaskNdef.DYNAMIC_NDEF,
|
||||
SettingsMaskNdef.DISABLE_PRECOMPUTED_NDEF,
|
||||
SettingsMaskNdef.UseNdef,
|
||||
SettingsMaskNdef.DynamicNdef,
|
||||
SettingsMaskNdef.DisablePrecomputedNdef,
|
||||
SettingsMaskNdef.AAR
|
||||
).forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
||||
private fun pins(): Block {
|
||||
val block = createBlock(BlockId.PINS)
|
||||
mutableListOf(Pins.PIN, Pins.PIN2, Pins.PIN3, Pins.CVC, Pins.PAUSE_BEFORE_PIN2)
|
||||
val block = createBlock(BlockId.Pins)
|
||||
mutableListOf(Pins.Pin, Pins.Pin2, Pins.Pin3, Pins.Cvc, Pins.PauseBeforePin2)
|
||||
.forEach { createItem(block, it) }
|
||||
return block
|
||||
}
|
||||
|
|
@ -184,36 +186,36 @@ class JsonToBlockConverter : Converter<PersonalizeConfig, List<Block>> {
|
|||
|
||||
class IdItemHelper {
|
||||
companion object {
|
||||
val blockIdList = mutableListOf<BlockId>(
|
||||
BlockId.CARD_NUMBER, BlockId.COMMON, BlockId.SIGNING_METHOD, BlockId.SIGN_HASH_EX_PROP, BlockId.DENOMINATION,
|
||||
BlockId.TOKEN, BlockId.PROD_MASK, BlockId.SETTINGS_MASK, BlockId.SETTINGS_MASK_PROTOCOL_ENC,
|
||||
BlockId.SETTINGS_MASK_NDEF, BlockId.PINS
|
||||
val blockIdList = mutableListOf<com.tangem.tangemtest.ucase.variants.personalize.BlockId>(
|
||||
BlockId.CardNumber, BlockId.Common, BlockId.SigningMethod, BlockId.SignHashExProp, BlockId.Denomination,
|
||||
BlockId.Token, BlockId.ProdMask, BlockId.SettingsMask, BlockId.SettingsMaskProtocolEnc,
|
||||
BlockId.SettingsMaskNdef, BlockId.Pins
|
||||
)
|
||||
|
||||
val listItemList = mutableListOf(Common.CURVE, Common.BLOCKCHAIN, SettingsMaskNdef.AAR, Pins.PAUSE_BEFORE_PIN2)
|
||||
val listItemList = mutableListOf(Common.Curve, Common.Blockchain, SettingsMaskNdef.AAR, Pins.PauseBeforePin2)
|
||||
|
||||
val boolList = mutableListOf(
|
||||
Common.CREATE_WALLET, SigningMethod.SIGN_TX, SigningMethod.SIGN_TX_RAW, SigningMethod.SIGN_VALIDATED_TX,
|
||||
SigningMethod.SIGN_VALIDATED_TX_RAW, SigningMethod.SIGN_VALIDATED_TX_ISSUER,
|
||||
SigningMethod.SIGN_VALIDATED_TX_RAW_ISSUER, SigningMethod.SIGN_EXTERNAL, SignHashExProp.REQUIRE_TERMINAL_CERT_SIG,
|
||||
SignHashExProp.REQUIRE_TERMINAL_TX_SIG, SignHashExProp.CHECK_PIN3, Denomination.WRITE_ON_PERSONALIZE, Token.ITS_TOKEN,
|
||||
ProductMask.NOTE, ProductMask.TAG, ProductMask.ID_CARD, SettingsMask.IS_REUSABLE, SettingsMask.NEED_ACTIVATION,
|
||||
SettingsMask.FORBID_PURGE, SettingsMask.ALLOW_SELECT_BLOCKCHAIN, SettingsMask.USE_BLOCK, SettingsMask.ONE_APDU,
|
||||
SettingsMask.USE_CVC, SettingsMask.ALLOW_SWAP_PIN, SettingsMask.ALLOW_SWAP_PIN2, SettingsMask.FORBID_DEFAULT_PIN,
|
||||
SettingsMask.SMART_SECURITY_DELAY, SettingsMask.PROTECT_ISSUER_DATA_AGAINST_REPLAY,
|
||||
SettingsMask.SKIP_SECURITY_DELAY_IF_VALIDATED, SettingsMask.SKIP_PIN2_CVC_IF_VALIDATED,
|
||||
SettingsMask.SKIP_SECURITY_DELAY_ON_LINKED_TERMINAL, SettingsMask.RESTRICT_OVERWRITE_EXTRA_ISSUER_DATA,
|
||||
SettingsMaskProtocolEnc.ALLOW_UNENCRYPTED, SettingsMaskProtocolEnc.ALLOW_FAST_ENCRYPTION,
|
||||
SettingsMaskNdef.USE_NDEF, SettingsMaskNdef.DYNAMIC_NDEF, SettingsMaskNdef.DISABLE_PRECOMPUTED_NDEF
|
||||
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.CardId, 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.AlloFastEncryption,
|
||||
SettingsMaskNdef.UseNdef, SettingsMaskNdef.DynamicNdef, SettingsMaskNdef.DisablePrecomputedNdef
|
||||
)
|
||||
|
||||
val editTextList = mutableListOf(
|
||||
CardNumber.SERIES, Common.BLOCKCHAIN_CUSTOM, SignHashExProp.CRYPTO_EXTRACT_KEY, Token.SYMBOL,
|
||||
Token.CONTRACT_ADDRESS, Pins.PIN, Pins.PIN2, Pins.PIN3, Pins.CVC
|
||||
CardNumber.Series, Common.BlockchainCustom, SignHashExProp.CryptoExKey, Token.Symbol,
|
||||
Token.ContractAddress, Pins.Pin, Pins.Pin2, Pins.Pin3, Pins.Cvc
|
||||
)
|
||||
|
||||
val numberList = mutableListOf(
|
||||
CardNumber.NUMBER, Common.MAX_SIGNATURES, SignHashExProp.PIN_LESS_FLOOR_LIMIT, Denomination.DENOMINATION, Token.DECIMAL
|
||||
CardNumber.Number, Common.MaxSignatures, SignHashExProp.PinLessFloorLimit, Denomination.Denomination, Token.Decimal
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
package com.tangem.tangemtest.ucase.variants.personalize.converter
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.*
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.BaseItem
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.Block
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.Item
|
||||
import com.tangem.tangemtest._arch.structure.impl.KeyValue
|
||||
import com.tangem.tangemtest._arch.structure.impl.ListValueWrapper
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.*
|
||||
import com.tangem.tangemtest.ucase.variants.personalize.dto.PersonalizeConfig
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
|
||||
|
|
@ -40,61 +41,61 @@ class ValueMapper {
|
|||
|
||||
private fun createJson(defaultConfig: PersonalizeConfig): PersonalizeConfig {
|
||||
val export = PersonalizeConfig()
|
||||
export.series = getTyped(CardNumber.SERIES, defaultConfig.series)
|
||||
export.startNumber = getTyped(CardNumber.NUMBER, defaultConfig.startNumber)
|
||||
export.curveID = getTyped(Common.CURVE, defaultConfig.curveID)
|
||||
export.blockchain = getTyped(Common.BLOCKCHAIN, defaultConfig.blockchain)
|
||||
export.blockchainCustom = getTyped(Common.BLOCKCHAIN_CUSTOM, defaultConfig.blockchainCustom)
|
||||
export.MaxSignatures = getTyped(Common.MAX_SIGNATURES, defaultConfig.MaxSignatures)
|
||||
export.createWallet = getTyped(Common.CREATE_WALLET, defaultConfig.createWallet)
|
||||
export.SigningMethod0 = getTyped(SigningMethod.SIGN_TX, defaultConfig.SigningMethod0)
|
||||
export.SigningMethod1 = getTyped(SigningMethod.SIGN_TX_RAW, defaultConfig.SigningMethod1)
|
||||
export.SigningMethod2 = getTyped(SigningMethod.SIGN_VALIDATED_TX, defaultConfig.SigningMethod2)
|
||||
export.SigningMethod3 = getTyped(SigningMethod.SIGN_VALIDATED_TX_RAW, defaultConfig.SigningMethod3)
|
||||
export.SigningMethod4 = getTyped(SigningMethod.SIGN_VALIDATED_TX_ISSUER, defaultConfig.SigningMethod4)
|
||||
export.SigningMethod5 = getTyped(SigningMethod.SIGN_VALIDATED_TX_RAW_ISSUER, defaultConfig.SigningMethod5)
|
||||
export.SigningMethod6 = getTyped(SigningMethod.SIGN_EXTERNAL, defaultConfig.SigningMethod6)
|
||||
export.pinLessFloorLimit = getTyped(SignHashExProp.PIN_LESS_FLOOR_LIMIT, defaultConfig.pinLessFloorLimit)
|
||||
export.hexCrExKey = getTyped(SignHashExProp.CRYPTO_EXTRACT_KEY, defaultConfig.hexCrExKey)
|
||||
export.requireTerminalCertSignature = getTyped(SignHashExProp.REQUIRE_TERMINAL_CERT_SIG, defaultConfig.requireTerminalCertSignature)
|
||||
export.requireTerminalTxSignature = getTyped(SignHashExProp.REQUIRE_TERMINAL_TX_SIG, defaultConfig.requireTerminalTxSignature)
|
||||
export.checkPIN3onCard = getTyped(SignHashExProp.CHECK_PIN3, defaultConfig.checkPIN3onCard)
|
||||
export.writeOnPersonalization = getTyped(Denomination.WRITE_ON_PERSONALIZE, defaultConfig.writeOnPersonalization)
|
||||
export.denomination = getTyped(Denomination.DENOMINATION, defaultConfig.denomination)
|
||||
export.itsToken = getTyped(Token.ITS_TOKEN, defaultConfig.itsToken)
|
||||
export.symbol = getTyped(Token.SYMBOL, defaultConfig.symbol)
|
||||
export.contractAddress = getTyped(Token.CONTRACT_ADDRESS, defaultConfig.contractAddress)
|
||||
export.decimal = getTyped(Token.DECIMAL, defaultConfig.decimal)
|
||||
export.cardData = export.cardData.apply { this.product_note = getTyped(ProductMask.NOTE, defaultConfig.cardData.product_note) }
|
||||
export.cardData = export.cardData.apply { this.product_tag = getTyped(ProductMask.TAG, defaultConfig.cardData.product_tag) }
|
||||
export.cardData = export.cardData.apply { this.product_id_card = getTyped(ProductMask.ID_CARD, defaultConfig.cardData.product_id_card) }
|
||||
export.isReusable = getTyped(SettingsMask.IS_REUSABLE, defaultConfig.isReusable)
|
||||
export.useActivation = getTyped(SettingsMask.NEED_ACTIVATION, defaultConfig.useActivation)
|
||||
export.forbidPurgeWallet = getTyped(SettingsMask.FORBID_PURGE, defaultConfig.forbidPurgeWallet)
|
||||
export.allowSelectBlockchain = getTyped(SettingsMask.ALLOW_SELECT_BLOCKCHAIN, defaultConfig.allowSelectBlockchain)
|
||||
export.useBlock = getTyped(SettingsMask.USE_BLOCK, defaultConfig.useBlock)
|
||||
export.useOneCommandAtTime = getTyped(SettingsMask.ONE_APDU, defaultConfig.useOneCommandAtTime)
|
||||
export.useCVC = getTyped(SettingsMask.USE_CVC, defaultConfig.useCVC)
|
||||
export.allowSwapPIN = getTyped(SettingsMask.ALLOW_SWAP_PIN, defaultConfig.allowSwapPIN)
|
||||
export.allowSwapPIN2 = getTyped(SettingsMask.ALLOW_SWAP_PIN2, defaultConfig.allowSwapPIN2)
|
||||
export.forbidDefaultPIN = getTyped(SettingsMask.FORBID_DEFAULT_PIN, defaultConfig.forbidDefaultPIN)
|
||||
export.smartSecurityDelay = getTyped(SettingsMask.SMART_SECURITY_DELAY, defaultConfig.smartSecurityDelay)
|
||||
export.protectIssuerDataAgainstReplay = getTyped(SettingsMask.PROTECT_ISSUER_DATA_AGAINST_REPLAY, defaultConfig.protectIssuerDataAgainstReplay)
|
||||
export.skipSecurityDelayIfValidatedByIssuer = getTyped(SettingsMask.SKIP_SECURITY_DELAY_IF_VALIDATED, defaultConfig.skipSecurityDelayIfValidatedByIssuer)
|
||||
export.skipCheckPIN2andCVCIfValidatedByIssuer = getTyped(SettingsMask.SKIP_PIN2_CVC_IF_VALIDATED, defaultConfig.skipCheckPIN2andCVCIfValidatedByIssuer)
|
||||
export.skipSecurityDelayIfValidatedByLinkedTerminal = getTyped(SettingsMask.SKIP_SECURITY_DELAY_ON_LINKED_TERMINAL, defaultConfig.skipSecurityDelayIfValidatedByLinkedTerminal)
|
||||
export.restrictOverwriteIssuerDataEx = getTyped(SettingsMask.RESTRICT_OVERWRITE_EXTRA_ISSUER_DATA, defaultConfig.restrictOverwriteIssuerDataEx)
|
||||
export.protocolAllowUnencrypted = getTyped(SettingsMaskProtocolEnc.ALLOW_UNENCRYPTED, defaultConfig.protocolAllowUnencrypted)
|
||||
export.allowFastEncryption = getTyped(SettingsMaskProtocolEnc.ALLOW_FAST_ENCRYPTION, defaultConfig.protocolAllowStaticEncryption)
|
||||
export.useNDEF = getTyped(SettingsMaskNdef.USE_NDEF, defaultConfig.useNDEF)
|
||||
export.useDynamicNDEF = getTyped(SettingsMaskNdef.DYNAMIC_NDEF, defaultConfig.useDynamicNDEF)
|
||||
export.disablePrecomputedNDEF = getTyped(SettingsMaskNdef.DISABLE_PRECOMPUTED_NDEF, defaultConfig.disablePrecomputedNDEF)
|
||||
export.series = getTyped(CardNumber.Series, defaultConfig.series)
|
||||
export.startNumber = getTyped(CardNumber.Number, defaultConfig.startNumber)
|
||||
export.curveID = getTyped(Common.Curve, defaultConfig.curveID)
|
||||
export.blockchain = getTyped(Common.Blockchain, defaultConfig.blockchain)
|
||||
export.blockchainCustom = getTyped(Common.BlockchainCustom, defaultConfig.blockchainCustom)
|
||||
export.MaxSignatures = getTyped(Common.MaxSignatures, defaultConfig.MaxSignatures)
|
||||
export.createWallet = getTyped(Common.CreateWallet, defaultConfig.createWallet)
|
||||
export.SigningMethod0 = getTyped(SigningMethod.SignTx, defaultConfig.SigningMethod0)
|
||||
export.SigningMethod1 = getTyped(SigningMethod.SignTxRaw, defaultConfig.SigningMethod1)
|
||||
export.SigningMethod2 = getTyped(SigningMethod.SignValidatedTx, defaultConfig.SigningMethod2)
|
||||
export.SigningMethod3 = getTyped(SigningMethod.SignValidatedTxRaw, defaultConfig.SigningMethod3)
|
||||
export.SigningMethod4 = getTyped(SigningMethod.SignValidatedTxIssuer, defaultConfig.SigningMethod4)
|
||||
export.SigningMethod5 = getTyped(SigningMethod.SignValidatedTxRawIssuer, defaultConfig.SigningMethod5)
|
||||
export.SigningMethod6 = getTyped(SigningMethod.SignExternal, defaultConfig.SigningMethod6)
|
||||
export.pinLessFloorLimit = getTyped(SignHashExProp.PinLessFloorLimit, defaultConfig.pinLessFloorLimit)
|
||||
export.hexCrExKey = getTyped(SignHashExProp.CryptoExKey, defaultConfig.hexCrExKey)
|
||||
export.requireTerminalCertSignature = getTyped(SignHashExProp.RequireTerminalCertSig, defaultConfig.requireTerminalCertSignature)
|
||||
export.requireTerminalTxSignature = getTyped(SignHashExProp.RequireTerminalTxSig, defaultConfig.requireTerminalTxSignature)
|
||||
export.checkPIN3onCard = getTyped(SignHashExProp.CheckPin3, defaultConfig.checkPIN3onCard)
|
||||
export.writeOnPersonalization = getTyped(Denomination.WriteOnPersonalize, defaultConfig.writeOnPersonalization)
|
||||
export.denomination = getTyped(Denomination.Denomination, defaultConfig.denomination)
|
||||
export.itsToken = getTyped(Token.ItsToken, defaultConfig.itsToken)
|
||||
export.symbol = getTyped(Token.Symbol, defaultConfig.symbol)
|
||||
export.contractAddress = getTyped(Token.ContractAddress, defaultConfig.contractAddress)
|
||||
export.decimal = getTyped(Token.Decimal, defaultConfig.decimal)
|
||||
export.cardData = export.cardData.apply { this.product_note = getTyped(ProductMask.Note, defaultConfig.cardData.product_note) }
|
||||
export.cardData = export.cardData.apply { this.product_tag = getTyped(ProductMask.Tag, defaultConfig.cardData.product_tag) }
|
||||
export.cardData = export.cardData.apply { this.product_id_card = getTyped(ProductMask.CardId, defaultConfig.cardData.product_id_card) }
|
||||
export.isReusable = getTyped(SettingsMask.IsReusable, defaultConfig.isReusable)
|
||||
export.useActivation = getTyped(SettingsMask.NeedActivation, defaultConfig.useActivation)
|
||||
export.forbidPurgeWallet = getTyped(SettingsMask.ForbidPurge, defaultConfig.forbidPurgeWallet)
|
||||
export.allowSelectBlockchain = getTyped(SettingsMask.AllowSelectBlockchain, defaultConfig.allowSelectBlockchain)
|
||||
export.useBlock = getTyped(SettingsMask.UseBlock, defaultConfig.useBlock)
|
||||
export.useOneCommandAtTime = getTyped(SettingsMask.OneApdu, defaultConfig.useOneCommandAtTime)
|
||||
export.useCVC = getTyped(SettingsMask.UseCvc, defaultConfig.useCVC)
|
||||
export.allowSwapPIN = getTyped(SettingsMask.AllowSwapPin, defaultConfig.allowSwapPIN)
|
||||
export.allowSwapPIN2 = getTyped(SettingsMask.AllowSwapPin2, defaultConfig.allowSwapPIN2)
|
||||
export.forbidDefaultPIN = getTyped(SettingsMask.ForbidDefaultPin, defaultConfig.forbidDefaultPIN)
|
||||
export.smartSecurityDelay = getTyped(SettingsMask.SmartSecurityDelay, defaultConfig.smartSecurityDelay)
|
||||
export.protectIssuerDataAgainstReplay = getTyped(SettingsMask.ProtectIssuerDataAgainstReplay, defaultConfig.protectIssuerDataAgainstReplay)
|
||||
export.skipSecurityDelayIfValidatedByIssuer = getTyped(SettingsMask.SkipSecurityDelayIfValidated, defaultConfig.skipSecurityDelayIfValidatedByIssuer)
|
||||
export.skipCheckPIN2andCVCIfValidatedByIssuer = getTyped(SettingsMask.SkipPin2CvcIfValidated, defaultConfig.skipCheckPIN2andCVCIfValidatedByIssuer)
|
||||
export.skipSecurityDelayIfValidatedByLinkedTerminal = getTyped(SettingsMask.SkipSecurityDelayOnLinkedTerminal, defaultConfig.skipSecurityDelayIfValidatedByLinkedTerminal)
|
||||
export.restrictOverwriteIssuerDataEx = getTyped(SettingsMask.RestrictOverwriteExtraIssuerData, defaultConfig.restrictOverwriteIssuerDataEx)
|
||||
export.protocolAllowUnencrypted = getTyped(SettingsMaskProtocolEnc.AllowUnencrypted, defaultConfig.protocolAllowUnencrypted)
|
||||
export.allowFastEncryption = getTyped(SettingsMaskProtocolEnc.AlloFastEncryption, defaultConfig.protocolAllowStaticEncryption)
|
||||
export.useNDEF = getTyped(SettingsMaskNdef.UseNdef, defaultConfig.useNDEF)
|
||||
export.useDynamicNDEF = getTyped(SettingsMaskNdef.DynamicNdef, defaultConfig.useDynamicNDEF)
|
||||
export.disablePrecomputedNDEF = getTyped(SettingsMaskNdef.DisablePrecomputedNdef, defaultConfig.disablePrecomputedNDEF)
|
||||
export.NDEF = getTyped(SettingsMaskNdef.AAR, defaultConfig.NDEF)
|
||||
export.PIN = getTyped(Pins.PIN, defaultConfig.PIN)
|
||||
export.PIN2 = getTyped(Pins.PIN2, defaultConfig.PIN2)
|
||||
export.PIN3 = getTyped(Pins.PIN3, defaultConfig.PIN3)
|
||||
export.CVC = getTyped(Pins.CVC, defaultConfig.CVC)
|
||||
export.pauseBeforePIN2 = getTyped(Pins.PAUSE_BEFORE_PIN2, defaultConfig.pauseBeforePIN2)
|
||||
export.PIN = getTyped(Pins.Pin, defaultConfig.PIN)
|
||||
export.PIN2 = getTyped(Pins.Pin2, defaultConfig.PIN2)
|
||||
export.PIN3 = getTyped(Pins.Pin3, defaultConfig.PIN3)
|
||||
export.CVC = getTyped(Pins.Cvc, defaultConfig.CVC)
|
||||
export.pauseBeforePIN2 = getTyped(Pins.PauseBeforePin2, defaultConfig.pauseBeforePIN2)
|
||||
return export
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue