Fix clipping of blue glow around icons when they're clicked
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 2d04924..348fe34 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -25,6 +25,7 @@
 import android.graphics.Color;
 import android.graphics.Paint;
 import android.graphics.Rect;
+import android.graphics.Region;
 import android.graphics.Region.Op;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
@@ -242,10 +243,17 @@
     @Override
     public void draw(Canvas canvas) {
         if (mPressedOrFocusedBackground != null && (isPressed() || isFocused())) {
+            // The blue glow can extend outside of our clip region, so we first temporarily expand
+            // the canvas's clip region
+            canvas.save(Canvas.CLIP_SAVE_FLAG);
+            int padding = HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2;
+            canvas.clipRect(-padding + mScrollX, -padding + mScrollY,
+                    getWidth() + padding + mScrollX, getHeight() + padding + mScrollY,
+                    Region.Op.REPLACE);
+            // draw blue glow
             canvas.drawBitmap(mPressedOrFocusedBackground,
-                    mScrollX - HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2,
-                    mScrollY - HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2,
-                    mTempPaint);
+                    mScrollX - padding, mScrollY - padding, mTempPaint);
+            canvas.restore();
         }
         if (isBuildingCache()) {
             // We enhance the shadow by drawing the shadow twice