From 798562bfbded2adce6c59ed5de065aee8ae97475 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Tue, 21 Apr 2020 16:35:50 -0700 Subject: [PATCH] Translate text by `top` We were centralizing without considering that there could be some additional translation passed to DynamicDrawableSpan#draw Test: atest DynamicDrawableSpanTest Fixes: 154489406 Change-Id: I9615f478d1962b2d6fd54123fc391554073f5bf1 --- core/java/android/text/style/DynamicDrawableSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/java/android/text/style/DynamicDrawableSpan.java b/core/java/android/text/style/DynamicDrawableSpan.java index f37e4238a1c66..d6d99f846e169 100644 --- a/core/java/android/text/style/DynamicDrawableSpan.java +++ b/core/java/android/text/style/DynamicDrawableSpan.java @@ -166,7 +166,7 @@ public abstract class DynamicDrawableSpan extends ReplacementSpan { if (mVerticalAlignment == ALIGN_BASELINE) { transY -= paint.getFontMetricsInt().descent; } else if (mVerticalAlignment == ALIGN_CENTER) { - transY = (bottom - top) / 2 - b.getBounds().height() / 2; + transY = top + (bottom - top) / 2 - b.getBounds().height() / 2; } canvas.translate(x, transY);