summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commitfb81703ab11c653a587b652b90ec3b550f500ccf (patch)
tree6fb6d2a5f393f6f2119fd296f0d8acae20158eeb
parenta6cbd72816932239a9d7e5fe665d05d6d0eae3bb (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.java4
-rw-r--r--core/java/android/widget/TextView.java7
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);
}