From 859e4e00f752bf7c8a32344d35fc8ec347035119 Mon Sep 17 00:00:00 2001 From: evgeek Date: Tue, 20 Sep 2022 13:11:31 +0300 Subject: [PATCH] Moved observeTintColor into bind method. Changing tint color stopped working after rebind if image url remained same because we are calling view.closeAllSubscription() in bindView and didn't call observeTintColor when imageUrl was same due to if (isImageLoaded && newImageUrl == imageUrl) { return } in applyImage --- .../main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt index 6be308394..7d1a38455 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt @@ -87,6 +87,7 @@ internal class DivImageBinder @Inject constructor( private fun DivImageView.applyImage(divView: Div2View, resolver: ExpressionResolver, div: DivImage) { val newImageUrl = div.imageUrl.evaluate(resolver) if (isImageLoaded && newImageUrl == imageUrl) { + observeTintColor(resolver, div.tintColor) return } // Ignore high priority preview if image was previously loaded.