Merge "Removing a temporary redirect for /ndk/guides/cmake.html" into nyc-dev
diff --git a/docs/html/about/versions/android-4.0.jd b/docs/html/about/versions/android-4.0.jd
index bf68584..48afcd4 100644
--- a/docs/html/about/versions/android-4.0.jd
+++ b/docs/html/about/versions/android-4.0.jd
@@ -631,8 +631,8 @@
 <p>A new package, {@link android.net.wifi.p2p}, contains all the APIs for performing peer-to-peer
 connections with Wi-Fi. The primary class you need to work with is {@link
 android.net.wifi.p2p.WifiP2pManager}, which you can acquire by calling {@link
-android.app.Activity#getSystemService(java.lang.String) getSystemService(WIFI_P2P_SERVICE)}.
-The {@link android.net.wifi.p2p.WifiP2pManager} includes APIs that allow you to:</p>
+android.app.Activity#getSystemService getSystemService(WIFI_P2P_SERVICE)}. The {@link
+android.net.wifi.p2p.WifiP2pManager} includes APIs that allow you to:</p>
 <ul>
 <li>Initialize your application for P2P connections by calling {@link
 android.net.wifi.p2p.WifiP2pManager#initialize initialize()}</li>
@@ -798,7 +798,7 @@
 android.R.attr#contentDescription android:contentDescription} text is missing or
 insufficient. To add more text description to the
 {@link android.view.accessibility.AccessibilityEvent}, call {@link
-android.view.accessibility.AccessibilityRecord#getText()}.{@link java.util.List#add add()}.</p>
+android.view.accessibility.AccessibilityEvent#getText()}.{@link java.util.List#add add()}.</p>
 </li>
   <li>At this point, the {@link android.view.View} passes the event up the view hierarchy by calling
 {@link android.view.ViewGroup#requestSendAccessibilityEvent requestSendAccessibilityEvent()} on the
diff --git a/docs/html/about/versions/android-4.2.jd b/docs/html/about/versions/android-4.2.jd
index ac84d0f..34fa1d4 100755
--- a/docs/html/about/versions/android-4.2.jd
+++ b/docs/html/about/versions/android-4.2.jd
@@ -213,9 +213,9 @@
 <p>Android now allows your app to display unique content on additional screens that are connected
 to the user’s device over either a wired connection or Wi-Fi.
  To create unique content for a secondary display, extend the {@link android.app.Presentation}
-class and implement the {@link android.app.Dialog#onCreate onCreate()} callback. Within
-{@link android.app.Dialog#onCreate onCreate()}, specify your UI for the secondary display
-by calling {@link android.app.Dialog#setContentView setContentView()}.
+class and implement the {@link android.app.Presentation#onCreate onCreate()} callback. Within
+{@link android.app.Presentation#onCreate onCreate()}, specify your UI for the secondary display
+by calling {@link android.app.Presentation#setContentView setContentView()}.
 As an extension of the {@link android.app.Dialog} class, the {@link
 android.app.Presentation} class provides the region in which your app can display a unique UI on the
 secondary display.</p>
@@ -241,13 +241,13 @@
 
 <p>To detect at runtime when a new display has been connected, create an instance of {@link
 android.media.MediaRouter.SimpleCallback} in which you implement the {@link
-android.media.MediaRouter.Callback#onRoutePresentationDisplayChanged
+android.media.MediaRouter.SimpleCallback#onRoutePresentationDisplayChanged
 onRoutePresentationDisplayChanged()} callback method, which the system will call when a new
 presentation display is connected. Then register the {@link
 android.media.MediaRouter.SimpleCallback} by passing it to {@link
 android.media.MediaRouter#addCallback MediaRouter.addCallback()} along with the {@link
 android.media.MediaRouter#ROUTE_TYPE_LIVE_VIDEO} route type. When you receive a call to
-{@link android.media.MediaRouter.Callback#onRoutePresentationDisplayChanged
+{@link android.media.MediaRouter.SimpleCallback#onRoutePresentationDisplayChanged
 onRoutePresentationDisplayChanged()}, simply call {@link
 android.media.MediaRouter#getSelectedRoute MediaRouter.getSelectedRoute()} as mentioned above.</p>
 
@@ -262,7 +262,7 @@
 likely a different screen density. Because the screen characteristics may different, you should
 provide resources that are optimized specifically for such larger displays. If you need
 to request additional resources from your {@link
-android.app.Presentation}, call {@link android.app.Dialog#getContext()}{@link
+android.app.Presentation}, call {@link android.app.Presentation#getContext()}{@link
 android.content.Context#getResources .getResources()} to get the {@link
 android.content.res.Resources} object corresponding to the display. This provides
 the appropriate resources from your app that are best suited for the
@@ -510,7 +510,7 @@
   <p>To use a script intrinsic, call the static <code>create()</code> method of each instrinsic
   to create an instance of the script. You then call the available <code>set()</code>
   methods of each script intrinsic to set any necessary inputs and options.
-  Finally, call the {@link android.renderscript.Script#forEach forEach()}</code>
+  Finally, call the {@link android.renderscript.ScriptC#forEach forEach()}</code>
   method to execute the script.</p>
   </dd>
 
diff --git a/docs/html/about/versions/android-4.3.jd b/docs/html/about/versions/android-4.3.jd
index 34a701b..547b2f8 100644
--- a/docs/html/about/versions/android-4.3.jd
+++ b/docs/html/about/versions/android-4.3.jd
@@ -907,7 +907,7 @@
 
 <p>To track changes to inserts and updates, you can now include the {@link android.provider.ContactsContract.ContactsColumns#CONTACT_LAST_UPDATED_TIMESTAMP} parameter with your selection to query only the contacts that have changed since the last time you queried the provider.</p>
 
-<p>To track which contacts have been deleted, the new table {@link android.provider.ContactsContract.DeletedContacts} provides a log of contacts that have been deleted (but each contact deleted is held in this table for a limited time). Similar to {@link android.provider.ContactsContract.ContactsColumns#CONTACT_LAST_UPDATED_TIMESTAMP}, you can use the new selection parameter, {@link android.provider.ContactsContract.DeletedContactsColumns#CONTACT_DELETED_TIMESTAMP} to check which contacts have been deleted since the last time you queried the provider. The table also contains the constant {@link android.provider.ContactsContract.DeletedContacts#DAYS_KEPT_MILLISECONDS} containing the number of days (in milliseconds) that the log will be kept.</p>
+<p>To track which contacts have been deleted, the new table {@link android.provider.ContactsContract.DeletedContacts} provides a log of contacts that have been deleted (but each contact deleted is held in this table for a limited time). Similar to {@link android.provider.ContactsContract.ContactsColumns#CONTACT_LAST_UPDATED_TIMESTAMP}, you can use the new selection parameter, {@link android.provider.ContactsContract.DeletedContacts#CONTACT_DELETED_TIMESTAMP} to check which contacts have been deleted since the last time you queried the provider. The table also contains the constant {@link android.provider.ContactsContract.DeletedContacts#DAYS_KEPT_MILLISECONDS} containing the number of days (in milliseconds) that the log will be kept.</p>
 
 <p>Additionally, the Contacts Provider now broadcasts the {@link
 android.provider.ContactsContract.Intents#CONTACTS_DATABASE_CREATED} action when the user
diff --git a/docs/html/about/versions/marshmallow/android-6.0-changes.jd b/docs/html/about/versions/marshmallow/android-6.0-changes.jd
index 65c976b..b44142e 100644
--- a/docs/html/about/versions/marshmallow/android-6.0-changes.jd
+++ b/docs/html/about/versions/marshmallow/android-6.0-changes.jd
@@ -280,7 +280,7 @@
 If your app uses the
 {@link java.lang.reflect.Constructor#newInstance(java.lang.Object...) newInstance()} method and you
 want to override access checks, call the
-{@link java.lang.reflect.AccessibleObject#setAccessible(boolean) setAccessible()} method with the input
+{@link java.lang.reflect.Constructor#setAccessible(boolean) setAccessible()} method with the input
 parameter set to {@code true}. If your app uses the
 <a href="{@docRoot}tools/support-library/features.html#v7-appcompat">v7 appcompat library</a> or the
 <a href="{@docRoot}tools/support-library/features.html#v7-recyclerview">v7 recyclerview library</a>,
diff --git a/docs/html/guide/components/activities.jd b/docs/html/guide/components/activities.jd
index 9443924..e757288 100644
--- a/docs/html/guide/components/activities.jd
+++ b/docs/html/guide/components/activities.jd
@@ -624,8 +624,8 @@
 before making the activity vulnerable to destruction. The system passes this method
 a {@link android.os.Bundle} in which you can save
 state information about the activity as name-value pairs, using methods such as {@link
-android.os.BaseBundle#putString putString()} and {@link
-android.os.BaseBundle#putInt putInt()}. Then, if the system kills your application
+android.os.Bundle#putString putString()} and {@link
+android.os.Bundle#putInt putInt()}. Then, if the system kills your application
 process and the user navigates back to your activity, the system recreates the activity and passes
 the {@link android.os.Bundle} to both {@link android.app.Activity#onCreate onCreate()} and {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}. Using either of these
diff --git a/docs/html/guide/topics/manifest/meta-data-element.jd b/docs/html/guide/topics/manifest/meta-data-element.jd
index 945b116..2d1bdfe 100644
--- a/docs/html/guide/topics/manifest/meta-data-element.jd
+++ b/docs/html/guide/topics/manifest/meta-data-element.jd
@@ -60,7 +60,7 @@
 <dt><a name="rsrc"></a>{@code android:resource}</dt>
 <dd>A reference to a resource.  The ID of the resource is the value assigned
 to the item.  The ID can be retrieved from the meta-data Bundle by the
-{@link android.os.BaseBundle#getInt Bundle.getInt()} method.</dd>
+{@link android.os.Bundle#getInt Bundle.getInt()} method.</dd>
 
 <dt><a name="val"></a>{@code android:value}</dt>
 <dd>The value assigned to the item.  The data types that can be assigned as values and the Bundle methods that  components use to retrieve those values are listed in the following table:
@@ -72,17 +72,17 @@
 </tr><tr>
   <td>String value, using double backslashes ({@code \\}) to escape characters
       &mdash; such as "{@code \\n}" and "{@code \\uxxxxx}" for a Unicode character.</td>
-  <td>{@link android.os.BaseBundle#getString(String) getString()}</td>
+  <td>{@link android.os.Bundle#getString(String) getString()}</td>
 </tr><tr>
   <td>Integer value, such as "{@code 100}"</td>
-  <td>{@link android.os.BaseBundle#getInt(String) getInt()}</td>
+  <td>{@link android.os.Bundle#getInt(String) getInt()}</td>
 </tr><tr>
   <td>Boolean value, either "{@code true}" or "{@code false}"</td>
-  <td>{@link android.os.BaseBundle#getBoolean(String) getBoolean()}</td>
+  <td>{@link android.os.Bundle#getBoolean(String) getBoolean()}</td>
 </tr><tr>
   <td>Color value, in the form "{@code #rgb}", "{@code #argb}",
       "{@code #rrggbb}", or "{@code #aarrggbb}"</td>
-  <td>{@link android.os.BaseBundle#getInt(String) getInt()}</td>
+  <td>{@link android.os.Bundle#getInt(String) getInt()}</td>
 </tr><tr>
   <td>Float value, such as "{@code 1.23}"</td>
   <td>{@link android.os.Bundle#getFloat(String) getFloat()}</td>
diff --git a/docs/html/guide/topics/providers/calendar-provider.jd b/docs/html/guide/topics/providers/calendar-provider.jd
index 01a1bfc..485f3c1 100644
--- a/docs/html/guide/topics/providers/calendar-provider.jd
+++ b/docs/html/guide/topics/providers/calendar-provider.jd
@@ -278,9 +278,9 @@
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>Why must you include
 ACCOUNT_TYPE?</h3> <p>If you query on a {@link
-android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME
+android.provider.CalendarContract.Calendars#ACCOUNT_NAME
 Calendars.ACCOUNT_NAME}, you must also include
-{@link android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}
+{@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}
 in the selection. That is because a given account is
 only considered unique given both its <code>ACCOUNT_NAME</code> and its
 <code>ACCOUNT_TYPE</code>. The <code>ACCOUNT_TYPE</code> is the string corresponding to the
diff --git a/docs/html/guide/topics/providers/contacts-provider.jd b/docs/html/guide/topics/providers/contacts-provider.jd
index ac855aa..2b14558 100644
--- a/docs/html/guide/topics/providers/contacts-provider.jd
+++ b/docs/html/guide/topics/providers/contacts-provider.jd
@@ -329,13 +329,13 @@
 </p>
 <dl>
     <dt>
-        {@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID}
+        {@link android.provider.ContactsContract.Data#RAW_CONTACT_ID}
     </dt>
     <dd>
         The value of the <code>_ID</code> column of the raw contact for this data.
     </dd>
     <dt>
-        {@link android.provider.ContactsContract.DataColumns#MIMETYPE}
+        {@link android.provider.ContactsContract.Data#MIMETYPE}
     </dt>
     <dd>
         The type of data stored in this row, expressed as a custom MIME type. The Contacts Provider
@@ -2351,7 +2351,7 @@
     {@link android.provider.ContactsContract.Data} table, selecting on the raw contact's
     {@link android.provider.BaseColumns#_ID}, the
     {@link android.provider.ContactsContract.CommonDataKinds.Photo#CONTENT_ITEM_TYPE
-    Photo.CONTENT_ITEM_TYPE}, and the {@link android.provider.ContactsContract.DataColumns#IS_PRIMARY}
+    Photo.CONTENT_ITEM_TYPE}, and the {@link android.provider.ContactsContract.Data#IS_PRIMARY}
     column to find the raw contact's primary photo row.
 </p>
 <p>
diff --git a/docs/html/guide/topics/search/search-dialog.jd b/docs/html/guide/topics/search/search-dialog.jd
index 8278ab1..4d6b400 100644
--- a/docs/html/guide/topics/search/search-dialog.jd
+++ b/docs/html/guide/topics/search/search-dialog.jd
@@ -699,7 +699,7 @@
     inflater.inflate(R.menu.options_menu, menu);
 
     // Get the SearchView and set the searchable configuration
-    SearchManager searchManager = (SearchManager) {@link android.app.Activity#getSystemService(java.lang.String) getSystemService()}(Context.SEARCH_SERVICE);
+    SearchManager searchManager = (SearchManager) {@link android.app.Activity#getSystemService getSystemService}(Context.SEARCH_SERVICE);
     SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
     // Assumes current activity is the searchable activity
     searchView.setSearchableInfo(searchManager.getSearchableInfo({@link android.app.Activity#getComponentName()}));
diff --git a/docs/html/guide/topics/ui/accessibility/apps.jd b/docs/html/guide/topics/ui/accessibility/apps.jd
index c415762..ab8c792 100644
--- a/docs/html/guide/topics/ui/accessibility/apps.jd
+++ b/docs/html/guide/topics/ui/accessibility/apps.jd
@@ -298,7 +298,7 @@
 dispatchPopulateAccessibilityEvent()} method for each child of this view. In order to support
 accessibility services on revisions of Android <em>prior</em> to 4.0 (API Level 14) you
 <em>must</em> override this method and populate {@link
-android.view.accessibility.AccessibilityRecord#getText} with descriptive text for your custom
+android.view.accessibility.AccessibilityEvent#getText} with descriptive text for your custom
 view, which is spoken by accessibility services, such as TalkBack.</dd>
 
   <dt>{@link android.view.View#onPopulateAccessibilityEvent onPopulateAccessibilityEvent()}</dt>
diff --git a/docs/html/guide/topics/ui/accessibility/services.jd b/docs/html/guide/topics/ui/accessibility/services.jd
index d08022e..c6db855 100644
--- a/docs/html/guide/topics/ui/accessibility/services.jd
+++ b/docs/html/guide/topics/ui/accessibility/services.jd
@@ -205,7 +205,7 @@
 while it is running ({@link android.accessibilityservice.AccessibilityService#onAccessibilityEvent
 onAccessibilityEvent()},
 {@link android.accessibilityservice.AccessibilityService#onInterrupt onInterrupt()}) to when it is
-shut down ({@link android.app.Service#onUnbind onUnbind()}).</p>
+shut down ({@link android.accessibilityservice.AccessibilityService#onUnbind onUnbind()}).</p>
 
 <ul>
   <li>{@link android.accessibilityservice.AccessibilityService#onServiceConnected
@@ -231,7 +231,7 @@
 providing, usually in response to a user action such as moving focus to a different control. This
 method may be called many times over the lifecycle of your service.</li>
 
-  <li>{@link android.app.Service#onUnbind onUnbind()} - (optional)
+  <li>{@link android.accessibilityservice.AccessibilityService#onUnbind onUnbind()} - (optional)
 This method is called when the system is about to shutdown the accessibility service. Use this
 method to do any one-time shutdown procedures, including de-allocating user feedback system
 services, such as the audio manager or device vibrator.</li>
@@ -283,7 +283,7 @@
 to the {@link android.view.accessibility.AccessibilityEvent} passed to you by the system. This level
 of detail provides more context for the event that triggered your accessibility service.</li>
 
-  <li>{@link android.view.accessibility.AccessibilityRecord#getSource
+  <li>{@link android.view.accessibility.AccessibilityEvent#getSource
 AccessibilityEvent.getSource()} - This method returns an {@link
 android.view.accessibility.AccessibilityNodeInfo} object. This object allows you to request view
 layout hierarchy (parents and children) of the component that originated the accessibility event.
@@ -296,10 +296,10 @@
 level of access through the accessibility <a href="#service-config">service configuration XML</a>
 file, by including the {@code canRetrieveWindowContent} attribute and setting it to {@code true}. If
 you do not include this setting in your service configuration xml file, calls to {@link
-android.view.accessibility.AccessibilityRecord#getSource getSource()} fail.</p>
+android.view.accessibility.AccessibilityEvent#getSource getSource()} fail.</p>
 
 <p class="note"><strong>Note:</strong> In Android 4.1 (API Level 16) and higher, the
-{@link android.view.accessibility.AccessibilityRecord#getSource getSource()} method,
+{@link android.view.accessibility.AccessibilityEvent#getSource getSource()} method,
 as well as {@link android.view.accessibility.AccessibilityNodeInfo#getChild
 AccessibilityNodeInfo.getChild()} and
 {@link android.view.accessibility.AccessibilityNodeInfo#getParent getParent()}, return only
@@ -372,7 +372,7 @@
   <a href="#service-config">service configuration file</a>. When events are received by your
   service, it can then retrieve the
   {@link android.view.accessibility.AccessibilityNodeInfo} object from the event using
-  {@link android.view.accessibility.AccessibilityRecord#getSource getSource()}.
+  {@link android.view.accessibility.AccessibilityEvent#getSource getSource()}.
   With the {@link android.view.accessibility.AccessibilityNodeInfo} object, your service can then
   explore the view hierarchy to determine what action to take and then act for the user using
   {@link android.view.accessibility.AccessibilityNodeInfo#performAction performAction()}.</p>
diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd
index ecdcfdc..bf0db57 100755
--- a/docs/html/guide/topics/ui/declaring-layout.jd
+++ b/docs/html/guide/topics/ui/declaring-layout.jd
@@ -423,7 +423,7 @@
   <li>The string array</li>
 </ul>
 <p>Then simply call
-{@link android.widget.AdapterView#setAdapter setAdapter()} on your {@link android.widget.ListView}:</p>
+{@link android.widget.ListView#setAdapter setAdapter()} on your {@link android.widget.ListView}:</p>
 <pre>
 ListView listView = (ListView) findViewById(R.id.listview);
 listView.setAdapter(adapter);
diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd
index 52cd1a0..7ab4ca5 100644
--- a/docs/html/guide/topics/ui/dialogs.jd
+++ b/docs/html/guide/topics/ui/dialogs.jd
@@ -643,7 +643,7 @@
 or other {@link android.app.Dialog} objects to build the dialog in this case. If
 you want the {@link android.support.v4.app.DialogFragment} to be
 embeddable, you must define the dialog's UI in a layout, then load the layout in the
-{@link android.support.v4.app.Fragment#onCreateView
+{@link android.support.v4.app.DialogFragment#onCreateView
 onCreateView()} callback.</p>
 
 <p>Here's an example {@link android.support.v4.app.DialogFragment} that can appear as either a
diff --git a/docs/html/guide/topics/ui/layout/gridview.jd b/docs/html/guide/topics/ui/layout/gridview.jd
index 4ed6ff5..13467ae 100644
--- a/docs/html/guide/topics/ui/layout/gridview.jd
+++ b/docs/html/guide/topics/ui/layout/gridview.jd
@@ -81,7 +81,7 @@
   <p>After the {@code main.xml} layout is set for the content view, the
 {@link android.widget.GridView} is captured from the layout with {@link
 android.app.Activity#findViewById(int)}. The {@link
-android.widget.AdapterView#setAdapter(T) setAdapter()} method then sets a custom adapter ({@code
+android.widget.GridView#setAdapter(T) setAdapter()} method then sets a custom adapter ({@code
 ImageAdapter}) as the source for all items to be displayed in the grid. The {@code ImageAdapter} is
 created in the next step.</p>
 <p>To do something when an item in the grid is clicked, the {@link
@@ -170,7 +170,7 @@
 image is resized and cropped to fit in these dimensions, as appropriate.</li>
   <li>{@link android.widget.ImageView#setScaleType(ImageView.ScaleType)} declares that images should
 be cropped toward the center (if necessary).</li>
-  <li>{@link android.view.View#setPadding(int,int,int,int)} defines the padding for all
+  <li>{@link android.widget.ImageView#setPadding(int,int,int,int)} defines the padding for all
 sides. (Note that, if the images have different aspect-ratios, then less
 padding will cause more cropping of the image if it does not match
 the dimensions given to the ImageView.)</li>
diff --git a/docs/html/guide/topics/ui/menus.jd b/docs/html/guide/topics/ui/menus.jd
index 38f6e21..3325c0e 100644
--- a/docs/html/guide/topics/ui/menus.jd
+++ b/docs/html/guide/topics/ui/menus.jd
@@ -682,7 +682,7 @@
 </pre>
 
 <p>That's it. Now when the user selects an item with a long-click, the system calls the {@link
-android.view.ActionMode.Callback#onCreateActionMode onCreateActionMode()}
+android.widget.AbsListView.MultiChoiceModeListener#onCreateActionMode onCreateActionMode()}
 method and displays the contextual action bar with the specified actions. While the contextual
 action bar is visible, users can select additional items.</p>
 
diff --git a/docs/html/training/accessibility/service.jd b/docs/html/training/accessibility/service.jd
index de00db7..9935c97 100755
--- a/docs/html/training/accessibility/service.jd
+++ b/docs/html/training/accessibility/service.jd
@@ -174,7 +174,7 @@
 In that method, use {@link
 android.view.accessibility.AccessibilityEvent#getEventType} to determine the
 type of event, and {@link
-android.view.accessibility.AccessibilityRecord#getContentDescription} to extract
+android.view.accessibility.AccessibilityEvent#getContentDescription} to extract
 any label text associated with the view that fired the event.</pre>
 
 <pre>
@@ -211,7 +211,7 @@
 </pre>
 <p>Once that's done, get an {@link
 android.view.accessibility.AccessibilityNodeInfo} object using {@link
-android.view.accessibility.AccessibilityRecord#getSource}.  This call only
+android.view.accessibility.AccessibilityEvent#getSource}.  This call only
 returns an object if the window where the event originated is still the active
 window.  If not, it will return null, so <em>behave accordingly</em>.  The
 following example is a snippet of code that, when it receives an event, does
diff --git a/docs/html/training/articles/perf-anr.jd b/docs/html/training/articles/perf-anr.jd
index 8848354..2eda4fa 100644
--- a/docs/html/training/articles/perf-anr.jd
+++ b/docs/html/training/articles/perf-anr.jd
@@ -146,7 +146,7 @@
 
 <p>If you implement {@link java.lang.Thread} or {@link android.os.HandlerThread},
 be sure that your UI thread does not block while waiting for the worker thread to
-complete&mdash;do not call {@link java.lang.Object#wait Thread.wait()} or
+complete&mdash;do not call {@link java.lang.Thread#wait Thread.wait()} or
 {@link java.lang.Thread#sleep Thread.sleep()}. Instead of blocking while waiting for a worker
 thread to complete, your main thread should provide a {@link
 android.os.Handler} for the other threads to post back to upon completion.
diff --git a/docs/html/training/contacts-provider/display-contact-badge.jd b/docs/html/training/contacts-provider/display-contact-badge.jd
index d286440..6c9616b 100644
--- a/docs/html/training/contacts-provider/display-contact-badge.jd
+++ b/docs/html/training/contacts-provider/display-contact-badge.jd
@@ -113,10 +113,10 @@
 <p>
     For Android 3.0 (API level 11) and later, include the following columns in your projection:</p>
 <ul>
-    <li>{@link android.provider.BaseColumns#_ID Contacts._ID}</li>
-    <li>{@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY Contacts.LOOKUP_KEY}</li>
+    <li>{@link android.provider.ContactsContract.Contacts#_ID Contacts._ID}</li>
+    <li>{@link android.provider.ContactsContract.Contacts#LOOKUP_KEY Contacts.LOOKUP_KEY}</li>
     <li>
-        {@link android.provider.ContactsContract.ContactsColumns#PHOTO_THUMBNAIL_URI
+        {@link android.provider.ContactsContract.Contacts#PHOTO_THUMBNAIL_URI
         Contacts.PHOTO_THUMBNAIL_URI}
     </li>
 </ul>
@@ -124,8 +124,8 @@
     For Android 2.3.3 (API level 10) and earlier, use the following columns:
 </p>
 <ul>
-    <li>{@link android.provider.BaseColumns#_ID Contacts._ID}</li>
-    <li>{@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY Contacts.LOOKUP_KEY}</li>
+    <li>{@link android.provider.ContactsContract.Contacts#_ID Contacts._ID}</li>
+    <li>{@link android.provider.ContactsContract.Contacts#LOOKUP_KEY Contacts.LOOKUP_KEY}</li>
 </ul>
 <p>
     The remainder of this lesson assumes that you've already loaded a
@@ -187,14 +187,14 @@
 </p>
 <p class="note">
     <strong>Note:</strong> The
-    {@link android.provider.ContactsContract.ContactsColumns#PHOTO_THUMBNAIL_URI} column isn't available
+    {@link android.provider.ContactsContract.Contacts#PHOTO_THUMBNAIL_URI} column isn't available
     in platform versions prior to 3.0. For those versions, you must retrieve the URI
     from the {@link android.provider.ContactsContract.Contacts.Photo Contacts.Photo} subtable.
 </p>
 <p>
     First, set up variables for accessing the {@link android.database.Cursor} containing the
-    {@link android.provider.BaseColumns#_ID Contacts._ID} and
-    {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY Contacts.LOOKUP_KEY} columns, as
+    {@link android.provider.ContactsContract.Contacts#_ID Contacts._ID} and
+    {@link android.provider.ContactsContract.Contacts#LOOKUP_KEY Contacts.LOOKUP_KEY} columns, as
     described previously:
 </p>
 <pre>
diff --git a/docs/html/training/contacts-provider/modify-data.jd b/docs/html/training/contacts-provider/modify-data.jd
index e993c56..64853ef 100644
--- a/docs/html/training/contacts-provider/modify-data.jd
+++ b/docs/html/training/contacts-provider/modify-data.jd
@@ -196,8 +196,8 @@
     Contacts.CONTENT_LOOKUP_URI}, call
     {@link android.provider.ContactsContract.Contacts#getLookupUri
     Contacts.getLookupUri(id, lookupkey)} with the contact's
-    {@link android.provider.BaseColumns#_ID Contacts._ID} and
-    {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY Contacts.LOOKUP_KEY} values as
+    {@link android.provider.ContactsContract.Contacts#_ID Contacts._ID} and
+    {@link android.provider.ContactsContract.Contacts#LOOKUP_KEY Contacts.LOOKUP_KEY} values as
     arguments.
 </p>
 <p>
diff --git a/docs/html/training/contacts-provider/retrieve-details.jd b/docs/html/training/contacts-provider/retrieve-details.jd
index a463b75..0de3b67 100644
--- a/docs/html/training/contacts-provider/retrieve-details.jd
+++ b/docs/html/training/contacts-provider/retrieve-details.jd
@@ -55,11 +55,11 @@
 <p>
     To retrieve all the details for a contact, search the
     {@link android.provider.ContactsContract.Data} table for any rows that contain the contact's
-    {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}. This column is available in
+    {@link android.provider.ContactsContract.Data#LOOKUP_KEY}. This column is available in
     the {@link android.provider.ContactsContract.Data} table, because the Contacts
     Provider makes an implicit join between the {@link android.provider.ContactsContract.Contacts}
     table and the {@link android.provider.ContactsContract.Data} table. The
-    {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} column is described
+    {@link android.provider.ContactsContract.Contacts#LOOKUP_KEY} column is described
     in more detail in the <a href="retrieve-names.html">Retrieving Contact Names</a> lesson.
 </p>
 <p class="note">
@@ -85,9 +85,9 @@
     the data is in different columns depending on the data type.
     To ensure you get all the possible columns for all possible data types, you need to add all the
     column names to your projection. Always retrieve
-    {@link android.provider.BaseColumns#_ID Data._ID} if you're binding the result
+    {@link android.provider.ContactsContract.Data#_ID Data._ID} if you're binding the result
     {@link android.database.Cursor} to a {@link android.widget.ListView}; otherwise, the binding
-    won't work. Also retrieve {@link android.provider.ContactsContract.DataColumns#MIMETYPE Data.MIMETYPE}
+    won't work. Also retrieve {@link android.provider.ContactsContract.Data#MIMETYPE Data.MIMETYPE}
     so you can identify the data type of each row you retrieve. For example:
 </p>
 <pre>
@@ -128,7 +128,7 @@
 <p>
     Define a constant for your selection clause, an array to hold selection arguments, and a
     variable to hold the selection value. Use
-    the {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY Contacts.LOOKUP_KEY} column to
+    the {@link android.provider.ContactsContract.Contacts#LOOKUP_KEY Contacts.LOOKUP_KEY} column to
     find the contact. For example:
 </p>
 <pre>
@@ -153,7 +153,7 @@
 <p>
     Define the sort order you want in the resulting {@link android.database.Cursor}. To
     keep all rows for a particular data type together, sort by
-    {@link android.provider.ContactsContract.DataColumns#MIMETYPE Data.MIMETYPE}. This query argument
+    {@link android.provider.ContactsContract.Data#MIMETYPE Data.MIMETYPE}. This query argument
     groups all email rows together, all phone rows together, and so forth. For example:
 </p>
 <pre>
@@ -299,7 +299,7 @@
     </dt>
     <dd>
         Modify the selection text to search for the
-        {@link android.provider.ContactsContract.DataColumns#MIMETYPE MIMETYPE} value that's specific to
+        {@link android.provider.ContactsContract.Data#MIMETYPE MIMETYPE} value that's specific to
         your data type.
     </dd>
     <dt>
@@ -307,7 +307,7 @@
     </dt>
     <dd>
         Since you're only selecting a single detail type, don't group the returned
-        {@link android.database.Cursor} by {@link android.provider.ContactsContract.DataColumns#MIMETYPE
+        {@link android.database.Cursor} by {@link android.provider.ContactsContract.Data#MIMETYPE
         Data.MIMETYPE}.
     </dd>
 </dl>
@@ -344,9 +344,9 @@
 <h3>Define selection criteria</h3>
 <p>
     Define a search text expression that retrieves rows for a specific contact's
-    {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} and the
-    {@link android.provider.ContactsContract.DataColumns#MIMETYPE Data.MIMETYPE} of the details you
-    want. Enclose the {@link android.provider.ContactsContract.DataColumns#MIMETYPE MIMETYPE} value in
+    {@link android.provider.ContactsContract.Data#LOOKUP_KEY} and the
+    {@link android.provider.ContactsContract.Data#MIMETYPE Data.MIMETYPE} of the details you
+    want. Enclose the {@link android.provider.ContactsContract.Data#MIMETYPE MIMETYPE} value in
     single quotes by concatenating a "<code>'</code>" (single-quote) character to the start and end
     of the constant; otherwise, the provider interprets the constant as a variable name rather
     than as a string value. You don't need to use a placeholder for this value, because you're
@@ -368,10 +368,10 @@
 <h3>Define a sort order</h3>
 <p>
     Define a sort order for the returned {@link android.database.Cursor}. Since you're retrieving a
-    specific data type, omit the sort on {@link android.provider.ContactsContract.DataColumns#MIMETYPE}.
+    specific data type, omit the sort on {@link android.provider.ContactsContract.Data#MIMETYPE}.
     Instead, if the type of detail data you're searching includes a subtype, sort on it.
     For example, for email data you can sort on
-    {@link android.provider.ContactsContract.CommonDataKinds.CommonColumns#TYPE Email.TYPE}:
+    {@link android.provider.ContactsContract.CommonDataKinds.Email#TYPE Email.TYPE}:
 </p>
 <pre>
     private static final String SORT_ORDER = Email.TYPE + " ASC ";
diff --git a/docs/html/training/contacts-provider/retrieve-names.jd b/docs/html/training/contacts-provider/retrieve-names.jd
index 7d70ceb..49d6e95 100755
--- a/docs/html/training/contacts-provider/retrieve-names.jd
+++ b/docs/html/training/contacts-provider/retrieve-names.jd
@@ -227,7 +227,7 @@
 </pre>
 <p class="note">
     <strong>Note:</strong> Since
-    {@link android.provider.ContactsContract.ContactNameColumns#DISPLAY_NAME_PRIMARY
+    {@link android.provider.ContactsContract.Contacts#DISPLAY_NAME_PRIMARY
     Contacts.DISPLAY_NAME_PRIMARY} requires Android 3.0 (API version 11) or later, setting your
     app's <code>minSdkVersion</code> to 10 or below generates an Android Lint warning in
     Android Studio. To turn off this warning, add the annotation
@@ -261,7 +261,7 @@
     that displays the contacts, you need to call {@link android.app.Activity#findViewById
     Activity.findViewById()} using the parent activity of the
     {@link android.support.v4.app.Fragment}. Use the {@link android.content.Context} of the
-    parent activity when you call {@link android.widget.AdapterView#setAdapter setAdapter()}.
+    parent activity when you call {@link android.widget.ListView#setAdapter setAdapter()}.
     For example:
 </p>
 <pre>
@@ -293,7 +293,7 @@
 </p>
 <p>
     To continue setting up the listener, bind it to the {@link android.widget.ListView} by
-    calling the method {@link android.widget.AdapterView#setOnItemClickListener
+    calling the method {@link android.widget.ListView#setOnItemClickListener
     setOnItemClickListener()} in {@link android.support.v4.app.Fragment#onActivityCreated
     onActivityCreated()}. For example:
 </p>
@@ -318,15 +318,15 @@
     the {@link android.widget.ListView} displays the contact's display name,
     which contains the main form of the contact's name. In Android 3.0 (API version 11) and later,
     the name of this column is
-    {@link android.provider.ContactsContract.ContactNameColumns#DISPLAY_NAME_PRIMARY
+    {@link android.provider.ContactsContract.Contacts#DISPLAY_NAME_PRIMARY
     Contacts.DISPLAY_NAME_PRIMARY}; in versions previous to that, its name is
-    {@link android.provider.ContactsContract.ContactsColumns#DISPLAY_NAME Contacts.DISPLAY_NAME}.
+    {@link android.provider.ContactsContract.Contacts#DISPLAY_NAME Contacts.DISPLAY_NAME}.
 </p>
 <p>
-    The column {@link android.provider.BaseColumns#_ID Contacts._ID} is used by the
+    The column {@link android.provider.ContactsContract.Contacts#_ID Contacts._ID} is used by the
     {@link android.support.v4.widget.SimpleCursorAdapter} binding process.
-    {@link android.provider.BaseColumns#_ID Contacts._ID} and
-    {@link android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} are used together to
+    {@link android.provider.ContactsContract.Contacts#_ID Contacts._ID} and
+    {@link android.provider.ContactsContract.Contacts#LOOKUP_KEY} are used together to
     construct a content URI for the contact the user selects.
 </p>
 <pre>
@@ -635,7 +635,7 @@
     </li>
     <li>
         The name of the column that contains the custom MIME type value. This name is always
-        {@link android.provider.ContactsContract.DataColumns#MIMETYPE Data.MIMETYPE}.
+        {@link android.provider.ContactsContract.Data#MIMETYPE Data.MIMETYPE}.
     </li>
     <li>
         The custom MIME type value for the data type. As described previously, this is the constant
diff --git a/docs/html/training/graphics/opengl/touch.jd b/docs/html/training/graphics/opengl/touch.jd
index 6a961da..089ede7 100644
--- a/docs/html/training/graphics/opengl/touch.jd
+++ b/docs/html/training/graphics/opengl/touch.jd
@@ -36,7 +36,7 @@
 getting some attention, but what if you want to have users interact with your OpenGL ES graphics?
 The key to making your OpenGL ES application touch interactive is expanding your implementation of
 {@link android.opengl.GLSurfaceView} to override the {@link
-android.view.View#onTouchEvent onTouchEvent()} to listen for touch events.</p>
+android.opengl.GLSurfaceView#onTouchEvent onTouchEvent()} to listen for touch events.</p>
 
 <p>This lesson shows you how to listen for touch events to let users rotate an OpenGL ES object.</p>
 
@@ -44,7 +44,7 @@
 <h2 id="listener">Setup a Touch Listener</h2>
 
 <p>In order to make your OpenGL ES application respond to touch events, you must implement the
-{@link android.view.View#onTouchEvent onTouchEvent()} method in your
+{@link android.opengl.GLSurfaceView#onTouchEvent onTouchEvent()} method in your
 {@link android.opengl.GLSurfaceView} class. The example implementation below shows how to listen for
 {@link android.view.MotionEvent#ACTION_MOVE MotionEvent.ACTION_MOVE} events and translate them to
 an angle of rotation for a shape.</p>
diff --git a/docs/html/training/implementing-navigation/nav-drawer.jd b/docs/html/training/implementing-navigation/nav-drawer.jd
index abc79b6..8aebd4b 100644
--- a/docs/html/training/implementing-navigation/nav-drawer.jd
+++ b/docs/html/training/implementing-navigation/nav-drawer.jd
@@ -148,7 +148,7 @@
 }
 </pre>
 
-<p>This code also calls {@link android.widget.AdapterView#setOnItemClickListener
+<p>This code also calls {@link android.widget.ListView#setOnItemClickListener
 setOnItemClickListener()} to receive click events in the navigation drawer's list.
 The next section shows how to implement this interface
 and change the content view when the user selects an item.</p>
@@ -160,7 +160,7 @@
 <p>When the user selects an item in the drawer's list, the system calls {@link
 android.widget.AdapterView.OnItemClickListener#onItemClick onItemClick()} on the
 {@link android.widget.AdapterView.OnItemClickListener OnItemClickListener} given to
-{@link android.widget.AdapterView#setOnItemClickListener setOnItemClickListener()}.</p>
+{@link android.widget.ListView#setOnItemClickListener setOnItemClickListener()}.</p>
 
 <p>What you do in the {@link
 android.widget.AdapterView.OnItemClickListener#onItemClick onItemClick()} method
diff --git a/docs/html/training/notify-user/build-notification.jd b/docs/html/training/notify-user/build-notification.jd
index 7df2787..baa1074 100644
--- a/docs/html/training/notify-user/build-notification.jd
+++ b/docs/html/training/notify-user/build-notification.jd
@@ -134,8 +134,8 @@
 <ul>
 <li>Get an instance of {@link android.app.NotificationManager}.</li>
 
-<li>Use the {@link android.app.NotificationManager#notify(String, int, Notification)} method to issue the
-notification. When you call {@link android.app.NotificationManager#notify(String, int, Notification)}, specify a notification ID.
+<li>Use the {@link android.app.NotificationManager#notify notify()} method to issue the
+notification. When you call {@link android.app.NotificationManager#notify notify()}, specify a notification ID.
 You can use this ID to update the notification later on. This is described in more detail in
 <a href="managing.html">Managing Notifications</a>.</li>
 
diff --git a/docs/html/training/wearables/notifications/creating.jd b/docs/html/training/wearables/notifications/creating.jd
index 35bb2bd..5663b58 100644
--- a/docs/html/training/wearables/notifications/creating.jd
+++ b/docs/html/training/wearables/notifications/creating.jd
@@ -58,7 +58,7 @@
 
 <p>To create a notification with the support library, you create an instance of
 {@link android.support.v4.app.NotificationCompat.Builder} and issue the notification by
-passing it to {@link android.support.v4.app.NotificationManagerCompat#notify(int, android.app.Notification) notify()}. For example:
+passing it to {@link android.support.v4.app.NotificationManagerCompat#notify notify()}. For example:
 </p>
 
 <pre>
diff --git a/docs/html/training/wearables/notifications/stacks.jd b/docs/html/training/wearables/notifications/stacks.jd
index c3f43a7..8056fc8 100644
--- a/docs/html/training/wearables/notifications/stacks.jd
+++ b/docs/html/training/wearables/notifications/stacks.jd
@@ -37,7 +37,7 @@
 
 <p>To create a stack, call {@link android.support.v4.app.NotificationCompat.Builder#setGroup setGroup()}
 for each notification you want in the stack and specify a
-group key. Then call {@link android.support.v4.app.NotificationManagerCompat#notify(int, android.app.Notification) notify()}
+group key. Then call {@link android.support.v4.app.NotificationManagerCompat#notify notify()}
 to send it to the wearable.</p>
 
 <pre style="clear:right">
@@ -59,7 +59,7 @@
 
 <p>Later on, when you create another notification, specify
 the same group key. When you call
-{@link android.support.v4.app.NotificationManagerCompat#notify(int, android.app.Notification) notify()},
+{@link android.support.v4.app.NotificationManagerCompat#notify notify()},
 this notification appears in the same stack as the previous notification,
 instead of as a new card:</p>
 
diff --git a/docs/html/work/managed-configurations.jd b/docs/html/work/managed-configurations.jd
index 76ca82f..6de4d8b 100644
--- a/docs/html/work/managed-configurations.jd
+++ b/docs/html/work/managed-configurations.jd
@@ -349,7 +349,7 @@
 <p>
   To get a {@link android.content.RestrictionsManager} object, get the current
   activity with {@link android.app.Fragment#getActivity getActivity()}, then
-  call that activity's {@link android.app.Activity#getSystemService(java.lang.String)
+  call that activity's {@link android.app.Activity#getSystemService
   Activity.getSystemService()} method:
 </p>
 
@@ -399,9 +399,9 @@
   <code>String</code>, and <code>String[]</code>. Once you have the
   managed configurations {@link android.os.Bundle}, you can check the current
   configuration settings with the standard {@link android.os.Bundle} methods for
-  those data types, such as {@link android.os.BaseBundle#getBoolean getBoolean()}
+  those data types, such as {@link android.os.Bundle#getBoolean getBoolean()}
   or
-  {@link android.os.BaseBundle#getString getString()}.
+  {@link android.os.Bundle#getString getString()}.
 </p>
 
 <p class="note">