save subscription to tint color after rebind
При ребаинде пропадает подписка на tint color, если image url не изменился. Исправляю это здесь.
Примечание: сейчас логика применения тинта такая: https://st.yandex-team.ru/#61922c55ecd1dd5006ac6565
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
Сейчас у нас при ребинде происходит повторная установка всех полей, поэтому заново создается и устанавливается бекграунд, что и вызывает мерцание.
Почему именно здесь и так:
- можно было бы обернуть вызов в applyIfNotEquals, но тогда при ребинде отвалятся подписки на переменные в полях
- можно было бы добавить поле вне колбека и смотреть на него, но при ребинде это поле сбросится в null и мы вернемся к той же проблеме
- сравнивать два drawable мы не можем. Они могут быть визуально одинаковы, но ссылка, по которой идет сравнение, будет разной
Сравнивать просто 2 списка с бг мы не можем, потому что там переменные, а нам надо иметь статичное состояние. Поэтому пришлось прибегнуть к созданию стейтов текущих бг и сравнивать уже их.
update perftests client libraries to recent versions in Realty client.
update perftests client libraries to recent versions in mobile maps.
update perftests client libraries to recent versions in appmetrika sdk.
update perftests client libraries to recent versions in mail client for Android.
update perftests client libraries to recent versions in divkit.
api_generator script
1) api_generator execute script with creating virtual env and checking for changes in requirements
2) update _container in android CI tasks