diff options
| -rw-r--r-- | core/java/com/android/internal/widget/MessagingLinearLayout.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/com/android/internal/widget/MessagingLinearLayout.java b/core/java/com/android/internal/widget/MessagingLinearLayout.java index 64b1f241464b..0c8613b460f6 100644 --- a/core/java/com/android/internal/widget/MessagingLinearLayout.java +++ b/core/java/com/android/internal/widget/MessagingLinearLayout.java @@ -111,14 +111,16 @@ public class MessagingLinearLayout extends ViewGroup { final int childHeight = child.getMeasuredHeight(); int newHeight = Math.max(totalHeight, totalHeight + childHeight + lp.topMargin + lp.bottomMargin + spacing); - first = false; int measureType = MessagingChild.MEASURED_NORMAL; if (messagingChild != null) { measureType = messagingChild.getMeasuredType(); linesRemaining -= messagingChild.getConsumedLines(); } - boolean isShortened = measureType == MessagingChild.MEASURED_SHORTENED; - boolean isTooSmall = measureType == MessagingChild.MEASURED_TOO_SMALL; + + // We never measure the first item as too small, we want to at least show something. + boolean isTooSmall = measureType == MessagingChild.MEASURED_TOO_SMALL && !first; + boolean isShortened = measureType == MessagingChild.MEASURED_SHORTENED + || measureType == MessagingChild.MEASURED_TOO_SMALL && first; if (newHeight <= targetHeight && !isTooSmall) { totalHeight = newHeight; measuredWidth = Math.max(measuredWidth, @@ -131,6 +133,7 @@ public class MessagingLinearLayout extends ViewGroup { } else { break; } + first = false; } setMeasuredDimension( |