From 3661101005c6527dfd384d0c88c4a3b68ee208af Mon Sep 17 00:00:00 2001 From: Romain Guy <> Date: Wed, 25 Mar 2009 16:28:37 -0700 Subject: [PATCH] Automated import from //branches/cupcake/...@142788,142788 --- core/java/android/view/ViewGroup.java | 8 ++++---- core/java/android/widget/ListView.java | 1 + core/java/android/widget/TextView.java | 10 ++++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 39aecfdf52d1d..4f506ff606822 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -1407,6 +1407,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } } + // Clear the flag as early as possible to allow draw() implementations + // to call invalidate() successfully when doing animations + child.mPrivateFlags |= DRAWN; + if (!concatMatrix && canvas.quickReject(cl, ct, cr, cb, Canvas.EdgeType.BW) && (child.mPrivateFlags & DRAW_ANIMATION) == 0) { return more; @@ -1476,10 +1480,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } } - // Clear the flag as early as possible to allow draw() implementations - // to call invalidate() successfully when doing animations - child.mPrivateFlags |= DRAWN; - if (hasNoCache) { // Fast path for layouts with no backgrounds if ((child.mPrivateFlags & SKIP_DRAW) == SKIP_DRAW) { diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java index 4d5032ea3129f..a786b3f940e3a 100644 --- a/core/java/android/widget/ListView.java +++ b/core/java/android/widget/ListView.java @@ -1060,6 +1060,7 @@ public class ListView extends AbsListView { * UNSPECIFIED/AT_MOST modes, false otherwise. * @hide */ + @ViewDebug.ExportedProperty protected boolean recycleOnMeasure() { return true; } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 81516b9158dce..9c810e1c426de 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -3359,12 +3359,16 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mPopup.update(this, getErrorX(), getErrorY(), -1, -1); } + restartMarqueeIfNeeded(); + + return result; + } + + private void restartMarqueeIfNeeded() { if (mRestartMarquee && mEllipsize == TextUtils.TruncateAt.MARQUEE) { mRestartMarquee = false; startMarquee(); } - - return result; } /** @@ -3674,6 +3678,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override protected void onDraw(Canvas canvas) { + restartMarqueeIfNeeded(); + // Draw the background for this view super.onDraw(canvas);