diff options
author | Gilles Debunne <debunne@google.com> | 2011-01-13 13:52:49 -0800 |
---|---|---|
committer | Gilles Debunne <debunne@google.com> | 2011-01-13 14:41:25 -0800 |
commit | fb81703ab11c653a587b652b90ec3b550f500ccf (patch) | |
tree | 6fb6d2a5f393f6f2119fd296f0d8acae20158eeb /core/java/android | |
parent | a6cbd72816932239a9d7e5fe665d05d6d0eae3bb (diff) | |
download | frameworks_base-fb81703ab11c653a587b652b90ec3b550f500ccf.zip frameworks_base-fb81703ab11c653a587b652b90ec3b550f500ccf.tar.gz frameworks_base-fb81703ab11c653a587b652b90ec3b550f500ccf.tar.bz2 |
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
Diffstat (limited to 'core/java/android')
-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 45c35f0..c319ad1 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 b892fe2..623cd41 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); } |