summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/BubbleTextView.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2010-12-13 12:11:33 -0800
committerWinson Chung <winsonc@google.com>2010-12-14 15:32:02 -0800
commit88127038178b3bbf0eb91103a31e682cc0615074 (patch)
treeb380b586ed42782e8d9f34866dc083dec435e90b /src/com/android/launcher2/BubbleTextView.java
parent09a19c4cfc91795a11ae0b4e75b6fc6588cffee9 (diff)
downloadandroid_packages_apps_Trebuchet-88127038178b3bbf0eb91103a31e682cc0615074.tar.gz
android_packages_apps_Trebuchet-88127038178b3bbf0eb91103a31e682cc0615074.tar.bz2
android_packages_apps_Trebuchet-88127038178b3bbf0eb91103a31e682cc0615074.zip
Various tweaks to launcher
- Removing hotdog for shadow bg protection - Adding bg protection for customization tray - Restoring holographic outlines for all apps - Small bug fixes Change-Id: I58d81bb490f78c76fcaf46122febc3c1aace854e
Diffstat (limited to 'src/com/android/launcher2/BubbleTextView.java')
-rw-r--r--src/com/android/launcher2/BubbleTextView.java74
1 files changed, 39 insertions, 35 deletions
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 855f261f8..995877b91 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -36,6 +36,11 @@ import com.android.launcher.R;
*/
public class BubbleTextView extends CacheableTextView {
static final float CORNER_RADIUS = 4.0f;
+ static final float SHADOW_LARGE_RADIUS = 4.0f;
+ static final float SHADOW_SMALL_RADIUS = 1.75f;
+ static final float SHADOW_Y_OFFSET = 2.0f;
+ static final int SHADOW_LARGE_COLOUR = 0xCC000000;
+ static final int SHADOW_SMALL_COLOUR = 0xBB000000;
static final float PADDING_H = 8.0f;
static final float PADDING_V = 3.0f;
@@ -83,11 +88,17 @@ public class BubbleTextView extends CacheableTextView {
mPaddingV = PADDING_V * scale;
}
- protected int getVerticalPadding() {
+ protected int getCacheTopPadding() {
return (int) PADDING_V;
}
- protected int getHorizontalPadding() {
- return (int) PADDING_H;
+ protected int getCacheBottomPadding() {
+ return (int) (PADDING_V + SHADOW_LARGE_RADIUS + SHADOW_Y_OFFSET);
+ }
+ protected int getCacheLeftPadding() {
+ return (int) (PADDING_H + SHADOW_LARGE_RADIUS);
+ }
+ protected int getCacheRightPadding() {
+ return (int) (PADDING_H + SHADOW_LARGE_RADIUS);
}
public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache) {
@@ -126,41 +137,34 @@ public class BubbleTextView extends CacheableTextView {
@Override
public void draw(Canvas canvas) {
- final Drawable background = mBackground;
- if (background != null) {
- final int scrollX = mScrollX;
- final int scrollY = mScrollY;
-
- if (mBackgroundSizeChanged) {
- background.setBounds(0, 0, mRight - mLeft, mBottom - mTop);
- mBackgroundSizeChanged = false;
- }
-
- if ((scrollX | scrollY) == 0) {
- background.draw(canvas);
- } else {
- canvas.translate(scrollX, scrollY);
- background.draw(canvas);
- canvas.translate(-scrollX, -scrollY);
+ if (isBuildingCache()) {
+ // We enhance the shadow by drawing the shadow twice
+ this.setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR);
+ super.draw(canvas);
+ this.setShadowLayer(SHADOW_SMALL_RADIUS, 0.0f, 0.0f, SHADOW_SMALL_COLOUR);
+ super.draw(canvas);
+ } else {
+ final Drawable background = mBackground;
+ if (background != null) {
+ final int scrollX = mScrollX;
+ final int scrollY = mScrollY;
+
+ if (mBackgroundSizeChanged) {
+ background.setBounds(0, 0, mRight - mLeft, mBottom - mTop);
+ mBackgroundSizeChanged = false;
+ }
+
+ if ((scrollX | scrollY) == 0) {
+ background.draw(canvas);
+ } else {
+ canvas.translate(scrollX, scrollY);
+ background.draw(canvas);
+ canvas.translate(-scrollX, -scrollY);
+ }
}
- }
- // Draw the hotdog bubble
- final Layout layout = getLayout();
- if (layout != null) {
- final int offset = getExtendedPaddingTop();
- final int paddingLeft = getPaddingLeft();
- final int paddingRight = getPaddingRight();
- final float left = layout.getLineLeft(0) + paddingLeft;
- final float right = Math.min(layout.getLineRight(0) + paddingRight,
- left + getWidth() - paddingLeft - paddingRight);
- mRect.set(left - mPaddingH, offset + (int) layout.getLineTop(0) - mPaddingV,
- right + mPaddingH, offset + (int) layout.getLineBottom(0) + mPaddingV);
-
- canvas.drawRoundRect(mRect, mCornerRadius, mCornerRadius, mPaint);
+ super.draw(canvas);
}
-
- super.draw(canvas);
}
@Override