Merge change 26786 into eclair

* changes:
  Remove old keystore and related files.
diff --git a/core/java/android/net/WebAddress.java b/core/java/android/net/WebAddress.java
index f6159de..f4ae66a 100644
--- a/core/java/android/net/WebAddress.java
+++ b/core/java/android/net/WebAddress.java
@@ -54,7 +54,7 @@
     static Pattern sAddressPattern = Pattern.compile(
             /* scheme    */ "(?:(http|HTTP|https|HTTPS|file|FILE)\\:\\/\\/)?" +
             /* authority */ "(?:([-A-Za-z0-9$_.+!*'(),;?&=]+(?:\\:[-A-Za-z0-9$_.+!*'(),;?&=]+)?)@)?" +
-            /* host      */ "([-A-Za-z0-9%_]+(?:\\.[-A-Za-z0-9%_]+)*)?" +
+            /* host      */ "([-A-Za-z0-9%_]+(?:\\.[-A-Za-z0-9%_]+)*|\\[[0-9a-fA-F:\\.]+\\])?" +
             /* port      */ "(?:\\:([0-9]+))?" +
             /* path      */ "(\\/?.*)?");
 
diff --git a/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java b/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java
index 0bc70de..6d29038 100644
--- a/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java
+++ b/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java
@@ -19,6 +19,7 @@
 import android.app.WallpaperManager;
 import android.graphics.Canvas;
 import android.graphics.Rect;
+import android.graphics.Region.Op;
 import android.graphics.drawable.Drawable;
 import android.os.HandlerThread;
 import android.os.Process;
@@ -134,14 +135,18 @@
                     final int dh = frame.height();
                     final int bw = mBackground.getIntrinsicWidth();
                     final int bh = mBackground.getIntrinsicHeight();
-                    final int availw = bw-dw;
-                    final int availh = bh-dh;
-                    int xPixels = availw > 0
-                            ? -(int)(availw*mXOffset+.5f) : -(availw/2);
-                    int yPixels = availh > 0
-                            ? -(int)(availh*mYOffset+.5f) : -(availh/2);
+                    final int availw = dw-bw;
+                    final int availh = dh-bh;
+                    int xPixels = availw < 0 ? (int)(availw*mXOffset+.5f) : (availw/2);
+                    int yPixels = availh < 0 ? (int)(availh*mYOffset+.5f) : (availh/2);
+
                     c.translate(xPixels, yPixels);
-                    c.drawColor(0xff000000);
+                    if (availw<0 || availh<0) {
+                        c.save(Canvas.CLIP_SAVE_FLAG);
+                        c.clipRect(0, 0, bw, bh, Op.DIFFERENCE);
+                        c.drawColor(0xff000000);
+                        c.restore();
+                    }
                     background.draw(c);
                 }
                 sh.unlockCanvasAndPost(c);
diff --git a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java b/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
index 98d4c25..4a77e19 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
+++ b/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
@@ -16,6 +16,8 @@
 
 package com.android.unit_tests;
 
+import android.telephony.TelephonyManager;
+
 import com.android.internal.telephony.GsmAlphabet;
 import com.android.internal.telephony.SmsHeader;
 import com.android.internal.telephony.cdma.SmsMessage;
@@ -820,6 +822,8 @@
 
     @SmallTest
     public void testFragmentText() throws Exception {
+        boolean isCdmaPhone = (TelephonyManager.getDefault().getPhoneType() ==
+                TelephonyManager.PHONE_TYPE_CDMA);
         // Valid 160 character ASCII text.
         String text1 = "123456789012345678901234567890123456789012345678901234567890" +
                 "1234567890123456789012345678901234567890123456789012345678901234567890" +
@@ -828,8 +832,10 @@
         assertEquals(ted.msgCount, 1);
         assertEquals(ted.codeUnitCount, 160);
         assertEquals(ted.codeUnitSize, 1);
-        ArrayList<String> fragments = android.telephony.SmsMessage.fragmentText(text1);
-        assertEquals(fragments.size(), 1);
+        if (isCdmaPhone) {
+            ArrayList<String> fragments = android.telephony.SmsMessage.fragmentText(text1);
+            assertEquals(fragments.size(), 1);
+        }
         // Valid 160 character GSM text -- the last character is
         // non-ASCII, and so this will currently generate a singleton
         // EMS message, which is not necessarily supported by Verizon.
@@ -840,7 +846,9 @@
         assertEquals(ted.msgCount, 1);
         assertEquals(ted.codeUnitCount, 160);
         assertEquals(ted.codeUnitSize, 1);
-        fragments = android.telephony.SmsMessage.fragmentText(text2);
-        assertEquals(fragments.size(), 1);
+        if (isCdmaPhone) {
+            ArrayList<String> fragments = android.telephony.SmsMessage.fragmentText(text2);
+            assertEquals(fragments.size(), 1);
+        }
     }
 }