Unify image loading

commit_hash:67d7b002bc4d9d272948907ea33eb2974dde65bc
This commit is contained in:
grechka62
2026-02-11 13:43:34 +03:00
parent 17613f04bd
commit 892db6811f
149 changed files with 600 additions and 358 deletions
+110 -1
View File
@@ -619,6 +619,7 @@
"client/android/div-core/src/main/java/com/yandex/div/core/font/DivVariableTypefaceProvider.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/font/DivVariableTypefaceProvider.kt",
"client/android/div-core/src/main/java/com/yandex/div/core/images/BitmapSource.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/BitmapSource.kt",
"client/android/div-core/src/main/java/com/yandex/div/core/images/CachedBitmap.java":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/CachedBitmap.java",
"client/android/div-core/src/main/java/com/yandex/div/core/images/DivCachedImage.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/DivCachedImage.kt",
"client/android/div-core/src/main/java/com/yandex/div/core/images/DivImageDownloadCallback.java":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/DivImageDownloadCallback.java",
"client/android/div-core/src/main/java/com/yandex/div/core/images/DivImageLoader.java":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/DivImageLoader.java",
"client/android/div-core/src/main/java/com/yandex/div/core/images/DivImagePriority.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/DivImagePriority.kt",
@@ -1034,6 +1035,7 @@
"client/android/div/jacoco.excludes":"divkit/public/client/android/div/jacoco.excludes",
"client/android/div/proguard-rules.pro":"divkit/public/client/android/div/proguard-rules.pro",
"client/android/div/src/main/java/androidx/recyclerview/widget/DivLinearLayoutManager.kt":"divkit/public/client/android/div/src/main/java/androidx/recyclerview/widget/DivLinearLayoutManager.kt",
"client/android/div/src/main/java/com/yandex/div/core/BaseImageDownloadCallback.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/BaseImageDownloadCallback.kt",
"client/android/div/src/main/java/com/yandex/div/core/DecodeBase64ImageTask.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/DecodeBase64ImageTask.kt",
"client/android/div/src/main/java/com/yandex/div/core/Div2Context.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/Div2Context.kt",
"client/android/div/src/main/java/com/yandex/div/core/Div2ImageStubProvider.java":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/Div2ImageStubProvider.java",
@@ -1203,7 +1205,6 @@
"client/android/div/src/main/java/com/yandex/div/core/util/ExpressionSubscribers.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/ExpressionSubscribers.kt",
"client/android/div/src/main/java/com/yandex/div/core/util/FunctionMapper.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/FunctionMapper.kt",
"client/android/div/src/main/java/com/yandex/div/core/util/ImageRepresentation.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/ImageRepresentation.kt",
"client/android/div/src/main/java/com/yandex/div/core/util/ImageUtils.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/ImageUtils.kt",
"client/android/div/src/main/java/com/yandex/div/core/util/Releasables.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/Releasables.kt",
"client/android/div/src/main/java/com/yandex/div/core/util/ReportingSafeDrawingPassOverrideStrategy.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/ReportingSafeDrawingPassOverrideStrategy.kt",
"client/android/div/src/main/java/com/yandex/div/core/util/SafeAlertDialog.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/SafeAlertDialog.kt",
@@ -2027,8 +2028,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -2044,8 +2049,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -2061,8 +2070,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_HDPI_540x1200/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -3472,8 +3485,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -3489,8 +3506,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -3506,8 +3527,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -4917,8 +4942,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -4934,8 +4963,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -4951,8 +4984,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -6362,8 +6399,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -6379,8 +6420,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -6396,8 +6441,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -7807,8 +7856,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -7824,8 +7877,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -7841,8 +7898,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_720x1600/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -9252,8 +9313,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -9269,8 +9334,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -9286,8 +9355,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -10697,8 +10770,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -10714,8 +10791,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -10731,8 +10812,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API30_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -12142,8 +12227,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -12159,8 +12248,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -12176,8 +12269,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewPixelCopy/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -13587,8 +13684,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_background_and_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2FocusScreenshotTest/not_focused/snapshot_with_focused_border.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/png_image_tint.png",
@@ -13604,8 +13705,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/coil/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/png_image_tint.png",
@@ -13621,8 +13726,12 @@
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_image_tint.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_in_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/glide/webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/animated_webp_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_gif_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_in_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/gif_local.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_blur.png",
"client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API32_XXHDPI_1080x2400/viewRender/com.yandex.div.Div2ImageLoaderScreenshotTest/picasso/png_image_tint.png",
@@ -1,7 +1,6 @@
package com.yandex.div.coil
import android.content.Context
import android.graphics.drawable.BitmapDrawable
import android.net.Uri
import android.os.Build
import android.os.Build.VERSION.SDK_INT
@@ -25,7 +24,7 @@ import coil3.size.Precision
import coil3.size.Scale
import coil3.svg.SvgDecoder
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.images.LoadReference
@@ -80,7 +79,7 @@ class CoilDivImageLoader private constructor(
cacheStrategy = { CacheControlCacheStrategy() }
)
)
add(SvgDecoder.Factory())
add(SvgDecoder.Factory(renderToBitmap = false))
add(gifDecoder())
}
.build()
@@ -97,6 +96,7 @@ class CoilDivImageLoader private constructor(
override fun needLimitBitmapSize() = false
@Deprecated("This method is not used in DivKit")
override fun loadImage(imageUrl: String, imageView: ImageView): LoadReference {
val imageUri = Uri.parse(imageUrl)
@@ -114,7 +114,7 @@ class CoilDivImageLoader private constructor(
.data(imageUri)
.allowHardware(false)
.limitImageBitmapSizeIfNeed()
.listener(BitmapRequestListener(context, callback, imageUri))
.listener(RequestListener(context, callback))
.build()
val result = imageLoader.enqueue(request)
@@ -124,57 +124,19 @@ class CoilDivImageLoader private constructor(
}
}
override fun loadImageBytes(
imageUrl: String,
callback: DivImageDownloadCallback
): LoadReference {
val imageUri = Uri.parse(imageUrl)
val request = ImageRequest.Builder(context)
.data(imageUri)
.allowHardware(false)
.limitImageBitmapSizeIfNeed()
.listener(GifRequestListener(context, callback))
.build()
val result = imageLoader.enqueue(request)
return LoadReference {
result.dispose()
}
}
private class BitmapRequestListener(
private class RequestListener(
private val context: Context,
private val callback: DivImageDownloadCallback,
private val imageUri: Uri,
): EventListener() {
override fun onSuccess(request: ImageRequest, result: SuccessResult) {
val bitmapDrawable = result.image.asDrawable(context.resources) as BitmapDrawable
callback.onSuccess(
CachedBitmap(
bitmapDrawable.bitmap,
imageUri,
result.dataSource.toBitmapSource()
)
DivCachedImage.Drawable(result.image.asDrawable(context.resources), result.dataSource.toBitmapSource())
)
}
override fun onError(request: ImageRequest, result: ErrorResult) {
callback.onError()
}
}
private class GifRequestListener(
private val context: Context,
private val callback: DivImageDownloadCallback,
): EventListener() {
override fun onSuccess(request: ImageRequest, result: SuccessResult) {
callback.onSuccess(result.image.asDrawable(context.resources))
}
override fun onError(request: ImageRequest, result: ErrorResult) {
callback.onError()
callback.onError(result.throwable)
}
}
@@ -10,6 +10,7 @@ import com.yandex.div.core.annotations.PublicApi;
* Provides cached {@link Bitmap}.
*/
@PublicApi
@Deprecated
public class CachedBitmap {
@NonNull private final Bitmap mBitmap;
@@ -0,0 +1,14 @@
package com.yandex.div.core.images
public sealed class DivCachedImage(public val from: BitmapSource) {
public class Bitmap(
public val bitmap: android.graphics.Bitmap,
from: BitmapSource
) : DivCachedImage(from)
public class Drawable(
public val drawable: android.graphics.drawable.Drawable,
from: BitmapSource
) : DivCachedImage(from)
}
@@ -15,6 +15,15 @@ public class DivImageDownloadCallback {
* Called when image is successfully loaded.
*/
@UiThread
public void onSuccess(@NonNull DivCachedImage cachedImage) {
// no implementation
}
/**
* Called when image is successfully loaded.
*/
@UiThread
@Deprecated
public void onSuccess(@NonNull CachedBitmap cachedBitmap) {
// no implementation
}
@@ -25,6 +34,7 @@ public class DivImageDownloadCallback {
* Ex.: Coil GIFs
*/
@UiThread
@Deprecated
public void onSuccess(@NonNull Drawable drawable) {
// no implementation
}
@@ -35,15 +45,27 @@ public class DivImageDownloadCallback {
* Ex.: Vector images in SVG Image Loader
*/
@UiThread
@Deprecated
public void onSuccess(@NonNull PictureDrawable pictureDrawable) {
// no implementation
}
/**
* @deprecated use {@link #onError(Throwable)}
* <p>
* Is called when image load is failed.
*/
@UiThread
@Deprecated
public void onError() {
onError(null);
}
/**
* Is called when image load is failed.
*/
@UiThread
public void onError() {
public void onError(@Nullable Throwable e) {
// no implementation
}
@@ -23,11 +23,16 @@ public interface DivImageLoader {
LoadReference loadImage(@NonNull String imageUrl, @NonNull DivImageDownloadCallback callback);
/**
* @deprecated Support of this property will be removed.
* It's loader's responsibility to load images in {@code .svg} format.
* If loader doesn't support it, image will not be loaded.
* <p>
* Property indicating if the image loader can handle svg.
* False if not overridden.
*
* @return true if image loader supports svg.
*/
@Deprecated
default Boolean hasSvgSupport() {
return false;
}
@@ -38,11 +43,13 @@ public interface DivImageLoader {
*
* @return true if need to limit image bitmap size
*/
default Boolean needLimitBitmapSize() {
default boolean needLimitBitmapSize() {
return true;
}
/**
* @deprecated Use {@link #loadAnimatedImage(String, DivImageDownloadCallback)}.
* <p>
* Starts image loading by given <code>imageUrl</code>. Download raw bytes in result.
* <p>
* Contract : <code>callback</code> MUST BE stored in {@link java.lang.ref.WeakReference} in order to prevent leakage.
@@ -53,9 +60,30 @@ public interface DivImageLoader {
*/
@MainThread
@NonNull
LoadReference loadImageBytes(@NonNull String imageUrl, @NonNull DivImageDownloadCallback callback);
@Deprecated
default LoadReference loadImageBytes(@NonNull String imageUrl, @NonNull DivImageDownloadCallback callback) {
return loadImage(imageUrl, callback);
}
/**
* Starts image loading by given {@code imageUrl}.
* Expecting to download {@link android.graphics.drawable.AnimatedImageDrawable}.
* <p>
* Contract : {@code callback} MUST BE stored in {@link java.lang.ref.WeakReference} in order to prevent leakage.
*
* @param imageUrl image url.
* @param callback callback to invoke after image is loaded.
* @return reference to cancel loading
*/
@MainThread
@NonNull
default LoadReference loadAnimatedImage(@NonNull String imageUrl, @NonNull DivImageDownloadCallback callback) {
return loadImageBytes(imageUrl, callback);
}
/**
* @deprecated This method is not used in DivKit.
* <p>
* Starts image loading reference by given <code>imageUrl</code>.
* <p>
*
@@ -65,7 +93,10 @@ public interface DivImageLoader {
*/
@MainThread
@NonNull
LoadReference loadImage(@NonNull String imageUrl, @NonNull ImageView imageView);
@Deprecated
default LoadReference loadImage(@NonNull String imageUrl, @NonNull ImageView imageView) {
return () -> {};
}
/**
* Starts image loading by given <code>imageUrl</code>.
@@ -84,6 +115,8 @@ public interface DivImageLoader {
}
/**
* @deprecated Use {@link #loadAnimatedImage(String, DivImageDownloadCallback, int)}.
* <p>
* Starts image loading by given <code>imageUrl</code>. Download raw bytes in result.
* <p>
* Contract : <code>callback</code> MUST BE stored in {@link java.lang.ref.WeakReference} in order to prevent leakage.
@@ -95,7 +128,29 @@ public interface DivImageLoader {
*/
@MainThread
@NonNull
@Deprecated
default LoadReference loadImageBytes(@NonNull String imageUrl, @NonNull DivImageDownloadCallback callback, @DivImagePriority int loadPriority) {
return loadImageBytes(imageUrl, callback);
}
/**
* Starts image loading by given {@code imageUrl}.
* Expecting to download {@link android.graphics.drawable.AnimatedImageDrawable}.
* <p>
* Contract : {@code callback} MUST BE stored in {@link java.lang.ref.WeakReference} in order to prevent leakage.
*
* @param imageUrl image url.
* @param callback callback to invoke after image is loaded.
* @param loadPriority loading priority.
* @return reference to cancel loading
*/
@MainThread
@NonNull
default LoadReference loadAnimatedImage(
@NonNull String imageUrl,
@NonNull DivImageDownloadCallback callback,
@DivImagePriority int loadPriority
) {
return loadAnimatedImage(imageUrl, callback);
}
}
@@ -1,8 +1,9 @@
package com.yandex.div.svg
import android.content.Context
import android.widget.ImageView
import com.yandex.div.core.annotations.InternalApi
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.images.LoadReference
@@ -29,7 +30,7 @@ public class SvgDivImageLoader(context: Context) : DivImageLoader {
override fun loadImage(imageUrl: String, callback: DivImageDownloadCallback): LoadReference {
val cachedDrawable = svgCacheManager.get(imageUrl)
if (cachedDrawable != null) {
callback.onSuccess(cachedDrawable)
callback.onSuccess(DivCachedImage.Drawable(cachedDrawable, BitmapSource.MEMORY))
return LoadReference { }
}
@@ -48,7 +49,7 @@ public class SvgDivImageLoader(context: Context) : DivImageLoader {
drawable
}?.let {
callback.onSuccess(it)
callback.onSuccess(DivCachedImage.Drawable(it, BitmapSource.NETWORK))
} ?: callback.onError()
}
@@ -57,33 +58,6 @@ public class SvgDivImageLoader(context: Context) : DivImageLoader {
}
}
override fun loadImage(imageUrl: String, imageView: ImageView): LoadReference {
val call = createCallOrNull(imageUrl)
coroutineScope.launch {
withContext(Dispatchers.IO) {
val bytes = if (call == null) {
getImageData(imageUrl)
} else {
downloadImage(call)
} ?: return@withContext null
svgDecoder.decode(bytes.inputStream())
}?.let {
imageView.setImageDrawable(it)
}
}
return LoadReference {
call?.cancel()
}
}
override fun loadImageBytes(
imageUrl: String,
callback: DivImageDownloadCallback
): LoadReference = loadImage(imageUrl, callback)
private fun createCallOrNull(imageUrl: String) : Call? {
if (!(imageUrl.startsWith("http://") || imageUrl.startsWith("https://"))) {
return null
@@ -0,0 +1,57 @@
package com.yandex.div.core
import android.graphics.Bitmap
import android.graphics.drawable.AnimatedImageDrawable
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.os.Build
import androidx.annotation.RequiresApi
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
internal abstract class BaseImageDownloadCallback : DivImageDownloadCallback() {
override fun onSuccess(cachedImage: DivCachedImage) {
when (cachedImage) {
is DivCachedImage.Bitmap -> onSuccess(cachedImage.bitmap, cachedImage.from)
is DivCachedImage.Drawable -> dispatchDrawable(cachedImage.drawable, cachedImage.from)
}
}
@Deprecated("Use onSuccess(DivCachedImage)")
override fun onSuccess(cachedBitmap: CachedBitmap) = onSuccess(cachedBitmap.bitmap, cachedBitmap.from)
@Deprecated("Use onSuccess(DivCachedImage)")
override fun onSuccess(drawable: Drawable) = dispatchDrawable(drawable, BitmapSource.MEMORY)
@Deprecated("Use onSuccess(DivCachedImage)")
override fun onSuccess(pictureDrawable: PictureDrawable) = onSuccess(pictureDrawable, BitmapSource.MEMORY)
protected abstract fun onSuccess(bitmap: Bitmap, source: BitmapSource)
protected abstract fun onSuccess(drawable: Drawable, source: BitmapSource)
protected open fun onSuccess(pictureDrawable: PictureDrawable, source: BitmapSource) =
onSuccess(pictureDrawable as Drawable, source)
@RequiresApi(Build.VERSION_CODES.P)
protected open fun onSuccess(animatedDrawable: AnimatedImageDrawable, source: BitmapSource) =
onSuccess(animatedDrawable as Drawable, source)
protected open fun dispatchDrawable(drawable: Drawable, source: BitmapSource) {
when (drawable) {
is BitmapDrawable -> onSuccess(drawable.bitmap, source)
is PictureDrawable -> onSuccess(drawable, source)
else -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && drawable is AnimatedImageDrawable) {
onSuccess(drawable, source)
} else {
onSuccess(drawable, source)
}
}
}
}
}
@@ -1,13 +1,12 @@
package com.yandex.div.core
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.view2.Div2View
/**
* Provides [Div2View.logId] when image loading fails.
*/
internal open class DivIdLoggingImageDownloadCallback(private val divId: String) : DivImageDownloadCallback() {
internal abstract class DivIdLoggingImageDownloadCallback(private val divId: String) : BaseImageDownloadCallback() {
constructor(divView: Div2View) : this(divView.logId)
override fun getAdditionalLogInfo() = divId
}
}
@@ -1,13 +1,13 @@
package com.yandex.div.core
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.net.Uri
import com.yandex.div.core.DivPreloader.Callback
import com.yandex.div.core.DivPreloader.PreloadReference
import com.yandex.div.core.annotations.Mockable
import com.yandex.div.core.annotations.PublicApi
import com.yandex.div.core.extension.DivExtensionController
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.images.LoadReference
import com.yandex.div.core.player.DivPlayerPreloader
@@ -173,21 +173,34 @@ class DivPreloader internal constructor(
downloadsLeftCount++
}
override fun onSuccess(cachedImage: DivCachedImage) {
done()
}
@Deprecated("Use onSuccess(DivCachedImage)")
override fun onSuccess(cachedBitmap: CachedBitmap) {
done()
}
@Deprecated("Use onSuccess(DivCachedImage)")
override fun onSuccess(pictureDrawable: PictureDrawable) {
done()
}
@Deprecated("Use onSuccess(DivCachedImage)")
override fun onSuccess(drawable: Drawable) {
done()
}
override fun onCancel() {
done()
}
override fun onError() = runOnUiThread {
failures++
done()
override fun onError(e: Throwable?) {
runOnUiThread {
failures++
done()
}
}
private fun done() = runOnUiThread {
@@ -1,10 +1,15 @@
package com.yandex.div.core.image
import com.yandex.div.core.annotations.InternalApi
private const val ASSET_SCHEME = "divkit-asset"
@InternalApi
const val ASSET_PREFIX = "file:///android_asset/"
internal class DivImageAssetUrlModifier : DivImageUrlModifier {
override fun modifyImageUrl(imageUrl: String): String =
if (imageUrl.startsWith(ASSET_SCHEME)) {
"file:///android_asset/divkit/${imageUrl.removePrefix("${ASSET_SCHEME}://")}"
"${ASSET_PREFIX}divkit/${imageUrl.removePrefix("${ASSET_SCHEME}://")}"
} else imageUrl
}
@@ -1,16 +1,17 @@
package com.yandex.div.core.image
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.widget.ImageView
import androidx.core.graphics.createBitmap
import androidx.core.graphics.drawable.toDrawable
import androidx.core.graphics.scale
import com.yandex.div.core.annotations.InternalApi
import com.yandex.div.core.dagger.DivScope
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.images.LoadReference
@@ -51,17 +52,12 @@ class DivImageLoaderWrapper @Inject constructor(
return loader.loadImage(modifiedUrl, wrappedCallback)
}
override fun loadImage(imageUrl: String, imageView: ImageView): LoadReference {
val modifiedUrl = getModifiedUrl(imageUrl)
return getProperLoader(modifiedUrl).loadImage(modifiedUrl, imageView)
}
override fun loadImageBytes(
override fun loadAnimatedImage(
imageUrl: String,
callback: DivImageDownloadCallback
): LoadReference {
val modifiedUrl = getModifiedUrl(imageUrl)
return getProperLoader(modifiedUrl).loadImageBytes(modifiedUrl, callback)
return getProperLoader(modifiedUrl).loadAnimatedImage(modifiedUrl, callback)
}
private fun getModifiedUrl(initialUrl: String): String {
@@ -99,32 +95,25 @@ class DivImageLoaderWrapper @Inject constructor(
private val callback: DivImageDownloadCallback,
private val context: Context,
) : DivImageDownloadCallback() {
override fun onSuccess(cachedImage: DivCachedImage) {
callback.onSuccess(cachedImage.scale())
}
override fun onSuccess(cachedBitmap: CachedBitmap) {
if (cachedBitmap.isLargeSize) {
callback.onSuccess(cachedBitmap.scale())
} else {
callback.onSuccess(cachedBitmap)
}
callback.onSuccess(cachedBitmap.scale())
}
override fun onSuccess(drawable: Drawable) {
if (drawable.isLargeSize) {
callback.onSuccess(drawable.scale())
} else {
callback.onSuccess(drawable)
}
callback.onSuccess(drawable.scale())
}
override fun onSuccess(pictureDrawable: PictureDrawable) {
callback.onSuccess(pictureDrawable)
}
override fun onError() {
callback.onError()
}
override fun onCancel() {
callback.onCancel()
override fun onError(e: Throwable?) {
callback.onError(e)
}
override fun onScheduling() {
@@ -133,27 +122,32 @@ class DivImageLoaderWrapper @Inject constructor(
override fun getAdditionalLogInfo(): String? = callback.additionalLogInfo
private val CachedBitmap.isLargeSize: Boolean
get() = bitmap.width > maxDisplaySize || bitmap.height > maxDisplaySize
private fun DivCachedImage.scale(): DivCachedImage {
return when (this) {
is DivCachedImage.Bitmap ->
if (bitmap.isLargeSize) DivCachedImage.Bitmap(bitmap.scale(), from) else this
is DivCachedImage.Drawable ->
if (drawable.isLargeSize) DivCachedImage.Drawable(drawable.scale(), from) else this
}
}
private val Bitmap.isLargeSize: Boolean
get() = width > maxDisplaySize || height > maxDisplaySize
private val Drawable.isLargeSize: Boolean
get() = intrinsicWidth > maxDisplaySize || intrinsicHeight > maxDisplaySize
private fun CachedBitmap.scale(): CachedBitmap {
val width = bitmap.width
val height = bitmap.height
private fun CachedBitmap.scale() =
if (bitmap.isLargeSize) CachedBitmap(bitmap.scale(), bytes, cacheUri, from) else this
private fun Bitmap.scale(): Bitmap {
val scale = maxDisplaySize.toFloat() / max(width, height)
val newWidth = (width * scale).toInt()
val newHeight = (height * scale).toInt()
val scaledBitmap = bitmap.scale(newWidth, newHeight)
return CachedBitmap(scaledBitmap, bytes, cacheUri, from)
return scale((width * scale).toInt(), (height * scale).toInt())
}
private fun Drawable.scale(): Drawable {
if (!isLargeSize) return this
val width = intrinsicWidth
val height = intrinsicHeight
@@ -1,11 +0,0 @@
package com.yandex.div.core.util
import android.graphics.drawable.PictureDrawable
import android.net.Uri
import androidx.core.graphics.drawable.toBitmap
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.CachedBitmap
internal fun PictureDrawable.toCachedBitmap(imageUrl: Uri, bytes: ByteArray? = null) : CachedBitmap {
return CachedBitmap(toBitmap(), bytes, imageUrl, BitmapSource.MEMORY)
}
@@ -1,5 +1,6 @@
package com.yandex.div.core.view2.divs
import android.graphics.Bitmap
import android.graphics.Rect
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
@@ -7,13 +8,13 @@ import android.graphics.drawable.PictureDrawable
import android.net.Uri
import android.view.View
import androidx.annotation.UiThread
import androidx.core.graphics.drawable.toBitmap
import com.yandex.div.core.DivIdLoggingImageDownloadCallback
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.util.bitmap.BitmapFilter
import com.yandex.div.core.util.bitmap.applyScaleAndFilters
import com.yandex.div.core.util.isLayoutRtl
import com.yandex.div.core.util.toCachedBitmap
import com.yandex.div.core.view2.BindingContext
import com.yandex.div.core.view2.Div2View
import com.yandex.div.internal.drawable.LinearGradientDrawable
@@ -70,8 +71,7 @@ internal sealed class DivBackgroundState {
url,
object : DivIdLoggingImageDownloadCallback(divView) {
@UiThread
override fun onSuccess(cachedBitmap: CachedBitmap) {
val bitmap = cachedBitmap.bitmap
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) {
if (filters.isNullOrEmpty()) {
scaleDrawable.setBitmap(bitmap)
return
@@ -83,13 +83,22 @@ internal sealed class DivBackgroundState {
}
@UiThread
override fun onSuccess(pictureDrawable: PictureDrawable) {
if (!isVectorCompatible) {
onSuccess(pictureDrawable.toCachedBitmap(imageUrl))
return
override fun onSuccess(drawable: Drawable, source: BitmapSource) =
scaleDrawable.setDrawable(drawable)
@UiThread
override fun onSuccess(pictureDrawable: PictureDrawable, source: BitmapSource) {
if (isVectorCompatible) {
return scaleDrawable.setPicture(pictureDrawable.picture)
}
scaleDrawable.setPicture(pictureDrawable.picture)
onSuccess(pictureDrawable.toBitmap(), source)
}
/**
* Vector format ImageBackground doesn't support alpha and filters.
* If alpha is not 1.0 or filters are specified for ImageBackground, it should be rasterized.
*/
private val isVectorCompatible get() = alpha == 1.0 && filters.isNullOrEmpty()
}
)
divView.addLoadReference(loadReference, target)
@@ -125,12 +134,6 @@ internal sealed class DivBackgroundState {
else -> ScalingDrawable.AlignmentVertical.TOP
}
}
/**
* Vector format ImageBackground doesn't support alpha and filters.
* If alpha is not 1.0 or filters are specified for ImageBackground, it should be rasterized.
*/
private val isVectorCompatible get() = alpha == 1.0 && filters.isNullOrEmpty()
}
data class Solid(
@@ -152,15 +155,17 @@ internal sealed class DivBackgroundState {
val url = imageUrl.toString()
val loadReference = imageLoader.loadImage(url, object : DivIdLoggingImageDownloadCallback(divView) {
@UiThread
override fun onSuccess(cachedBitmap: CachedBitmap) {
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) {
ninePatchDrawable.apply {
bottom = insets.bottom
left = insets.left
right = insets.right
top = insets.top
bitmap = cachedBitmap.bitmap
this.bitmap = bitmap
}
}
override fun onSuccess(drawable: Drawable, source: BitmapSource) = Unit
})
divView.addLoadReference(loadReference, target)
@@ -5,12 +5,12 @@ import android.graphics.Bitmap
import android.graphics.ImageDecoder
import android.graphics.drawable.AnimatedImageDrawable
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.os.AsyncTask
import android.os.Build
import androidx.annotation.RequiresApi
import com.yandex.div.core.DivIdLoggingImageDownloadCallback
import com.yandex.div.core.dagger.DivScope
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.util.ImageRepresentation
@@ -37,9 +37,6 @@ import java.io.IOException
import java.lang.ref.WeakReference
import javax.inject.Inject
private const val TEMP_FILE_NAME = "if_u_see_me_in_file_system_plz_report"
private const val GIF_SUFFIX = ".gif"
@DivScope
internal class DivGifImageBinder @Inject constructor(
baseBinder: DivBaseBinder,
@@ -104,10 +101,12 @@ internal class DivGifImageBinder @Inject constructor(
gravity = evaluateGravity(horizontalAlignment.evaluate(resolver), verticalAlignment.evaluate(resolver))
}
private fun DivGifImageView.applyGifImage(divView: Div2View,
resolver: ExpressionResolver,
div: DivGifImage,
errorCollector: ErrorCollector) {
private fun DivGifImageView.applyGifImage(
divView: Div2View,
resolver: ExpressionResolver,
div: DivGifImage,
errorCollector: ErrorCollector
) {
val newGifUrl = div.gifUrl.evaluate(resolver)
if (newGifUrl == gifUrl) {
return
@@ -121,29 +120,29 @@ internal class DivGifImageBinder @Inject constructor(
gifUrl = newGifUrl
// we don't reuse this because not all clients has bytes cache
val reference = imageLoader.loadImageBytes(
val reference = imageLoader.loadAnimatedImage(
newGifUrl.toString(),
object : DivIdLoggingImageDownloadCallback(divView) {
override fun onSuccess(cachedBitmap: CachedBitmap) {
super.onSuccess(cachedBitmap)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
loadDrawable(cachedBitmap)
} else {
setImage(divView, cachedBitmap.bitmap)
imageLoaded()
onSuccess(cachedBitmap.bitmap, cachedBitmap.from)
}
}
override fun onSuccess(drawable: Drawable) {
super.onSuccess(drawable)
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) {
setImage(divView, bitmap)
imageLoaded()
}
override fun onSuccess(drawable: Drawable, source: BitmapSource) {
setImage(divView, drawable)
imageLoaded()
}
override fun onSuccess(pictureDrawable: PictureDrawable) = onSuccess(pictureDrawable as Drawable)
override fun onError() {
super.onError()
override fun onError(e: Throwable?) {
gifUrl = null
}
}
@@ -208,26 +207,22 @@ internal class DivGifImageBinder @Inject constructor(
val reference = imageLoader.loadImage(
newPreviewUrl,
object : DivIdLoggingImageDownloadCallback(divView) {
override fun onSuccess(cachedBitmap: CachedBitmap) {
super.onSuccess(cachedBitmap)
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) {
if (!isImageLoaded) {
setPreview(divView, cachedBitmap.bitmap)
setPreview(divView, bitmap)
previewLoaded()
}
}
override fun onSuccess(drawable: Drawable) {
super.onSuccess(drawable)
override fun onSuccess(drawable: Drawable, source: BitmapSource) {
if (!isImageLoaded) {
setPreview(divView, drawable)
previewLoaded()
}
}
override fun onSuccess(pictureDrawable: PictureDrawable) = onSuccess(pictureDrawable as Drawable)
override fun onError() {
super.onError()
override fun onError(e: Throwable?) {
previewUrl = null
}
}
@@ -321,6 +316,8 @@ internal class DivGifImageBinder @Inject constructor(
private companion object {
const val TAG = "DivGifImageBinder"
const val TEMP_FILE_NAME = "if_u_see_me_in_file_system_plz_report"
const val GIF_SUFFIX = ".gif"
private fun DivGifImageView.setPlaceholder(divView: Div2View, drawable: Drawable?) {
divView.runBindingAction {
@@ -1,15 +1,14 @@
package com.yandex.div.core.view2.divs
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.widget.ImageView
import androidx.core.graphics.drawable.toBitmap
import com.yandex.div.core.DivIdLoggingImageDownloadCallback
import com.yandex.div.core.dagger.DivScope
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.util.ImageRepresentation
import com.yandex.div.core.util.androidInterpolator
@@ -17,7 +16,6 @@ import com.yandex.div.core.util.bitmap.applyScaleAndFilters
import com.yandex.div.core.util.equalsToConstant
import com.yandex.div.core.util.evaluateGravity
import com.yandex.div.core.util.isConstant
import com.yandex.div.core.util.toCachedBitmap
import com.yandex.div.core.util.toFilters
import com.yandex.div.core.util.toImageScale
import com.yandex.div.core.util.toPorterDuffMode
@@ -363,32 +361,31 @@ internal class DivImageBinder @Inject constructor(
val reference = imageLoader.loadImage(
imageUrl.toString(),
object : DivIdLoggingImageDownloadCallback(bindingContext.divView) {
override fun onSuccess(cachedBitmap: CachedBitmap) {
super.onSuccess(cachedBitmap)
applyScaleAndFiltersAndSetBitmap(bindingContext, cachedBitmap.bitmap, div.scale, div.filters)
applyLoadingFade(div, resolver, cachedBitmap.from)
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) {
applyScaleAndFiltersAndSetBitmap(bindingContext, bitmap, div.scale, div.filters)
applyLoadingFade(div, resolver, source)
imageLoaded()
applyTint(div.tintColor?.evaluate(resolver), div.tintMode.evaluate(resolver))
invalidate()
}
override fun onSuccess(pictureDrawable: PictureDrawable) {
if (!div.isVectorCompatible()) {
val bitmap = pictureDrawable.toCachedBitmap(imageUrl)
onSuccess(bitmap)
return
}
super.onSuccess(pictureDrawable)
setImageDrawable(bindingContext.divView, pictureDrawable)
applyLoadingFade(div, resolver, null)
override fun onSuccess(drawable: Drawable, source: BitmapSource) {
setImageDrawable(bindingContext.divView, drawable)
applyLoadingFade(div, resolver, source)
imageLoaded()
invalidate()
}
override fun onError() {
super.onError()
override fun onSuccess(pictureDrawable: PictureDrawable, source: BitmapSource) {
if (div.isVectorCompatible()) {
return super.onSuccess(pictureDrawable, source)
}
onSuccess(pictureDrawable.toBitmap(), source)
}
override fun onError(e: Throwable?) {
this@applyImage.imageUrl = null
}
}
@@ -1,8 +1,9 @@
package com.yandex.div.core.view2.divs.tabs
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Color
import android.graphics.drawable.PictureDrawable
import android.graphics.drawable.Drawable
import android.util.DisplayMetrics
import android.view.View
import androidx.core.graphics.drawable.toBitmap
@@ -15,7 +16,7 @@ import com.yandex.div.core.dagger.Names
import com.yandex.div.core.downloader.DivPatchCache
import com.yandex.div.core.expression.local.DivRuntimeVisitor
import com.yandex.div.core.font.DivTypefaceType
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.state.DivStatePath
import com.yandex.div.core.state.TabsStateCache
@@ -346,18 +347,14 @@ internal class DivTabsBinder @Inject constructor(
val reference = imageLoader.loadImage(
style.imageUrl.evaluate(resolver).toString(),
object : DivIdLoggingImageDownloadCallback(bindingContext.divView) {
override fun onSuccess(cachedBitmap: CachedBitmap) {
super.onSuccess(cachedBitmap)
setTabDelimiter(cachedBitmap.bitmap, evaluatedWidth, evaluatedHeight)
}
override fun onSuccess(pictureDrawable: PictureDrawable) {
super.onSuccess(pictureDrawable)
setTabDelimiter(pictureDrawable.toBitmap(), evaluatedWidth, evaluatedHeight)
}
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) =
setTabDelimiter(bitmap, evaluatedWidth, evaluatedHeight)
override fun onError() {
super.onError()
override fun onSuccess(drawable: Drawable, source: BitmapSource) =
onSuccess(drawable.toBitmap(), source)
override fun onError(e: Throwable?) {
setTabDelimiter(null, 0, 0)
}
}
@@ -22,7 +22,7 @@ import androidx.core.view.ViewCompat
import com.yandex.div.core.DivIdLoggingImageDownloadCallback
import com.yandex.div.core.actions.logWarning
import com.yandex.div.core.dagger.DivScope
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.util.text.DivBackgroundSpan
import com.yandex.div.core.util.toIntSafely
@@ -727,32 +727,35 @@ internal class SpannedTextBuilder @Inject constructor(
private val textConsumer: TextConsumer? = null
) : DivIdLoggingImageDownloadCallback(bindingContext.divView) {
override fun onSuccess(cachedBitmap: CachedBitmap) = onSuccess(cachedBitmap.bitmap)
private fun onSuccess(bitmap: Bitmap) {
val resources = bindingContext.divView.resources
val resolver = bindingContext.expressionResolver
val tintColor = image.tintColor?.evaluate(resolver)
val tintMode = image.tintMode.evaluate(resolver).toPorterDuffMode()
val imageDrawable = bitmap.toDrawable(resources)
if (tintColor != null) {
imageDrawable.colorFilter = PorterDuffColorFilter(tintColor, tintMode)
override fun dispatchDrawable(drawable: Drawable, source: BitmapSource) {
when (drawable) {
is PictureDrawable -> onSuccess(drawable, source)
else -> onSuccess(drawable, source)
}
setImage(imageDrawable)
}
override fun onSuccess(drawable: Drawable) {
override fun onSuccess(bitmap: Bitmap, source: BitmapSource) {
val resources = bindingContext.divView.resources
onSuccess(bitmap.toDrawable(resources), source)
}
override fun onSuccess(drawable: Drawable, source: BitmapSource) {
val resolver = bindingContext.expressionResolver
image.tintColor?.evaluate(resolver)?.let {
val tintMode = image.tintMode.evaluate(resolver).toPorterDuffMode()
drawable.colorFilter = PorterDuffColorFilter(it, tintMode)
}
setImage(drawable)
}
override fun onSuccess(pictureDrawable: PictureDrawable, source: BitmapSource) {
if (image.isVectorCompatible) {
setImage(drawable)
setImage(pictureDrawable)
return
}
onSuccess(drawable.toBitmap())
onSuccess(pictureDrawable.toBitmap(), source)
}
override fun onSuccess(pictureDrawable: PictureDrawable) = onSuccess(pictureDrawable as Drawable)
private fun setImage(image: Drawable) {
imageSpan.image = image
textConsumer?.invoke(spannedText)
@@ -34,6 +34,7 @@ internal class ScalingDrawable : Drawable() {
var additionalScale: Float = 1f
private var originalBitmap: Bitmap? = null
private var originalPicture: Picture? = null
private var originalDrawable: Drawable? = null
private val paint = Paint(Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG)
private var thumbTransformMatrix: Matrix = Matrix()
@@ -53,12 +54,21 @@ internal class ScalingDrawable : Drawable() {
fun setBitmap(bitmap: Bitmap) {
originalBitmap = bitmap
originalPicture = null
originalDrawable = null
reset()
}
fun setPicture(picture: Picture) {
originalPicture = picture
originalBitmap = null
originalDrawable = null
reset()
}
fun setDrawable(drawable: Drawable) {
originalDrawable = drawable
originalBitmap = null
originalPicture = null
reset()
}
@@ -78,8 +88,8 @@ internal class ScalingDrawable : Drawable() {
canvas.save()
// pre drawing
val drawableWidth = originalBitmap?.width ?: originalPicture?.width ?: 0
val drawableHeight = originalBitmap?.height ?: originalPicture?.height ?: 0
val drawableWidth = originalBitmap?.width ?: originalPicture?.width ?: originalDrawable?.intrinsicWidth ?: 0
val drawableHeight = originalBitmap?.height ?: originalPicture?.height ?: originalDrawable?.intrinsicHeight ?: 0
if (drawableHeight <= 0 || drawableWidth <= 0) {
originalBitmap?.let {
@@ -88,6 +98,7 @@ internal class ScalingDrawable : Drawable() {
originalPicture?.let {
canvas.drawPicture(it)
}
originalDrawable?.draw(canvas)
canvas.restore()
return
}
@@ -140,6 +151,7 @@ internal class ScalingDrawable : Drawable() {
originalPicture?.let {
canvas.drawPicture(it)
}
originalDrawable?.draw(canvas)
// restore frame and other
canvas.restore()
}
@@ -2,9 +2,11 @@ package com.yandex.div.core.view2.divs
import android.graphics.Bitmap
import android.graphics.Color
import android.graphics.drawable.BitmapDrawable
import android.net.Uri
import com.yandex.div.core.asExpression
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.BitmapSource
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.util.ImageRepresentation
import com.yandex.div.core.view2.DivPlaceholderLoader
@@ -99,7 +101,7 @@ class DivImageBinderTest : DivBinderTest() {
}
@Test
fun `do not bind image when imageUrl did not change and bitmap was loaded`() {
fun `do not bind image when imageUrl did not change and image was loaded`() {
val (view, divImage) = createTestDiv("with_action.json")
binder.bindView(bindingContext, view, divImage)
@@ -150,7 +152,7 @@ class DivImageBinderTest : DivBinderTest() {
}
@Test
fun `bind image when bitmap was loaded but imageUrl changed`() {
fun `bind image when image was loaded but imageUrl changed`() {
val (view, _) = createTestDiv("with_action.json")
val divImage = createTestDiv(preview = PREVIEW, highPriorityPreviewShow = true)
@@ -169,7 +171,7 @@ class DivImageBinderTest : DivBinderTest() {
}
@Test
fun `ignore high priority preview show when bitmap was already loaded`() {
fun `ignore high priority preview show when image was already loaded`() {
val (view, _) = createTestDiv("with_action.json")
val divImage = createTestDiv(preview = PREVIEW, highPriorityPreviewShow = true)
@@ -261,10 +263,11 @@ class DivImageBinderTest : DivBinderTest() {
private fun whenImageLoaded(imageUrl: String) {
val imageDownloadCallbackCaptor = argumentCaptor<DivImageDownloadCallback>()
verify(imageLoader).loadImage(eq(imageUrl), imageDownloadCallbackCaptor.capture())
val cachedBitmap = mock<CachedBitmap> {
val bitmapDrawable = mock<BitmapDrawable> {
on { bitmap } doReturn mock()
}
imageDownloadCallbackCaptor.firstValue.onSuccess(cachedBitmap)
val cachedImage = DivCachedImage.Drawable(bitmapDrawable, BitmapSource.MEMORY)
imageDownloadCallbackCaptor.firstValue.onSuccess(cachedImage)
}
private fun whenPreviewLoaded() {
@@ -1,7 +1,6 @@
package com.yandex.div.interactive
import android.app.Activity
import android.widget.ImageView
import com.yandex.div.DivDataTag
import com.yandex.div.core.Div2Context
import com.yandex.div.core.DivConfiguration
@@ -13,7 +12,6 @@ import com.yandex.div.core.expression.ExpressionTestCaseUtils.createVariable
import com.yandex.div.core.expression.local.variableController
import com.yandex.div.core.expression.name
import com.yandex.div.core.expression.variables.wrapVariableValue
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.images.LoadReference
import com.yandex.div.core.view2.Div2View
@@ -107,11 +105,7 @@ class IntegrationMultiplatformTest(testCase: TestCaseOrError<IntegrationTestCase
companion object {
private const val TEST_CASES_FILE_PATH = "integration_test_data"
private val EMPTY_REF = LoadReference { }
private val IMAGE_LOADER_STUB = object : DivImageLoader {
override fun loadImage(imageUrl: String, callback: DivImageDownloadCallback) = EMPTY_REF
override fun loadImage(imageUrl: String, imageView: ImageView) = EMPTY_REF
override fun loadImageBytes(imageUrl: String, callback: DivImageDownloadCallback) = EMPTY_REF
}
private val IMAGE_LOADER_STUB = DivImageLoader { _, _ -> EMPTY_REF }
private val LOGGER = IntegrationTestLogger()
private val CASES = getCases()
@@ -1,9 +1,6 @@
package com.yandex.divkit.demo.div
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.widget.ImageView
import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivCachedImage
import com.yandex.div.core.images.DivImageDownloadCallback
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.images.LoadReference
@@ -23,11 +20,9 @@ class DemoDivImageLoaderWrapper(private val loader: DivImageLoader) : DivImageLo
}
}
override fun loadImage(imageUrl: String, imageView: ImageView) = loader.loadImage(imageUrl, imageView)
override fun loadImageBytes(imageUrl: String, callback: DivImageDownloadCallback): LoadReference {
override fun loadAnimatedImage(imageUrl: String, callback: DivImageDownloadCallback): LoadReference {
targets.add(callback)
val loadReference = loader.loadImageBytes(imageUrl, CallbackWrapper(callback))
val loadReference = loader.loadAnimatedImage(imageUrl, CallbackWrapper(callback))
return LoadReference {
loadReference.cancel()
targets.remove(callback)
@@ -42,29 +37,14 @@ class DemoDivImageLoaderWrapper(private val loader: DivImageLoader) : DivImageLo
private inner class CallbackWrapper(private val callback: DivImageDownloadCallback) : DivImageDownloadCallback() {
override fun onSuccess(cachedBitmap: CachedBitmap) {
override fun onSuccess(cachedImage: DivCachedImage) {
targets.remove(callback)
callback.onSuccess(cachedBitmap)
callback.onSuccess(cachedImage)
}
override fun onSuccess(pictureDrawable: PictureDrawable) {
override fun onError(e: Throwable?) {
targets.remove(callback)
callback.onSuccess(pictureDrawable)
}
override fun onSuccess(drawable: Drawable) {
targets.remove(callback)
callback.onSuccess(drawable)
}
override fun onError() {
targets.remove(callback)
callback.onError()
}
override fun onCancel() {
targets.remove(callback)
callback.onCancel()
callback.onError(e)
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Some files were not shown because too many files have changed in this diff Show More