From 26993f16bba120161ba30a17e471c0afaf26f76d Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 13 Mar 2020 12:25:34 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../card_use_cases/models/params/manager/card_actions.kt | 7 ++++++- .../params/manager/modifiers/after_action_modifiers.kt | 8 +++++++- .../params/manager/modifiers/param_change_consequence.kt | 3 +++ .../models/params/manager/params_managers.kt | 6 ++++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/card_actions.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/card_actions.kt index 48cd4193a8..c6474873ac 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/card_actions.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/card_actions.kt @@ -8,7 +8,12 @@ import com.tangem.tangemtest.card_use_cases.models.params.manager.modifiers.Para import com.tangem.tasks.TaskEvent import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf - +/** +[REDACTED_AUTHOR] + * + * The Card Action class family is designed for calling Card Manager functions + * and then processing the response. It also allows you to extract the main action as a lambda expression + */ data class AttrForAction( val cardManager: CardManager, val paramsList: List, diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/after_action_modifiers.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/after_action_modifiers.kt index e94abfa672..8a72f0b514 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/after_action_modifiers.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/after_action_modifiers.kt @@ -6,7 +6,13 @@ import com.tangem.tangemtest.card_use_cases.models.params.manager.ParamsManager import com.tangem.tasks.ScanEvent import com.tangem.tasks.TaskEvent - +/** +[REDACTED_AUTHOR] + * + * The After Action Modification class family is intended for modifying parameters (if necessary) + * after calling CardManager.anyAction. + * Returns a list of parameters that have been modified + */ interface AfterActionModification { fun modify(taskEvent: TaskEvent<*>, paramsList: List): List } diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/param_change_consequence.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/param_change_consequence.kt index 8d60022226..60707484b7 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/param_change_consequence.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/modifiers/param_change_consequence.kt @@ -5,6 +5,9 @@ import com.tangem.tangemtest.card_use_cases.models.params.manager.IncomingParame /** [REDACTED_AUTHOR] + * + * The ParamsChangeConsequence class family modifies parameters depending on the state + * of the incoming parameter */ interface ParamsChangeConsequence { fun affectChanges(changedParameter: IncomingParameter, paramsList: List): List diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/params_managers.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/params_managers.kt index 2ed9feb265..a5f4e070d9 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/params_managers.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/card_use_cases/models/params/manager/params_managers.kt @@ -8,15 +8,17 @@ import com.tangem.tasks.TaskEvent /** [REDACTED_AUTHOR] + * + * ParamsManager monitors parameter changes and runs the CardManager command */ -class IncomingParameter(val tlvTag: TlvTag, var data: Any? = null) - typealias ActionResponse = TaskEvent<*> typealias AffectedList = List typealias AffectedParamsCallback = (AffectedList) -> Unit typealias ActionCallback = (ActionResponse, AffectedList) -> Unit +class IncomingParameter(val tlvTag: TlvTag, var data: Any? = null) + interface ParamsManager { fun parameterChanged(tag: TlvTag, value: Any?, callback: AffectedParamsCallback? = null)