From 8cd431a0e6a613b32a6946ad1b3196ead0cbcaf4 Mon Sep 17 00:00:00 2001 From: "Lunkov_A@utkonos.ru" Date: Wed, 17 Jun 2020 14:36:43 +0300 Subject: [PATCH] added immediately binding option --- .../java/ru/impression/ui_generator_base/Component.kt | 4 ++-- .../main/java/ru/impression/ui_generator_base/Renderer.kt | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Component.kt b/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Component.kt index efc1a68..2a302ee 100644 --- a/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Component.kt +++ b/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Component.kt @@ -52,7 +52,7 @@ interface Component { } } - fun render(attachToContainer: Boolean = true) { - renderer.render(scheme.getBindingClass?.invoke(this as C, viewModel), attachToContainer) + fun render(immediately: Boolean = true) { + renderer.render(scheme.getBindingClass?.invoke(this as C, viewModel), immediately) } } \ No newline at end of file diff --git a/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Renderer.kt b/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Renderer.kt index 2e8a80f..9604fb0 100644 --- a/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Renderer.kt +++ b/ui-generator-base/src/main/java/ru/impression/ui_generator_base/Renderer.kt @@ -10,11 +10,11 @@ class Renderer(private val component: Component<*, *>) { var currentBindingClass: KClass? = null - fun render(newBindingClass: KClass?, attachToContainer: Boolean) { + fun render(newBindingClass: KClass?, immediately: Boolean) { currentBinding?.let { if (newBindingClass != null && newBindingClass == currentBindingClass) { it.setViewModel(component.viewModel) - it.executePendingBindings() + if (immediately) it.executePendingBindings() return } it.unbind() @@ -25,8 +25,8 @@ class Renderer(private val component: Component<*, *>) { ?: throw UnsupportedOperationException("Component must be ViewGroup"), component.viewModel, component.boundLifecycleOwner, - attachToContainer - )?.apply { executePendingBindings() } + immediately + )?.apply { if (immediately) executePendingBindings() } currentBindingClass = newBindingClass } } \ No newline at end of file