Merge "Minor fixes to stop crashing on panning/dragging on phones." into honeycomb
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 05d37d9..addea4b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -39,7 +39,7 @@
     <string name="wallpaper_instructions">Set wallpaper</string>
     <!-- Option in "Select wallpaper from" dialog box -->
     <string name="pick_wallpaper">Wallpapers</string>
-    <!-- Displayed when user selects a shortcut for an app that was uninstalled -->
+    <!-- Displayed when user selects a shortcut for an app that was uninstalled [CHAR_LIMIT=none]-->
     <string name="activity_not_found">Application is not installed.</string>
     <!-- List item for configuring the current wallpaper -->
     <string name="configure_wallpaper">Configure...</string>
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