Merge "Fix trailing garbage after UCS-2 encoded strings in ID3 V2."
diff --git a/core/java/android/provider/Browser.java b/core/java/android/provider/Browser.java
index b876f05..d67169f 100644
--- a/core/java/android/provider/Browser.java
+++ b/core/java/android/provider/Browser.java
@@ -173,9 +173,32 @@
         c.startActivity(i);
     }
 
+    /**
+     * Stores a String extra in an {@link Intent} representing the title of a
+     * page to share.  When receiving an {@link Intent#ACTION_SEND} from the
+     * Browser, use this to access the title.
+     * @hide
+     */
+    public final static String EXTRA_SHARE_TITLE = "share_title";
+
+    /**
+     * Stores a Bitmap extra in an {@link Intent} representing the screenshot of
+     * a page to share.  When receiving an {@link Intent#ACTION_SEND} from the
+     * Browser, use this to access the screenshot.
+     * @hide
+     */
+    public final static String EXTRA_SHARE_SCREENSHOT = "share_screenshot";
+
+    /**
+     * Stores a Bitmap extra in an {@link Intent} representing the favicon of a
+     * page to share.  When receiving an {@link Intent#ACTION_SEND} from the
+     * Browser, use this to access the favicon.
+     * @hide
+     */
+    public final static String EXTRA_SHARE_FAVICON = "share_favicon";
+
     public static final void sendString(Context c, String s) {
-        sendString(c, s,
-                c.getText(com.android.internal.R.string.sendText).toString());
+        sendString(c, s, c.getString(com.android.internal.R.string.sendText));
     }
 
     /**
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 93b5b4d..ece23a7 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -474,18 +474,44 @@
         public static final String DISPLAY_NAME_SOURCE = "display_name_source";
 
         /**
-         * The default text shown as the contact's display name.  It is based on
-         * available data, see {@link #DISPLAY_NAME_SOURCE}.
+         * <p>
+         * The standard text shown as the contact's display name, based on the best
+         * available information for the contact (for example, it might be the email address
+         * if the name is not available).
+         * The information actually used to compute the name is stored in
+         * {@link #DISPLAY_NAME_SOURCE}.
+         * </p>
+         * <p>
+         * A contacts provider is free to choose whatever representation makes most
+         * sense for its target market.
+         * For example in the default Android Open Source Project implementation,
+         * if the display name is
+         * based on the structured name and the structured name follows
+         * the Western full-name style, then this field contains the "given name first"
+         * version of the full name.
+         * <p>
          *
          * @see ContactsContract.ContactNameColumns#DISPLAY_NAME_ALTERNATIVE
          */
         public static final String DISPLAY_NAME_PRIMARY = "display_name";
 
         /**
-         * An alternative representation of the display name.  If display name is
+         * <p>
+         * An alternative representation of the display name, such as "family name first"
+         * instead of "given name first" for Western names.  If an alternative is not
+         * available, the values should be the same as {@link #DISPLAY_NAME_PRIMARY}.
+         * </p>
+         * <p>
+         * A contacts provider is free to provide alternatives as necessary for
+         * its target market.
+         * For example the default Android Open Source Project contacts provider
+         * currently provides an
+         * alternative in a single case:  if the display name is
          * based on the structured name and the structured name follows
-         * the Western full name style, then this field contains the "family name first"
-         * version of the full name.  Otherwise, it is the same as DISPLAY_NAME_PRIMARY.
+         * the Western full name style, then the field contains the "family name first"
+         * version of the full name.
+         * Other cases may be added later.
+         * </p>
          */
         public static final String DISPLAY_NAME_ALTERNATIVE = "display_name_alt";
 
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 763f273..49c2d0e 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -2268,7 +2268,7 @@
         addInArray(child, index);
 
         child.mParent = this;
-        child.mPrivateFlags = (child.mPrivateFlags & ~DIRTY_MASK) | DRAWN;
+        child.mPrivateFlags = (child.mPrivateFlags & ~DIRTY_MASK & ~DRAWING_CACHE_VALID) | DRAWN;
 
         if (child.hasFocus()) {
             requestChildFocus(child, child.findFocus());
diff --git a/preloaded-classes b/preloaded-classes
index ec4d74c..90bbb37 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -753,10 +753,8 @@
 java.math.Multiplication
 java.net.ContentHandler
 java.net.InetAddress
-java.net.InetAddress$CacheElement
 java.net.InetAddress$WaitReachable
 java.net.JarURLConnection
-java.net.NegativeCache
 java.net.NetPermission
 java.net.ProxySelectorImpl
 java.net.Socket$ConnectLock