diff options
| author | 2011-01-13 13:52:49 -0800 | |
|---|---|---|
| committer | 2011-01-13 14:41:25 -0800 | |
| commit | fb81703ab11c653a587b652b90ec3b550f500ccf (patch) | |
| tree | 6fb6d2a5f393f6f2119fd296f0d8acae20158eeb | |
| parent | a6cbd72816932239a9d7e5fe665d05d6d0eae3bb (diff) | |
fix for cts DuplicateParentStateEnabled bug with TextViews.
Bug 3347206
Do not add an extra slot in the drawable state for multiline if it
is not needed.
Updated setDuplicateParentStateEnabled documentation.
Change-Id: I95f74284721e25b483e12e9b861e810a55c260b6
| -rw-r--r-- | core/java/android/view/View.java | 4 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 45c35f038c5d..c319ad107257 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -58,6 +58,7 @@ import android.util.PoolableManager; import android.util.Pools; import android.util.SparseArray; import android.view.ContextMenu.ContextMenuInfo; +import android.view.View.MeasureSpec; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityEventSource; import android.view.accessibility.AccessibilityManager; @@ -7822,6 +7823,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * * <p>Note: if this view's parent addStateFromChildren property is enabled and this * property is enabled, an exception will be thrown.</p> + * + * <p>Note: if the child view uses and updates additionnal states which are unknown to the + * parent, these states should not be affected by this method.</p> * * @param enabled True to enable duplication of the parent's drawable state, false * to disable it. diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index b892fe213591..623cd4180c3d 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -4135,9 +4135,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override protected int[] onCreateDrawableState(int extraSpace) { - final int[] drawableState = super.onCreateDrawableState(extraSpace + 1); + final int[] drawableState; - if (!mSingleLine) { + if (mSingleLine) { + drawableState = super.onCreateDrawableState(extraSpace); + } else { + drawableState = super.onCreateDrawableState(extraSpace + 1); mergeDrawableStates(drawableState, MULTILINE_STATE_SET); } |