AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
diff --git a/core/java/android/app/AlertDialog.java b/core/java/android/app/AlertDialog.java
index 021dc2e..20a579a 100644
--- a/core/java/android/app/AlertDialog.java
+++ b/core/java/android/app/AlertDialog.java
@@ -738,7 +738,10 @@
          * @return This Builder object to allow for chaining of calls to set
          *         methods
          *         
-         * @hide pending API review
+         * 
+         * This is currently hidden because it seems like people should just
+         * be able to put padding around the view.
+         * @hide
          */
         public Builder setView(View view, int viewSpacingLeft, int viewSpacingTop,
                 int viewSpacingRight, int viewSpacingBottom) {
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 429c060..2b6cded 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1407,7 +1407,6 @@
 
     /**
      * Broadcast Action: An input method has been changed.
-     * {@hide pending API Council approval}
      */
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
     public static final String ACTION_INPUT_METHOD_CHANGED =
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
index 7e4b7ac..956b15a 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -35,8 +35,9 @@
     public Locale locale;
 
     /**
-     * Locale should persist on setting
-     * @hide pending API council approval
+     * Locale should persist on setting.  This is hidden because it is really
+     * questionable whether this is the right way to expose the functionality.
+     * @hide
      */
     public boolean userSetLocale;
 
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 1a963f6..e020462 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -756,7 +756,7 @@
 
     /**
      * Open a data stream for reading a raw resource.  This can only be used
-     * with resources whose value is the name of an asset files -- that is, it can be
+     * with resources whose value is the name of an asset file -- that is, it can be
      * used to open drawable, sound, and raw resources; it will fail on string
      * and color resources.
      *
@@ -766,8 +766,6 @@
      * @return InputStream Access to the resource data.
      *
      * @throws NotFoundException Throws NotFoundException if the given ID does not exist.
-     *
-     * @hide Pending API council approval
      */
     public InputStream openRawResource(int id, TypedValue value) throws NotFoundException {
         getValue(id, value, true);
diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java
index 76f0860..038eedf 100644
--- a/core/java/android/database/AbstractCursor.java
+++ b/core/java/android/database/AbstractCursor.java
@@ -463,14 +463,16 @@
     }
     
     /**
-     * @hide pending API council approval
+     * This is hidden until the data set change model has been re-evaluated.
+     * @hide
      */
     protected void notifyDataSetChange() {
         mDataSetObservable.notifyChanged();
     }
     
     /**
-     * @hide pending API council approval
+     * This is hidden until the data set change model has been re-evaluated.
+     * @hide
      */
     protected DataSetObservable getDataSetObservable() {
         return mDataSetObservable;
diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java
index 2af080a..7d331dc 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -1143,7 +1143,10 @@
      * @param initialRead set the initial count of items to read from the cursor
      * @param maxRead set the count of items to read on each iteration after the first
      * @return A {@link Cursor} object, which is positioned before the first entry
-     * @hide pending API council approval
+     * 
+     * This work is incomplete and not fully tested or reviewed, so currently
+     * hidden.
+     * @hide
      */
     public Cursor rawQuery(String sql, String[] selectionArgs, 
             int initialRead, int maxRead) {
diff --git a/core/java/android/database/sqlite/SQLiteQuery.java b/core/java/android/database/sqlite/SQLiteQuery.java
index 1386a0d..cdd9f86 100644
--- a/core/java/android/database/sqlite/SQLiteQuery.java
+++ b/core/java/android/database/sqlite/SQLiteQuery.java
@@ -131,7 +131,6 @@
         }
     }
     
-    /** {@hide pending API Council approval} */
     @Override
     public String toString() {
         return "SQLiteQuery: " + mQuery;
diff --git a/core/java/android/inputmethodservice/KeyboardView.java b/core/java/android/inputmethodservice/KeyboardView.java
index 9b8b5db..65c9893 100755
--- a/core/java/android/inputmethodservice/KeyboardView.java
+++ b/core/java/android/inputmethodservice/KeyboardView.java
@@ -486,19 +486,17 @@
     }
 
     /**
-     * Enables or disables proximity correction. When enabled, {@link OnKeyboardActionListener#onKey}
-     * gets called with key codes for adjacent keys. Otherwise only the primary code is returned.
+     * When enabled, calls to {@link OnKeyboardActionListener#onKey} will include key
+     * codes for adjacent keys.  When disabled, only the primary key code will be
+     * reported.
      * @param enabled whether or not the proximity correction is enabled
-     * @hide Pending API Council approval
      */
     public void setProximityCorrectionEnabled(boolean enabled) {
         mProximityCorrectOn = enabled;
     }
 
     /**
-     * Returns the enabled state of the proximity correction.
-     * @return true if proximity correction is enabled, false otherwise
-     * @hide Pending API Council approval
+     * Returns true if proximity correction is enabled.
      */
     public boolean isProximityCorrectionEnabled() {
         return mProximityCorrectOn;
diff --git a/core/java/android/os/Looper.java b/core/java/android/os/Looper.java
index 9581893..69b3540 100644
--- a/core/java/android/os/Looper.java
+++ b/core/java/android/os/Looper.java
@@ -175,9 +175,6 @@
 
     /**
      * Return the Thread associated with this Looper.
-     * 
-     * @since CURRENT
-     * {@hide pending API Council approval}
      */
     public Thread getThread() {
         return mThread;
diff --git a/core/java/android/provider/Contacts.java b/core/java/android/provider/Contacts.java
index c2d3907..3141f1a 100644
--- a/core/java/android/provider/Contacts.java
+++ b/core/java/android/provider/Contacts.java
@@ -279,7 +279,9 @@
          * at least one E-mail or IM {@link ContactMethods} that match the
          * filter.
          * 
-         * @hide pending API council review
+         * Not exposed because we expect significant changes in the contacts
+         * schema and do not want to have to support this.
+         * @hide
          */
         public static final Uri WITH_EMAIL_OR_IM_FILTER_URI =
             Uri.parse("content://contacts/people/with_email_or_im_filter");
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index b91bc9d..b6f96c4 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -1152,19 +1152,25 @@
              * and indicates the number of songs on the album by the given
              * artist.
              * <P>Type: INTEGER</P>
-             *
-             * @hide pending API Council approval
              */
             public static final String NUMBER_OF_SONGS_FOR_ARTIST = "numsongs_by_artist";
 
             /**
-             * The year in which the earliest and latest songs
-             * on this album were released. These will often
-             * be the same, but for compilation albums they
-             * might differ.
+             * The year in which the earliest songs
+             * on this album were released. This will often
+             * be the same as {@link #LAST_YEAR}, but for compilation albums
+             * they might differ.
              * <P>Type: INTEGER</P>
              */
             public static final String FIRST_YEAR = "minyear";
+            
+            /**
+             * The year in which the latest songs
+             * on this album were released. This will often
+             * be the same as {@link #FIRST_YEAR}, but for compilation albums
+             * they might differ.
+             * <P>Type: INTEGER</P>
+             */
             public static final String LAST_YEAR = "maxyear";
 
             /**
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 3fb46ed..4dd6524 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -885,8 +885,6 @@
          * Set to one of {@link #WIFI_SLEEP_POLICY_DEFAULT},
          * {@link #WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED}, or
          * {@link #WIFI_SLEEP_POLICY_NEVER}.
-         * 
-         * @hide pending API council
          */
         public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy";
 
@@ -894,8 +892,6 @@
          * Value for {@link #WIFI_SLEEP_POLICY} to use the default Wi-Fi sleep
          * policy, which is to sleep shortly after the turning off
          * according to the {@link #STAY_ON_WHILE_PLUGGED_IN} setting.
-         * 
-         * @hide pending API council
          */
         public static final int WIFI_SLEEP_POLICY_DEFAULT = 0;
 
@@ -903,15 +899,11 @@
          * Value for {@link #WIFI_SLEEP_POLICY} to use the default policy when
          * the device is on battery, and never go to sleep when the device is
          * plugged in.
-         * 
-         * @hide pending API council
          */
         public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1;
         
         /**
          * Value for {@link #WIFI_SLEEP_POLICY} to never go to sleep.
-         * 
-         * @hide pending API council
          */
         public static final int WIFI_SLEEP_POLICY_NEVER = 2;
         
@@ -2005,7 +1997,6 @@
 
         /**
          * A comma-separated list of SSIDs for which the Wi-Fi watchdog should be enabled.
-         * @hide pending API council
          */
         public static final String WIFI_WATCHDOG_WATCH_LIST = "wifi_watchdog_watch_list";
 
@@ -2028,16 +2019,12 @@
          * The maximum number of times we will retry a connection to an access
          * point for which we have failed in acquiring an IP address from DHCP.
          * A value of N means that we will make N+1 connection attempts in all.
-         * 
-         * @hide pending API Council approval
          */
         public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
     
         /**
          * Maximum amount of time in milliseconds to hold a wakelock while waiting for mobile
          * data connectivity to be established after a disconnect from Wi-Fi.
-         * 
-         * @hide pending API Council approval
          */
         public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS =
             "wifi_mobile_data_transition_wakelock_timeout_ms";
@@ -2045,8 +2032,6 @@
         /**
          * Whether background data usage is allowed by the user. See
          * ConnectivityManager for more info.
-         * 
-         * @hide pending API council
          */
         public static final String BACKGROUND_DATA = "background_data";
 
diff --git a/core/java/android/speech/srec/UlawEncoderInputStream.java b/core/java/android/speech/srec/UlawEncoderInputStream.java
index 132fe027..a488ead 100644
--- a/core/java/android/speech/srec/UlawEncoderInputStream.java
+++ b/core/java/android/speech/srec/UlawEncoderInputStream.java
@@ -26,8 +26,9 @@
 
 /**
  * InputStream which transforms 16 bit pcm data to ulaw data.
- *
- * @hide pending API council approval
+ * 
+ * Not yet ready to be supported, so
+ * @hide
  */
 public final class UlawEncoderInputStream extends InputStream {
     private final static String TAG = "UlawEncoderInputStream";
diff --git a/core/java/android/speech/srec/WaveHeader.java b/core/java/android/speech/srec/WaveHeader.java
index a99496d..4c3b172 100644
--- a/core/java/android/speech/srec/WaveHeader.java
+++ b/core/java/android/speech/srec/WaveHeader.java
@@ -30,7 +30,9 @@
  * <li> bitsPerSample - usually 16 for PCM, 8 for ALAW, or 8 for ULAW.
  * <li> numBytes - size of audio data after this header, in bytes.
  * </ul>
- * @hide pending API council approval
+ * 
+ * Not yet ready to be supported, so
+ * @hide
  */
 public class WaveHeader {
     
diff --git a/core/java/android/view/Gravity.java b/core/java/android/view/Gravity.java
index 36d8ce6..cf79638 100644
--- a/core/java/android/view/Gravity.java
+++ b/core/java/android/view/Gravity.java
@@ -231,7 +231,7 @@
     }
 
     /**
-     * Apply addition gravity behavior based on the overall "display" that an
+     * Apply additional gravity behavior based on the overall "display" that an
      * object exists in.  This can be used after
      * {@link #apply(int, int, int, Rect, int, int, Rect)} to place the object
      * within a visible display.  By default this moves or clips the object
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 41779ba..6349288 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -111,14 +111,13 @@
     public static final int KEYCODE_MENU            = 82;
     public static final int KEYCODE_NOTIFICATION    = 83;
     public static final int KEYCODE_SEARCH          = 84;
-    public static final int KEYCODE_PLAYPAUSE       = 85;
-    public static final int KEYCODE_STOP            = 86;
-    public static final int KEYCODE_NEXTSONG        = 87;
-    public static final int KEYCODE_PREVIOUSSONG    = 88;
-    public static final int KEYCODE_REWIND          = 89;
-    public static final int KEYCODE_FORWARD         = 90;
+    public static final int KEYCODE_MEDIA_PLAY_PAUSE= 85;
+    public static final int KEYCODE_MEDIA_STOP      = 86;
+    public static final int KEYCODE_MEDIA_NEXT      = 87;
+    public static final int KEYCODE_MEDIA_PREVIOUS  = 88;
+    public static final int KEYCODE_MEDIA_REWIND    = 89;
+    public static final int KEYCODE_MEDIA_FAST_FORWARD = 90;
     public static final int KEYCODE_MUTE            = 91;
-    private static final int LAST_KEYCODE           = KEYCODE_MUTE;
 
     // NOTE: If you add a new keycode here you must also add it to:
     //  isSystem()
@@ -127,7 +126,15 @@
     //  frameworks/base/core/res/res/values/attrs.xml
     //  commands/monkey/Monkey.java
     //  emulator?
+    //
+    //  Also Android currently does not reserve code ranges for vendor-
+    //  specific key codes.  If you have new key codes to have, you
+    //  MUST contribute a patch to the open source project to define
+    //  those new codes.  This is intended to maintain a consistent
+    //  set of key code definitions across all Android devices.
    
+    private static final int LAST_KEYCODE           = KEYCODE_MUTE;
+    
     /**
      * @deprecated There are now more than MAX_KEYCODE keycodes.
      * Use {@link #getMaxKeyCode()} instead.
@@ -582,12 +589,12 @@
         case KEYCODE_MUTE:
         case KEYCODE_POWER:
         case KEYCODE_HEADSETHOOK:
-        case KEYCODE_PLAYPAUSE:
-        case KEYCODE_STOP:
-        case KEYCODE_NEXTSONG:
-        case KEYCODE_PREVIOUSSONG:
-        case KEYCODE_REWIND:
-        case KEYCODE_FORWARD:
+        case KEYCODE_MEDIA_PLAY_PAUSE:
+        case KEYCODE_MEDIA_STOP:
+        case KEYCODE_MEDIA_NEXT:
+        case KEYCODE_MEDIA_PREVIOUS:
+        case KEYCODE_MEDIA_REWIND:
+        case KEYCODE_MEDIA_FAST_FORWARD:
         case KEYCODE_CAMERA:
         case KEYCODE_FOCUS:
         case KEYCODE_SEARCH:
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index b26be66..ec1c733 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -7462,7 +7462,9 @@
     }
 
     /**
-     * Provide haptic feedback to the user for this view.
+     * BZZZTT!!1!
+     * 
+     * <p>Provide haptic feedback to the user for this view.
      *
      * <p>The framework will provide haptic feedback for some built in actions,
      * such as long presses, but you may wish to provide feedback for your
@@ -7479,7 +7481,9 @@
     }
 
     /**
-     * Like {@link #performHapticFeedback(int)}, with additional options.
+     * BZZZTT!!1!
+     * 
+     * <p>Like {@link #performHapticFeedback(int)}, with additional options.
      *
      * @param feedbackConstant One of the constants defined in
      * {@link HapticFeedbackConstants}
diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java
index d3f48c6..8e1524b 100644
--- a/core/java/android/view/ViewConfiguration.java
+++ b/core/java/android/view/ViewConfiguration.java
@@ -267,7 +267,6 @@
      * @return the duration in milliseconds between the first tap's up event and
      * the second tap's down event for an interaction to be considered a
      * double-tap.
-     * @hide pending API council
      */
     public static int getDoubleTapTimeout() {
         return DOUBLE_TAP_TIMEOUT;
@@ -324,7 +323,6 @@
     /**
      * @return Distance between the first touch and second touch to still be
      *         considered a double tap
-     * @hide pending API council
      */
     public int getScaledDoubleTapSlop() {
         return mDoubleTapSlop;
diff --git a/core/java/android/view/ViewDebug.java b/core/java/android/view/ViewDebug.java
index c1e9ed8..367c9a2 100644
--- a/core/java/android/view/ViewDebug.java
+++ b/core/java/android/view/ViewDebug.java
@@ -186,9 +186,7 @@
     /**
      * This annotation can be used to mark fields and methods to be dumped when
      * the view is captured. Methods with this annotation must have no arguments
-     * and must return <some type of data>.
-     * 
-     * @hide pending API Council approval
+     * and must return a valid type of data.
      */
     @Target({ ElementType.FIELD, ElementType.METHOD })
     @Retention(RetentionPolicy.RUNTIME)
@@ -1345,13 +1343,11 @@
     }
     
     /**
-     * dump view info for id based instrument test generation 
+     * Dump view info for id based instrument test generation 
      * (and possibly further data analysis). The results are dumped
      * to the log. 
      * @param tag for log
      * @param view for dump
-     * 
-     * @hide pending API Council approval
      */
     public static void dumpCapturedView(String tag, Object view) {        
         Class<?> klass = view.getClass();
diff --git a/core/java/android/view/ViewTreeObserver.java b/core/java/android/view/ViewTreeObserver.java
index 4230afa..26e5cbc 100644
--- a/core/java/android/view/ViewTreeObserver.java
+++ b/core/java/android/view/ViewTreeObserver.java
@@ -102,8 +102,6 @@
     /**
      * Interface definition for a callback to be invoked when
      * something in the view tree has been scrolled.
-     * 
-     * @hide pending API council approval
      */
     public interface OnScrollChangedListener {
         /**
@@ -115,7 +113,9 @@
 
     /**
      * Parameters used with OnComputeInternalInsetsListener.
-     * {@hide pending API Council approval}
+     * 
+     * We are not yet ready to commit to this API and support it, so
+     * @hide
      */
     public final static class InternalInsetsInfo {
         /**
@@ -200,7 +200,9 @@
     /**
      * Interface definition for a callback to be invoked when layout has
      * completed and the client can compute its interior insets.
-     * {@hide pending API Council approval}
+     * 
+     * We are not yet ready to commit to this API and support it, so
+     * @hide
      */
     public interface OnComputeInternalInsetsListener {
         /**
@@ -381,8 +383,6 @@
      * @param listener The callback to add
      *
      * @throws IllegalStateException If {@link #isAlive()} returns false
-     *
-     * @hide pending API council approval
      */
     public void addOnScrollChangedListener(OnScrollChangedListener listener) {
         checkIsAlive();
@@ -402,8 +402,6 @@
      * @throws IllegalStateException If {@link #isAlive()} returns false
      *
      * @see #addOnScrollChangedListener(OnScrollChangedListener)
-     *
-     * @hide pending API council approval
      */
     public void removeOnScrollChangedListener(OnScrollChangedListener victim) {
         checkIsAlive();
@@ -454,7 +452,9 @@
      * @param listener The callback to add
      *
      * @throws IllegalStateException If {@link #isAlive()} returns false
-     * {@hide pending API Council approval}
+     * 
+     * We are not yet ready to commit to this API and support it, so
+     * @hide
      */
     public void addOnComputeInternalInsetsListener(OnComputeInternalInsetsListener listener) {
         checkIsAlive();
@@ -475,7 +475,9 @@
      * @throws IllegalStateException If {@link #isAlive()} returns false
      *
      * @see #addOnComputeInternalInsetsListener(OnComputeInternalInsetsListener)
-     * {@hide pending API Council approval}
+     * 
+     * We are not yet ready to commit to this API and support it, so
+     * @hide
      */
     public void removeOnComputeInternalInsetsListener(OnComputeInternalInsetsListener victim) {
         checkIsAlive();
diff --git a/core/java/android/webkit/WebHistoryItem.java b/core/java/android/webkit/WebHistoryItem.java
index a408e06..fd26b98 100644
--- a/core/java/android/webkit/WebHistoryItem.java
+++ b/core/java/android/webkit/WebHistoryItem.java
@@ -101,8 +101,6 @@
      * url, the final url may be different as there might have been 
      * redirects while loading the site.
      * @return The original url of this history item.
-     * 
-     * @hide pending API Council approval
      */
     public String getOriginalUrl() {
         return mOriginalUrl;
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 1822ba4..a5846ed 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -909,8 +909,6 @@
      * the javascript property window.navigator.isOnline and
      * generates the online/offline event as specified in HTML5, sec. 5.7.7
      * @param networkUp boolean indicating if network is available
-     * 
-     * @hide pending API Council approval
      */
     public void setNetworkAvailable(boolean networkUp) {
         mWebViewCore.sendMessage(EventHub.SET_NETWORK_STATE,
@@ -1776,8 +1774,6 @@
      * Also, there may have been redirects resulting in a different url to that
      * originally requested.
      * @return The url that was originally requested for the current page.
-     * 
-     * @hide pending API Council approval
      */
     public String getOriginalUrl() {
         WebHistoryItem h = mCallbackProxy.getBackForwardList().getCurrentItem();
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 0563687..772ad89 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -944,7 +944,6 @@
     /**
      * Returns the list's text filter, if available. 
      * @return the list's text filter or null if filtering isn't enabled
-     * @hide pending API Council approval
      */
     public CharSequence getTextFilter() {
         if (mTextFilterEnabled && mTextFilter != null) {
diff --git a/core/java/android/widget/AlphabetIndexer.java b/core/java/android/widget/AlphabetIndexer.java
index bbabaaa..4e466a0 100644
--- a/core/java/android/widget/AlphabetIndexer.java
+++ b/core/java/android/widget/AlphabetIndexer.java
@@ -30,7 +30,6 @@
  * Your adapter is responsible for updating the cursor by calling {@link #setCursor} if the
  * cursor changes. {@link #getPositionForSection} method does the binary search for the starting 
  * index of a given section (alphabet).
- * @hide pending API council approval
  */
 public class AlphabetIndexer extends DataSetObserver implements SectionIndexer {
 
diff --git a/core/java/android/widget/CursorAdapter.java b/core/java/android/widget/CursorAdapter.java
index da90a9f4..baa6833 100644
--- a/core/java/android/widget/CursorAdapter.java
+++ b/core/java/android/widget/CursorAdapter.java
@@ -354,7 +354,6 @@
      * sub classes.
      * 
      * @see ContentObserver#onChange(boolean)
-     * @hide pending API Council approval
      */
     protected void onContentChanged() {
         if (mAutoRequery && mCursor != null && !mCursor.isClosed()) {
diff --git a/core/java/android/widget/MediaController.java b/core/java/android/widget/MediaController.java
index a2ec83f..b162a0e 100644
--- a/core/java/android/widget/MediaController.java
+++ b/core/java/android/widget/MediaController.java
@@ -388,12 +388,12 @@
         int keyCode = event.getKeyCode();
         if (event.getRepeatCount() == 0 && event.isDown() && (
                 keyCode ==  KeyEvent.KEYCODE_HEADSETHOOK ||
-                keyCode ==  KeyEvent.KEYCODE_PLAYPAUSE ||
+                keyCode ==  KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE ||
                 keyCode ==  KeyEvent.KEYCODE_SPACE)) {
             doPauseResume();
             show(sDefaultTimeout);
             return true;
-        } else if (keyCode ==  KeyEvent.KEYCODE_STOP) {
+        } else if (keyCode ==  KeyEvent.KEYCODE_MEDIA_STOP) {
             if (mPlayer.isPlaying()) {
                 mPlayer.pause();
                 updatePausePlay();
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index f864690..2c9714e 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -1062,8 +1062,6 @@
      * @param height the new height, can be -1 to ignore
      * @param force reposition the window even if the specified position
      *              already seems to correspond to the LayoutParams
-     * 
-     * @hide pending API council approval
      */
     public void update(int x, int y, int width, int height, boolean force) {
         if (width != -1) {
diff --git a/core/java/android/widget/ResourceCursorAdapter.java b/core/java/android/widget/ResourceCursorAdapter.java
index a5dbd98..c9c217a 100644
--- a/core/java/android/widget/ResourceCursorAdapter.java
+++ b/core/java/android/widget/ResourceCursorAdapter.java
@@ -61,7 +61,6 @@
      * @param autoRequery If true the adapter will call requery() on the
      *                    cursor whenever it changes so the most recent
      *                    data is always displayed.
-     * @hide Pending API Council approval
      */
     public ResourceCursorAdapter(Context context, int layout, Cursor c, boolean autoRequery) {
         super(context, c, autoRequery);
diff --git a/core/java/android/widget/Scroller.java b/core/java/android/widget/Scroller.java
index febc956..c9ace0a 100644
--- a/core/java/android/widget/Scroller.java
+++ b/core/java/android/widget/Scroller.java
@@ -135,7 +135,6 @@
      * Returns the start X offset in the scroll. 
      * 
      * @return The start X offset as an absolute distance from the origin.
-     * @hide pending API council
      */
     public final int getStartX() {
         return mStartX;
@@ -145,7 +144,6 @@
      * Returns the start Y offset in the scroll. 
      * 
      * @return The start Y offset as an absolute distance from the origin.
-     * @hide pending API council
      */
     public final int getStartY() {
         return mStartY;
diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java
index 4c5df2f..6d3a2d3 100644
--- a/core/java/android/widget/VideoView.java
+++ b/core/java/android/widget/VideoView.java
@@ -460,7 +460,7 @@
                 mMediaPlayer != null &&
                 mMediaController != null) {
             if (keyCode == KeyEvent.KEYCODE_HEADSETHOOK ||
-                    keyCode == KeyEvent.KEYCODE_PLAYPAUSE) {
+                    keyCode == KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE) {
                 if (mMediaPlayer.isPlaying()) {
                     pause();
                     mMediaController.show();
@@ -469,7 +469,7 @@
                     mMediaController.hide();
                 }
                 return true;
-            } else if (keyCode == KeyEvent.KEYCODE_STOP 
+            } else if (keyCode == KeyEvent.KEYCODE_MEDIA_STOP 
                     && mMediaPlayer.isPlaying()) {
                 pause();
                 mMediaController.show();