diff options
| author | Chet Haase <chet@google.com> | 2012-04-03 15:40:54 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-03 15:40:54 -0700 |
| commit | 21aec19d3041fe040004dd32eef0cfd1bafd6fb6 (patch) | |
| tree | a537409db7054f2faa88b2661cbec9a113bcb7e6 /core/java/android/widget | |
| parent | 66ac90276a07b63ad74761d0bd0f1a7218babfbf (diff) | |
| parent | db8c9a6a4d9bf8c39f834b25611926caf21380f6 (diff) | |
| download | frameworks_base-21aec19d3041fe040004dd32eef0cfd1bafd6fb6.zip frameworks_base-21aec19d3041fe040004dd32eef0cfd1bafd6fb6.tar.gz frameworks_base-21aec19d3041fe040004dd32eef0cfd1bafd6fb6.tar.bz2 | |
Merge "Optimization of alpha with DisplayList properties"
Diffstat (limited to 'core/java/android/widget')
| -rw-r--r-- | core/java/android/widget/ImageView.java | 11 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 12 |
2 files changed, 21 insertions, 2 deletions
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java index b1a75e1..91e2e49 100644 --- a/core/java/android/widget/ImageView.java +++ b/core/java/android/widget/ImageView.java @@ -201,7 +201,7 @@ public class ImageView extends View { @Override protected boolean onSetAlpha(int alpha) { - if (getBackground() == null) { + if (!USE_DISPLAY_LIST_PROPERTIES && getBackground() == null) { int scale = alpha + (alpha >> 7); if (mViewAlphaScale != scale) { mViewAlphaScale = scale; @@ -214,6 +214,15 @@ public class ImageView extends View { } @Override + public boolean hasOverlappingRendering() { + if (!USE_DISPLAY_LIST_PROPERTIES) { + return super.hasOverlappingRendering(); + } else { + return (getBackground() != null); + } + } + + @Override public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); CharSequence contentDescription = getContentDescription(); diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 2a81f08..d2a1755 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -4268,7 +4268,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener protected boolean onSetAlpha(int alpha) { // Alpha is supported if and only if the drawing can be done in one pass. // TODO text with spans with a background color currently do not respect this alpha. - if (getBackground() == null) { + if (!USE_DISPLAY_LIST_PROPERTIES && + (getBackground() != null || mText instanceof Spannable || hasSelection())) { if (mCurrentAlpha != alpha) { mCurrentAlpha = alpha; final Drawables dr = mDrawables; @@ -4292,6 +4293,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return false; } + @Override + public boolean hasOverlappingRendering() { + if (!USE_DISPLAY_LIST_PROPERTIES) { + return super.hasOverlappingRendering(); + } else { + return (getBackground() != null || mText instanceof Spannable || hasSelection()); + } + } + /** * When a TextView is used to display a useful piece of information to the user (such as a * contact's address), it should be made selectable, so that the user can select and copy this |
