diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/abstraction/Extension.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/abstraction/Extension.kt index 76b43ce50a..2aa3fb6af5 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/abstraction/Extension.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/abstraction/Extension.kt @@ -20,7 +20,10 @@ fun List.iterate(func: (Item) -> Unit) { forEach { when (it) { is BaseItem -> func(it) - is ItemGroup -> it.itemList.iterate(func) + is ItemGroup -> { + func(it) + it.itemList.iterate(func) + } } } } \ No newline at end of file diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/impl/Items.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/impl/Items.kt index e402650802..d4e4dde775 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/impl/Items.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/_arch/structure/impl/Items.kt @@ -11,29 +11,29 @@ open class TypedItem(id: Id, viewModel: ItemViewModel) : BaseItem(id, viewMod open fun getTypedData(): D? = viewModel.data as? D } -class TextItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { +open class TextItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { constructor(id: Id, value: String? = null, viewState: ViewState = ViewState()) : this(id, BaseItemViewModel(value, viewState)) } -class NumberItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { +open class NumberItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { constructor(id: Id, value: Number? = null, viewState: ViewState = ViewState()) : this(id, BaseItemViewModel(value, viewState)) } -class BoolItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { +open class BoolItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { constructor(id: Id, value: Boolean? = null, viewState: ViewState = ViewState()) : this(id, BaseItemViewModel(value, viewState)) } -class EditTextItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { +open class EditTextItem(id: Id, viewModel: ItemViewModel) : TypedItem(id, viewModel) { constructor(id: Id, value: String? = null, viewState: ViewState = ViewState()) : this(id, BaseItemViewModel(value, viewState)) } -class SpinnerItem(id: Id, viewModel: ListViewModel) : TypedItem(id, viewModel) { +open class SpinnerItem(id: Id, viewModel: ListViewModel) : TypedItem(id, viewModel) { constructor(id: Id, list: List, selectedValue: Any?, viewState: ViewState = ViewState()) : this(id, ListViewModel(list, selectedValue, viewState)) } \ No newline at end of file diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/PersonalizationItemBuilder.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/PersonalizationItemBuilder.kt index fdbead0989..f18839f056 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/PersonalizationItemBuilder.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/PersonalizationItemBuilder.kt @@ -12,7 +12,7 @@ import com.tangem.tangemtest._arch.widget.abstraction.ViewWidget class PersonalizationItemBuilder : ItemWidgetBuilder { override fun build(item: BaseItem, parent: ViewGroup): ViewWidget? { return when (item) { - is TextItem -> GroupTitleWidget(parent, item) + is TextItem -> TextHeaderWidget(parent, item) is EditTextItem -> EditTextWidget(parent, item) is NumberItem -> NumberWidget(parent, item) is BoolItem -> SwitchWidget(parent, item) diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/GroupTitleWidget.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/TextHeaderWidget.kt similarity index 86% rename from tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/GroupTitleWidget.kt rename to tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/TextHeaderWidget.kt index 27167508ad..ab52a1981b 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/GroupTitleWidget.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/widgets/TextHeaderWidget.kt @@ -8,8 +8,8 @@ import com.tangem.tangemtest._arch.structure.impl.TextItem /** [REDACTED_AUTHOR] */ -class GroupTitleWidget(parent: ViewGroup, data: TextItem) : DescriptionWidget(parent, data) { - override fun getLayoutId(): Int = R.layout.w_personalize_item_text +class TextHeaderWidget(parent: ViewGroup, data: TextItem) : DescriptionWidget(parent, data) { + override fun getLayoutId(): Int = R.layout.w_personalize_item_header private val tvName = view.findViewById(R.id.tv_name) diff --git a/tangem-demo/src/main/res/layout/w_personalize_item_text.xml b/tangem-demo/src/main/res/layout/w_personalize_item_header.xml similarity index 100% rename from tangem-demo/src/main/res/layout/w_personalize_item_text.xml rename to tangem-demo/src/main/res/layout/w_personalize_item_header.xml diff --git a/tangem-demo/src/main/res/layout/w_personalize_widgets_together.xml b/tangem-demo/src/main/res/layout/w_personalize_widgets_together.xml index 83787d982c..ada27eb0ac 100644 --- a/tangem-demo/src/main/res/layout/w_personalize_widgets_together.xml +++ b/tangem-demo/src/main/res/layout/w_personalize_widgets_together.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - +