From cfc79a9e5f5773f5d8d5246f734b62459c79bf92 Mon Sep 17 00:00:00 2001 From: Siyamed Sinir Date: Thu, 25 May 2017 19:37:06 -0700 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20try=20to=20autoSize=20if=20Text?= =?UTF-8?q?View=20is=20not=20measured?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL early returns from auto sizing text if the view is not measured yet. Test: run cts --test android.widget.cts.TextViewTest -m CtsWidgetTestCases Test: Added cts.TextViewTest#testAutosizeWithMaxLines_shouldNotThrowException Test: Manual test with sample app for the failing case. Bug: 38440435 Change-Id: Ic03c991f33a2b7701623f00f44cba7fb6cdfce46 --- core/java/android/widget/TextView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 2f1f8906e2328..de560920b8caf 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -8257,6 +8257,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * Automatically computes and sets the text size. */ private void autoSizeText() { + if (getMeasuredWidth() <= 0 || getMeasuredHeight() <= 0) return; final int maxWidth = getWidth() - getTotalPaddingLeft() - getTotalPaddingRight(); final int maxHeight = getHeight() - getExtendedPaddingBottom() - getExtendedPaddingTop();