From 4fec46fb4db65cce933210f5ab1a8104e6e8433d Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Fri, 21 Jun 2019 00:56:43 +0300 Subject: [PATCH] Fix async-drawable tests --- docs/docs/v4/ext-latex/README.md | 3 ++- .../noties/markwon/image/AsyncDrawableLoaderImpl.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/docs/v4/ext-latex/README.md b/docs/docs/v4/ext-latex/README.md index 4d57371f..bf8a9400 100644 --- a/docs/docs/v4/ext-latex/README.md +++ b/docs/docs/v4/ext-latex/README.md @@ -32,10 +32,11 @@ final Markwon markwon = Markwon.builder(context) @Override public void configureBuilder(@NonNull Builder builder) { builder - .background(backgroundDrawable) .align(JLatexMathDrawable.ALIGN_CENTER) .fitCanvas(true) .padding(paddingPx) + // @since 4.0.0 - change to provider + .backgroundProvider(() -> new MyDrawable())) // @since 4.0.0 - optional, by default cached-thread-pool will be used .executorService(Executors.newCachedThreadPool()); } diff --git a/markwon-image/src/main/java/io/noties/markwon/image/AsyncDrawableLoaderImpl.java b/markwon-image/src/main/java/io/noties/markwon/image/AsyncDrawableLoaderImpl.java index a88a69e1..e1b92d55 100644 --- a/markwon-image/src/main/java/io/noties/markwon/image/AsyncDrawableLoaderImpl.java +++ b/markwon-image/src/main/java/io/noties/markwon/image/AsyncDrawableLoaderImpl.java @@ -1,5 +1,6 @@ package io.noties.markwon.image; +import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Handler; @@ -144,9 +145,13 @@ class AsyncDrawableLoaderImpl extends AsyncDrawableLoader { final Drawable out = drawable; // @since 4.0.0-SNAPSHOT apply intrinsic bounds (but only if they are empty) - if (out != null - && out.getBounds().isEmpty()) { - DrawableUtils.applyIntrinsicBounds(out); + if (out != null) { + final Rect bounds = out.getBounds(); + //noinspection ConstantConditions + if (bounds == null + || bounds.isEmpty()) { + DrawableUtils.applyIntrinsicBounds(out); + } } handler.postAtTime(new Runnable() {