From 6f968fe7e2bd8b876a6c18f27953ebc8e0a9c121 Mon Sep 17 00:00:00 2001 From: Calvin Huang Date: Mon, 8 May 2023 21:59:46 +0000 Subject: [PATCH] Check lineHeight without cast checkArgumentNonNegative with cast doesn't work properly if -1 < lineHeight < 0 Fix: 280028267 Test: atest android.widget.cts.TextViewTest Change-Id: I5a1244eb0c5a0f91671a77f6203178cbee2b64e5 --- core/java/android/widget/TextView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 34fe935b55a0c..fd408c8511f56 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -6228,7 +6228,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } private void setLineHeightPx(@Px @FloatRange(from = 0) float lineHeight) { - Preconditions.checkArgumentNonnegative((int) lineHeight); + Preconditions.checkArgumentNonNegative(lineHeight, + "Expecting non-negative lineHeight while the input is " + lineHeight); final int fontHeight = getPaint().getFontMetricsInt(null); // Make sure we don't setLineSpacing if it's not needed to avoid unnecessary redraw.