summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2011-01-13 13:52:49 -0800
committerGilles Debunne <debunne@google.com>2011-01-13 14:41:25 -0800
commitfb81703ab11c653a587b652b90ec3b550f500ccf (patch)
tree6fb6d2a5f393f6f2119fd296f0d8acae20158eeb /core/java/android
parenta6cbd72816932239a9d7e5fe665d05d6d0eae3bb (diff)
downloadframeworks_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.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 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);
}