Updated on 2026-08-14
This commit is contained in:
parent
0b575b8e91
commit
86189b8bf6
45 changed files with 262 additions and 230 deletions
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest._main.entry_point
|
||||
package com.tangem.tangemtest._main.entryPoint
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
|
@ -16,15 +16,15 @@ import androidx.transition.AutoTransition
|
|||
import androidx.transition.TransitionManager
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._main.MainViewModel
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.commons.getDefaultNavigationOptions
|
||||
import kotlinx.android.synthetic.main.fg_entry_point.*
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class EntryPointFragment : Fragment() {
|
||||
class ActionListFragment : Fragment() {
|
||||
|
||||
private val navController: NavController by lazy { findNavController() }
|
||||
private lateinit var rvActions: RecyclerView
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest._main.entry_point
|
||||
package com.tangem.tangemtest._main.entryPoint
|
||||
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
|
@ -6,9 +6,9 @@ import android.widget.TextView
|
|||
import androidx.annotation.StringRes
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionRes
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionRes
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.resources.MainResourceHolder
|
||||
import ru.dev.gbixahue.eu4d.lib.android._android.views.inflate
|
||||
import ru.dev.gbixahue.eu4d.lib.android._android.views.recycler_view.RvBaseAdapter
|
||||
import ru.dev.gbixahue.eu4d.lib.android._android.views.recycler_view.RvBaseVH
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
package com.tangem.tangemtest.card_use_cases.domain.card_action
|
||||
package com.tangem.tangemtest.cardUseCase.domain.actions
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.commands.personalization.CardConfig
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.AppTangemDemo
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.ActionCallback
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.IncomingParameter
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.findParameter
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.modifiers.AfterActionModification
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.modifiers.AfterScanModifier
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.modifiers.ParamsChangeConsequence
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ActionCallback
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.findParameter
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.modifiers.AfterActionModification
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.modifiers.AfterScanModifier
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.modifiers.ParamsChangeConsequence
|
||||
import com.tangem.tangemtest.extensions.init
|
||||
import com.tangem.tasks.ScanEvent
|
||||
import com.tangem.tasks.TaskEvent
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.cardUseCase.domain.actions.AttrForAction
|
||||
import com.tangem.tangemtest.cardUseCase.domain.actions.CardAction
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.modifiers.ParamsChangeConsequence
|
||||
|
||||
abstract class BaseParamsManager(protected val action: CardAction) : ParamsManager {
|
||||
|
||||
protected val paramsList: List<IncomingParameter> by lazy { createParamsList() }
|
||||
|
||||
abstract fun createParamsList(): List<IncomingParameter>
|
||||
|
||||
override fun parameterChanged(tag: TlvTag, value: Any?, callback: AffectedParamsCallback?) {
|
||||
if (paramsList.isEmpty()) return
|
||||
val foundParam = paramsList.findParameter(tag) ?: return
|
||||
|
||||
foundParam.data = value
|
||||
applyChangesByAffectedParams(foundParam, callback)
|
||||
}
|
||||
|
||||
override fun getParams(): MutableList<IncomingParameter> = paramsList.toMutableList()
|
||||
|
||||
override fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)? = null
|
||||
|
||||
// Use it if current parameter needs to be affect any other parameters
|
||||
protected open fun applyChangesByAffectedParams(param: IncomingParameter, callback: AffectedParamsCallback?) {
|
||||
getChangeConsequence()?.affectChanges(param, paramsList)?.let { callback?.invoke(it) }
|
||||
}
|
||||
|
||||
protected open fun getChangeConsequence(): ParamsChangeConsequence? = null
|
||||
|
||||
protected fun getAttrsForAction(cardManager: CardManager)
|
||||
: AttrForAction = AttrForAction(cardManager, paramsList, getChangeConsequence())
|
||||
}
|
||||
|
|
@ -1,6 +1,10 @@
|
|||
package com.tangem.tangemtest.card_use_cases.domain.params_manager
|
||||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager
|
||||
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers.DepersonalizeParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers.PersonalizeParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers.ScanParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers.SignParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.BaseTypedHolder
|
||||
|
||||
/**
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tasks.TaskEvent
|
||||
|
||||
typealias ActionResponse = TaskEvent<*>
|
||||
typealias AffectedList = List<IncomingParameter>
|
||||
typealias AffectedParamsCallback = (AffectedList) -> Unit
|
||||
typealias ActionCallback = (ActionResponse, AffectedList) -> Unit
|
||||
|
||||
interface ParamsManager {
|
||||
|
||||
fun parameterChanged(tag: TlvTag, value: Any?, callback: AffectedParamsCallback? = null)
|
||||
fun getParams(): List<IncomingParameter>
|
||||
fun invokeMainAction(cardManager: CardManager, callback: ActionCallback)
|
||||
fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)?
|
||||
|
||||
}
|
||||
|
||||
class IncomingParameter(val tlvTag: TlvTag, var data: Any? = null)
|
||||
|
||||
fun List<IncomingParameter>.findParameter(tag: TlvTag): IncomingParameter? {
|
||||
return firstOrNull { it.tlvTag == tag }
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.cardUseCase.domain.actions.DepesonalizeAction
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ActionCallback
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.BaseParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
|
||||
class DepersonalizeParamsManager : BaseParamsManager(DepesonalizeAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf(IncomingParameter(TlvTag.CardId, null))
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
|
||||
override fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)? {
|
||||
return action.getActionByTag(tag, getAttrsForAction(cardManager))
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.actions.PersonalizeAction
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ActionCallback
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.BaseParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
|
||||
class PersonalizeParamsManager : BaseParamsManager(PersonalizeAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf()
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.cardUseCase.domain.actions.ScanAction
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ActionCallback
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.BaseParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
|
||||
class ScanParamsManager : BaseParamsManager(ScanAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf(IncomingParameter(TlvTag.CardId, null))
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager.managers
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.cardUseCase.domain.actions.SignAction
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ActionCallback
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.BaseParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
|
||||
class SignParamsManager : BaseParamsManager(SignAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf(
|
||||
IncomingParameter(TlvTag.CardId, null),
|
||||
IncomingParameter(TlvTag.TransactionOutHash, "Data used for hashing")
|
||||
)
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
|
||||
override fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)? {
|
||||
return action.getActionByTag(tag, getAttrsForAction(cardManager))
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.tangemtest.card_use_cases.domain.params_manager.modifiers
|
||||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager.modifiers
|
||||
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.IncomingParameter
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.findParameter
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.findParameter
|
||||
import com.tangem.tasks.ScanEvent
|
||||
import com.tangem.tasks.TaskEvent
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.tangemtest.card_use_cases.domain.params_manager.modifiers
|
||||
package com.tangem.tangemtest.cardUseCase.domain.paramsManager.modifiers
|
||||
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.IncomingParameter
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.resources
|
||||
package com.tangem.tangemtest.cardUseCase.resources
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.tangemtest.card_use_cases.resources
|
||||
package com.tangem.tangemtest.cardUseCase.resources
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
import com.tangem.tangemtest.card_use_cases.resources.initializers.ActionResources
|
||||
import com.tangem.tangemtest.card_use_cases.resources.initializers.PersonalizeResources
|
||||
import com.tangem.tangemtest.cardUseCase.resources.initializers.ActionResources
|
||||
import com.tangem.tangemtest.cardUseCase.resources.initializers.PersonalizeResources
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.BaseTypedHolder
|
||||
|
||||
/**
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.resources
|
||||
package com.tangem.tangemtest.cardUseCase.resources
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.tangemtest.card_use_cases.resources.initializers
|
||||
package com.tangem.tangemtest.cardUseCase.resources.initializers
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.Id
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionRes
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionRes
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ResourceHolder
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.tangemtest.card_use_cases.resources.initializers
|
||||
package com.tangem.tangemtest.cardUseCase.resources.initializers
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.*
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ResourceHolder
|
||||
import com.tangem.tangemtest.card_use_cases.resources.Resources
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.resources.Resources
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.TypedHolder
|
||||
|
||||
class PersonalizeResources() {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.card
|
||||
package com.tangem.tangemtest.cardUseCase.ui.card
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
|
@ -15,13 +15,11 @@ import com.google.android.material.snackbar.Snackbar
|
|||
import com.tangem.CardManager
|
||||
import com.tangem.tangem_sdk_new.extensions.init
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.ParamsManager
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.ParamsManagerFactory
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.actions.ActionViewModelFactory
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.actions.ParamsViewModel
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.actions.widgets.ParameterWidget
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ParamsManagerFactory
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.ui.card.actions.widgets.ParameterWidget
|
||||
import ru.dev.gbixahue.eu4d.lib.android._android.views.find
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.LayoutHolder
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.card.actions
|
||||
package com.tangem.tangemtest.cardUseCase.ui.card
|
||||
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
|
|
@ -9,8 +9,8 @@ import com.tangem.CardManager
|
|||
import com.tangem.commands.Card
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest._arch.SingleLiveEvent
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.IncomingParameter
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.ParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ParamsManager
|
||||
import com.tangem.tangemtest.commons.performAction
|
||||
import com.tangem.tasks.ScanEvent
|
||||
import com.tangem.tasks.TaskError
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.card.actions
|
||||
package com.tangem.tangemtest.cardUseCase.ui.card.actions
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.BaseCardActionFragment
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.ui.card.BaseCardActionFragment
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.card.actions
|
||||
package com.tangem.tangemtest.cardUseCase.ui.card.actions
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.BaseCardActionFragment
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.ui.card.BaseCardActionFragment
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.card.actions
|
||||
package com.tangem.tangemtest.cardUseCase.ui.card.actions
|
||||
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.BaseCardActionFragment
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.ui.card.BaseCardActionFragment
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.card.actions.widgets
|
||||
package com.tangem.tangemtest.cardUseCase.ui.card.actions.widgets
|
||||
|
||||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
|
|
@ -11,10 +11,10 @@ import com.google.android.material.textfield.TextInputEditText
|
|||
import com.google.android.material.textfield.TextInputLayout
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.IncomingParameter
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.card_use_cases.resources.Resources
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.IncomingParameter
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.resources.Resources
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
|
|
@ -16,12 +16,12 @@ import com.tangem.CardManager
|
|||
import com.tangem.tangem_sdk_new.extensions.init
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._main.MainViewModel
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.ParamsManager
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.ParamsManagerFactory
|
||||
import com.tangem.tangemtest.card_use_cases.resources.ActionType
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.actions.ActionViewModelFactory
|
||||
import com.tangem.tangemtest.card_use_cases.ui.card.actions.ParamsViewModel
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.WidgetBuilder
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ParamsManager
|
||||
import com.tangem.tangemtest.cardUseCase.domain.paramsManager.ParamsManagerFactory
|
||||
import com.tangem.tangemtest.cardUseCase.resources.ActionType
|
||||
import com.tangem.tangemtest.cardUseCase.ui.card.ActionViewModelFactory
|
||||
import com.tangem.tangemtest.cardUseCase.ui.card.ParamsViewModel
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.WidgetBuilder
|
||||
import kotlinx.android.synthetic.main.fg_personalize.*
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
import java.io.IOException
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize
|
||||
|
||||
import android.view.View
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
|
|
@ -7,10 +7,10 @@ import androidx.lifecycle.ViewModelProvider
|
|||
import com.google.gson.Gson
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.BaseItem
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.Block
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.converter.BlockToJsonConverter
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.converter.JsonBlockEnDe
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.converter.JsonToBlockConverter
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.dto.TestJsonDto
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.converter.BlockToJsonConverter
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.converter.JsonBlockEnDe
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.converter.JsonToBlockConverter
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.dto.TestJsonDto
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.converter
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.converter
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.Block
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.dto.TestJsonDto
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.dto.TestJsonDto
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.Converter
|
||||
|
||||
class BlockToJsonConverter : Converter<List<Block>, TestJsonDto> {
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.converter
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.converter
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.Block
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.dto.TestJsonDto
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.dto.TestJsonDto
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.converter
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.converter
|
||||
|
||||
import com.tangem.tangemtest._arch.structure.*
|
||||
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.card_use_cases.ui.personalize.dto.Ndef
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.dto.TestJsonDto
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.dto.Ndef
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.dto.TestJsonDto
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.Converter
|
||||
|
||||
class JsonToBlockConverter : Converter<TestJsonDto, List<Block>> {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.dto
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.dto
|
||||
|
||||
class TestJsonDto {
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets
|
||||
|
||||
import android.view.ViewGroup
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.BaseItem
|
||||
|
|
@ -6,10 +6,10 @@ import com.tangem.tangemtest._arch.structure.abstraction.Block
|
|||
import com.tangem.tangemtest._arch.structure.abstraction.Item
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.ListItemBlock
|
||||
import com.tangem.tangemtest._arch.structure.impl.*
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.ViewWidget
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.StubWidget
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.block.LinearBlockWidget
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item.*
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.ViewWidget
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.StubWidget
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.block.LinearBlockWidget
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item.*
|
||||
|
||||
class WidgetBuilder {
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
|
@ -7,8 +7,8 @@ import com.tangem.tangemtest.R
|
|||
import com.tangem.tangemtest._arch.structure.DataHolder
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.BaseItem
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.ItemViewModel
|
||||
import com.tangem.tangemtest.card_use_cases.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.card_use_cases.resources.Resources
|
||||
import com.tangem.tangemtest.cardUseCase.resources.MainResourceHolder
|
||||
import com.tangem.tangemtest.cardUseCase.resources.Resources
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.LayoutHolder
|
||||
|
||||
/**
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl
|
||||
|
||||
import android.view.ViewGroup
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.ItemViewModel
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.BaseBlockWidget
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.BaseBlockWidget
|
||||
|
||||
class StubWidget(parent: ViewGroup) : BaseBlockWidget(parent) {
|
||||
override fun getLayoutId(): Int = R.layout.w_empty
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.block
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.block
|
||||
|
||||
import android.view.ViewGroup
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.BaseItem
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.ItemViewModel
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.ListItemBlock
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.BaseBlockWidget
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.BaseBlockWidget
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item
|
||||
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
|
|
@ -6,8 +6,8 @@ import androidx.transition.AutoTransition
|
|||
import androidx.transition.TransitionManager
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.abstraction.BaseItem
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.BaseWidget
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.getResDescription
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.BaseWidget
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.getResDescription
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
|
||||
/**
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item
|
||||
|
||||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
|
|
@ -7,7 +7,7 @@ import com.google.android.material.textfield.TextInputEditText
|
|||
import com.google.android.material.textfield.TextInputLayout
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.impl.EditTextItem
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.getResNameId
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.getResNameId
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf
|
||||
|
||||
class EditTextWidget(parent: ViewGroup, data: EditTextItem) : DescriptionWidget<String>(parent, data) {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item
|
||||
|
||||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
|
|
@ -7,7 +7,7 @@ import com.google.android.material.textfield.TextInputEditText
|
|||
import com.google.android.material.textfield.TextInputLayout
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.impl.NumberItem
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.getResNameId
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.getResNameId
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf
|
||||
|
||||
class NumberWidget(parent: ViewGroup, data: NumberItem) : DescriptionWidget<Number>(parent, data) {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item
|
||||
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
|
@ -10,7 +10,7 @@ import com.tangem.tangemtest.R
|
|||
import com.tangem.tangemtest._arch.structure.impl.KeyValue
|
||||
import com.tangem.tangemtest._arch.structure.impl.ListItem
|
||||
import com.tangem.tangemtest._arch.structure.impl.ListValueWrapper
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.getResNameId
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.getResNameId
|
||||
import ru.dev.gbixahue.eu4d.lib.android._android.views.inflate
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.stringOf
|
||||
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item
|
||||
|
||||
import android.view.ViewGroup
|
||||
import android.widget.CompoundButton
|
||||
import androidx.appcompat.widget.SwitchCompat
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.impl.BoolItem
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.getResNameId
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.getResNameId
|
||||
|
||||
class SwitchWidget(parent: ViewGroup, data: BoolItem) : DescriptionWidget<Boolean>(parent, data) {
|
||||
override fun getLayoutId(): Int = R.layout.w_personalize_item_switch
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.impl.item
|
||||
package com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.impl.item
|
||||
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import com.tangem.tangemtest.R
|
||||
import com.tangem.tangemtest._arch.structure.impl.TextItem
|
||||
import com.tangem.tangemtest.card_use_cases.ui.personalize.widgets.abstraction.getResNameId
|
||||
import com.tangem.tangemtest.cardUseCase.ui.personalize.widgets.abstraction.getResNameId
|
||||
|
||||
class TextWidget(parent: ViewGroup, data: TextItem) : DescriptionWidget<String>(parent, data) {
|
||||
override fun getLayoutId(): Int = R.layout.w_personalize_item_text
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
package com.tangem.tangemtest.card_use_cases.domain.params_manager
|
||||
|
||||
import com.tangem.CardManager
|
||||
import com.tangem.common.tlv.TlvTag
|
||||
import com.tangem.tangemtest.card_use_cases.domain.card_action.*
|
||||
import com.tangem.tangemtest.card_use_cases.domain.params_manager.modifiers.ParamsChangeConsequence
|
||||
import com.tangem.tasks.TaskEvent
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*
|
||||
* ParamsManager monitors parameter changes and runs the CardManager command
|
||||
*/
|
||||
|
||||
typealias ActionResponse = TaskEvent<*>
|
||||
typealias AffectedList = List<IncomingParameter>
|
||||
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)
|
||||
fun getParams(): List<IncomingParameter>
|
||||
fun invokeMainAction(cardManager: CardManager, callback: ActionCallback)
|
||||
fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)?
|
||||
|
||||
}
|
||||
|
||||
fun List<IncomingParameter>.findParameter(tag: TlvTag): IncomingParameter? {
|
||||
return firstOrNull { it.tlvTag == tag }
|
||||
}
|
||||
|
||||
abstract class BaseParamsManager(protected val action: CardAction) : ParamsManager {
|
||||
|
||||
protected val paramsList: List<IncomingParameter> by lazy { createParamsList() }
|
||||
|
||||
abstract fun createParamsList(): List<IncomingParameter>
|
||||
|
||||
override fun parameterChanged(tag: TlvTag, value: Any?, callback: AffectedParamsCallback?) {
|
||||
if (paramsList.isEmpty()) return
|
||||
val foundParam = paramsList.findParameter(tag) ?: return
|
||||
|
||||
foundParam.data = value
|
||||
applyChangesByAffectedParams(foundParam, callback)
|
||||
}
|
||||
|
||||
override fun getParams(): MutableList<IncomingParameter> = paramsList.toMutableList()
|
||||
|
||||
override fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)? = null
|
||||
|
||||
// Use it if current parameter needs to be affect any other parameters
|
||||
protected open fun applyChangesByAffectedParams(param: IncomingParameter, callback: AffectedParamsCallback?) {
|
||||
getChangeConsequence()?.affectChanges(param, paramsList)?.let { callback?.invoke(it) }
|
||||
}
|
||||
|
||||
protected open fun getChangeConsequence(): ParamsChangeConsequence? = null
|
||||
|
||||
protected fun getAttrsForAction(cardManager: CardManager)
|
||||
: AttrForAction = AttrForAction(cardManager, paramsList, getChangeConsequence())
|
||||
}
|
||||
|
||||
class ScanParamsManager : BaseParamsManager(ScanAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf(IncomingParameter(TlvTag.CardId, null))
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
}
|
||||
|
||||
class SignParamsManager : BaseParamsManager(SignAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf(
|
||||
IncomingParameter(TlvTag.CardId, null),
|
||||
IncomingParameter(TlvTag.TransactionOutHash, "Data used for hashing")
|
||||
)
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
|
||||
override fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)? {
|
||||
return action.getActionByTag(tag, getAttrsForAction(cardManager))
|
||||
}
|
||||
}
|
||||
|
||||
class PersonalizeParamsManager : BaseParamsManager(PersonalizeAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf()
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
}
|
||||
|
||||
class DepersonalizeParamsManager : BaseParamsManager(DepesonalizeAction()) {
|
||||
override fun createParamsList(): List<IncomingParameter> {
|
||||
return listOf(IncomingParameter(TlvTag.CardId, null))
|
||||
}
|
||||
|
||||
override fun invokeMainAction(cardManager: CardManager, callback: ActionCallback) {
|
||||
action.executeMainAction(getAttrsForAction(cardManager), callback)
|
||||
}
|
||||
|
||||
override fun getActionByTag(tag: TlvTag, cardManager: CardManager): ((ActionCallback) -> Unit)? {
|
||||
return action.getActionByTag(tag, getAttrsForAction(cardManager))
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/nav_entry_point"
|
||||
android:name="com.tangem.tangemtest._main.entry_point.EntryPointFragment"
|
||||
android:name="com.tangem.tangemtest._main.entryPoint.ActionListFragment"
|
||||
android:label="@string/fg_name_entry_point"
|
||||
tools:layout="@layout/fg_entry_point">
|
||||
|
||||
|
|
@ -51,73 +51,73 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/nav_scan"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.card.actions.ScanActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.card.actions.ScanActionFragment"
|
||||
android:label="@string/action_card_scan"
|
||||
tools:layout="@layout/fg_action_card_scan" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_sign"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.card.actions.SignActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.card.actions.SignActionFragment"
|
||||
android:label="@string/action_card_sign"
|
||||
tools:layout="@layout/fg_action_card_sign" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_personalize"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.personalize.PersonalizeFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.personalize.PersonalizeFragment"
|
||||
android:label="@string/action_personalize"
|
||||
tools:layout="@layout/fg_personalize" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_depersonalize"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.card.actions.DepesonalizeActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.card.actions.DepesonalizeActionFragment"
|
||||
android:label="@string/action_depersonalize"
|
||||
tools:layout="@layout/fg_depersonalize" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_issuer_read_data"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.IssuerReadDataActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.IssuerReadDataActionFragment"
|
||||
android:label="@string/action_issuer_read_data"
|
||||
tools:layout="@layout/fg_action_issuer_read_data" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_issuer_write_data"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.IssuerWriteDataActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.IssuerWriteDataActionFragment"
|
||||
android:label="@string/action_issuer_write_data"
|
||||
tools:layout="@layout/fg_action_issuer_write_data" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_issuer_read_ex_data"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.IssuerReadExDataActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.IssuerReadExDataActionFragment"
|
||||
android:label="@string/action_issuer_read_ex_data"
|
||||
tools:layout="@layout/fg_action_issuer_read_ex_data" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_issuer_write_ex_data"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.IssuerWriteExDataActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.IssuerWriteExDataActionFragment"
|
||||
android:label="@string/action_issuer_write_ex_data"
|
||||
tools:layout="@layout/fg_action_issuer_write_ex_data" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_user_read_data"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.UserReadDataActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.UserReadDataActionFragment"
|
||||
android:label="@string/action_user_read_data"
|
||||
tools:layout="@layout/fg_action_user_read_data" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_user_write_data"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.UserWriteDataActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.UserWriteDataActionFragment"
|
||||
android:label="@string/action_user_write_data"
|
||||
tools:layout="@layout/fg_action_user_write_data" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_wallet_create"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.WalletCreateActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.WalletCreateActionFragment"
|
||||
android:label="@string/action_wallet_create"
|
||||
tools:layout="@layout/fg_action_wallet_create" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_wallet_purge"
|
||||
android:name="com.tangem.tangemtest.card_use_cases.ui.WalletPurgeActionFragment"
|
||||
android:name="com.tangem.tangemtest.cardUseCase.ui.WalletPurgeActionFragment"
|
||||
android:label="@string/action_wallet_purge"
|
||||
tools:layout="@layout/fg_action_wallet_purge" />
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue