diff --git a/en/compatibility/index.html b/en/compatibility/index.html
index 26ec785..e6bc995 100644
--- a/en/compatibility/index.html
+++ b/en/compatibility/index.html
@@ -76,7 +76,7 @@
 (<a href="/compatibility/android-cdd.pdf">PDF</a>, <a
 href="/compatibility/android-cdd.html">HTML</a>). The CDD enumerates
 the software and hardware requirements of a compatible Android device.</li>
-<li><em>Pass the <a href="/compatibility/cts-intro.html">Compatibility
+<li><em>Pass the <a href="/compatibility/cts/">Compatibility
 Test Suite (CTS)</a></em>. Use the CTS as an ongoing aid to evaluate
 compatibility during the development process.</li> </ol>
 
diff --git a/en/devices/audio/index.html b/en/devices/audio/index.html
index 77aba3b..e016b92 100644
--- a/en/devices/audio/index.html
+++ b/en/devices/audio/index.html
@@ -100,7 +100,7 @@
 you must implement for your audio hardware to function correctly. The audio HAL
 interfaces are located in <code>hardware/libhardware/include/hardware</code>.
 For details, see <a
-href="/devices/halref/audio_8h_source.html">hardware/audio.h</a>.
+href="https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/audio.h">audio.h</a>.
 </dd>
 
 <dt>
diff --git a/en/devices/audio/terminology.html b/en/devices/audio/terminology.html
index f84fa88..14994d3 100644
--- a/en/devices/audio/terminology.html
+++ b/en/devices/audio/terminology.html
@@ -427,7 +427,7 @@
 In
 <a href="http://www.alsa-project.org/main/index.php/ASoC">ALSA System on Chip (ASoC)</a>,
 these are collectively called
-<a href="https://www.kernel.org/doc/Documentation/sound/alsa/soc/DAI.txt">Digital Audio Interfaces</a>
+<a href="https://www.kernel.org/doc/Documentation/sound/soc/dai.rst">Digital Audio Interfaces</a>
 (DAI).
 </p>
 
diff --git a/en/devices/audio/usb.html b/en/devices/audio/usb.html
index e3d5fce..f1c99ff 100644
--- a/en/devices/audio/usb.html
+++ b/en/devices/audio/usb.html
@@ -554,7 +554,7 @@
 <li>enable generic USB host support at the framework level
 via the <code>android.hardware.usb.host.xml</code> feature flag</li>
 <li>enable all kernel features needed: USB host mode, USB audio, isochronous transfer mode;
-see <a href="/devices/tech/kernel.html">Android Kernel Configuration</a></li>
+see <a href="/devices/tech/config/kernel.html">Android Kernel Configuration</a></li>
 <li>keep up-to-date with recent kernel releases and patches;
 despite the noble goal of class compliance, there are extant audio peripherals
 with <a href="http://en.wiktionary.org/wiki/quirk">quirks</a>,
diff --git a/en/devices/automotive.html b/en/devices/automotive.html
index 584fd7a..d77e564 100644
--- a/en/devices/automotive.html
+++ b/en/devices/automotive.html
@@ -183,7 +183,7 @@
 
 <p>Example: get HVAC Temperature</p>
 <img src="images/vehicle_hvac_get.png" alt="Vehicle HAL get HVAC example">
-<p class="img-caption"><strong>Figure 2</strong>. Get HVAC temperature (CD =
+<p class="img-caption"><strong>Figure 2</strong>. Get HVAC temperature (CS =
 CarService, VNS = VehicleNetworkService, VHAL = Vehicle HAL)</p>
 
 <h3 id=set>Set calls</h3>
diff --git a/en/devices/sensors/sensor-stack.html b/en/devices/sensors/sensor-stack.html
index cd4fcab..8ec0320 100644
--- a/en/devices/sensors/sensor-stack.html
+++ b/en/devices/sensors/sensor-stack.html
@@ -127,7 +127,9 @@
 <p>The interface is defined by Android and AOSP contributors, and the
   implementation is provided by the manufacturer of the device.</p>
 <p>The sensor HAL interface is located in <code>hardware/libhardware/include/hardware</code>.
-  See <a href="/devices/halref/sensors_8h.html">sensors.h</a> for additional details.</p>
+  See <a
+    href="https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/sensors.h">sensors.h</a>
+  for additional details.</p>
 <h3 id="release_cycle">Release cycle</h3>
 <p>The HAL implementation specifies what version of the HAL interface it
   implements by setting <code>your_poll_device.common.version</code>. The existing HAL
diff --git a/en/devices/tech/ota/tools.html b/en/devices/tech/ota/tools.html
index 32eec98..1b26f91 100644
--- a/en/devices/tech/ota/tools.html
+++ b/en/devices/tech/ota/tools.html
@@ -23,11 +23,12 @@
 
 
 
-<p>The <a href="https://android.googlesource.com/platform/build/+/master/tools/
-releasetools/ota_from_target_files">ota_from_target_files</a> tool provided in
-<code>build/tools/releasetools</code> can build two types of package: <i>full
-</i> and <i>incremental</i>. The tool takes the <i>target-files</i> .zip file
-produced by the Android build system as input.</p>
+<p>The <a
+  href="https://android.googlesource.com/platform/build/+/master/tools/releasetools/ota_from_target_files">ota_from_target_files</a>
+tool provided in <code>build/tools/releasetools</code> can build two types of
+package: <i>full </i> and <i>incremental</i>. The tool takes the
+<i>target-files</i> .zip file produced by the Android build system as
+input.</p>
 
 <h2 id="full-updates">Full updates</h2>
 <p>A <i>full</i> update is one where the entire final state of the device
@@ -62,8 +63,8 @@
 
 <p>The ota_update.zip is now ready to be sent to test devices (everything is
 signed with the test key). For user devices, generate and use your own private
-keys as detailed in <a href="/devices/tech/ota/sign_builds
-.html">Signing builds for release</a>.
+keys as detailed in <a href="/devices/tech/ota/sign_builds.html">Signing builds
+  for release</a>.
 
 <h2 id="incremental-updates">Incremental updates</h2>
 <p>An <i>incremental</i> update contains a set of binary patches to be applied
diff --git a/en/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html b/en/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html
index f5c836d..a46bb22 100644
--- a/en/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html
+++ b/en/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html
@@ -26,17 +26,17 @@
 <p>The lifecycle of a test executed using TradeFederation is composed of four separate stages, designed
 around formally defined interfaces.</p>
 <ul>
-<li><a href="/reference/com/android/tradefed/build/IBuildProvider.html"
+<li><a href="/reference/tradefed/com/android/tradefed/build/IBuildProvider.html"
   >Build Provider</a>: Provides a build to test, downloading appropriate files if necessary.</li>
-<li><a href="/reference/com/android/tradefed/targetprep/ITargetPreparer.html"
+<li><a href="/reference/tradefed/com/android/tradefed/targetprep/ITargetPreparer.html"
   >Target Preparer</a>: Prepares the test environment, possibly including software installation and
   device configuration.</li>
-<li><a href="/reference/com/android/tradefed/testtype/IRemoteTest.html"
+<li><a href="/reference/tradefed/com/android/tradefed/testtype/IRemoteTest.html"
   >Test</a>: Executes test(s) and gathers test results.  This may be any JUnit Test, although our
-  <a href="/reference/com/android/tradefed/testtype/IRemoteTest.html"
+  <a href="/reference/tradefed/com/android/tradefed/testtype/IRemoteTest.html"
   >IRemoteTest</a> interface is specifically designed to work well in the Trade Federation
   environment.</li>
-<li><a href="/reference/com/android/tradefed/result/ITestInvocationListener.html"
+<li><a href="/reference/tradefed/com/android/tradefed/result/ITestInvocationListener.html"
   >Test Invocation Listener</a>: Listens for test results, usually for the purpose of forwarding the
   test results to a repository or displaying them to the Test Runner.</li>
 </ul>
@@ -59,9 +59,9 @@
 
 <h3>Additional Components of a Configuration</h3>
 <ul>
-<li><a href="/reference/com/android/tradefed/device/IDeviceRecovery.html"
+<li><a href="/reference/tradefed/com/android/tradefed/device/IDeviceRecovery.html"
   >Device Recovery</a>: mechanism to recover device communication if lost.</li>
-<li><a href="/reference/com/android/tradefed/log/package-summary.html">Logger</a>: collects tradefed logging data.</li>
+<li><a href="/reference/tradefed/com/android/tradefed/log/package-summary.html">Logger</a>: collects tradefed logging data.</li>
 </ul>
 
 
diff --git a/en/security/overview/acknowledgements.html b/en/security/overview/acknowledgements.html
index fd84ebd..91b170c 100644
--- a/en/security/overview/acknowledgements.html
+++ b/en/security/overview/acknowledgements.html
@@ -909,7 +909,7 @@
 Indiana University Bloomington (<a
 href="mailto:xw7@indiana.edu">xw7@indiana.edu</a>)</p>
 
-<p><a href="https://www.facebook.com/zhou.xiaoyong">Xiaoyong Zhou</a> of <a
+<p>Xiaoyong Zhou of <a
 href="http://www.cs.indiana.edu/~zhou/">Indiana University Bloomington</a> <br>(<a
 href="https://twitter.com/xzhou">@xzhou</a>, <a
 href="mailto:zhou.xiaoyong@gmail.com">zhou.xiaoyong@gmail.com</a>)</p>
@@ -967,7 +967,7 @@
 
 <p>Qualcomm Product Security Initiative</p>
 
-<p><a href="http://roeehay.blogspot.com/">Roee Hay</a> (<a href="https://twitter.com/roeehay">@roeehay</a>,
+<p><a href="https://securityresear.ch/">Roee Hay</a> (<a href="https://twitter.com/roeehay">@roeehay</a>,
 <a href="mailto:roeehay@gmail.com">roeehay@gmail.com</a>)</p>
 
 <p>Robert Craig of <a href="https://www.nsa.gov/research/ia_research/">
diff --git a/en/security/overview/app-security.html b/en/security/overview/app-security.html
index 6501c68..ea20c61 100644
--- a/en/security/overview/app-security.html
+++ b/en/security/overview/app-security.html
@@ -33,33 +33,40 @@
 <p>The main Android application building blocks are:</p>
 <ul>
   <li>
-    <p><strong>AndroidManifest.xml</strong>: The <a href="https://developer.android.com/guide/topics/manifest/manifes
-t-intro.html">AndroidManifest.xml</a> file is the control file that tells the system what to do with
+    <p><strong>AndroidManifest.xml</strong>: The <a
+      href="https://developer.android.com/guide/topics/manifest/manifest-intro.html">AndroidManifest.xml</a>
+      file is the control file that tells the system what to do with
       all the top-level components (specifically activities, services, broadcast
       receivers, and content providers described below) in an application. This also
       specifies which permissions are required.</p>
   </li>
   <li>
-    <p><strong>Activities</strong>: An <a href="https://developer.android.com/guide/topics/fundamentals/activities.htm
-l">Activity</a> is, generally, the code for a single, user-focused task.  It usually
+    <p><strong>Activities</strong>: An <a
+      href="https://developer.android.com/guide/topics/fundamentals/activities.html">Activity</a>
+      is, generally, the code for a single, user-focused task.  It usually
       includes displaying a UI to the user, but it does not have to -- some
       Activities never display UIs.  Typically, one of the application's Activities
       is the entry point to an application.</p>
   </li>
   <li>
-    <p><strong>Services</strong>: A <a href="https://developer.android.com/guide/topics/fundamentals/services.html">Service</a> is a body of code that runs in the background. It can run in its own process,
-      or in the context of another application's process. Other components "bind" to
+    <p><strong>Services</strong>: A <a
+      href="https://developer.android.com/guide/topics/fundamentals/services.html">Service</a>
+      is a body of code that runs in the background. It can run in its own
+      process, or in the context of another application's process. Other components "bind" to
       a Service and invoke methods on it via remote procedure calls. An example of a
       Service is a media player: even when the user quits the media-selection UI, the
       user probably still intends for music to keep playing. A Service keeps the
       music going even when the UI has completed.</p>
   </li>
   <li>
-    <p><strong>Broadcast Receiver</strong>: A <a href="https://developer.android.com/reference/android/content/Broad
-castReceiver.html">BroadcastReceiver</a> is an object that is instantiated when an IPC mechanism
-      known as an <a href="https://developer.android.com/reference/android/content/Intent.html">Intent</a> is issued by the operating system or another application.  An application may
-      register a receiver for the low battery message, for example, and change its
-      behavior based on that information.</p>
+    <p><strong>Broadcast Receiver</strong>: A <a
+      href="https://developer.android.com/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a>
+      is an object that is instantiated when an IPC mechanism
+      known as an <a
+        href="https://developer.android.com/reference/android/content/Intent.html">Intent</a>
+      is issued by the operating system or another application.  An application
+      may register a receiver for the low battery message, for example, and
+      change its behavior based on that information.</p>
   </li>
 </ul>
 <h2 id="the-android-permission-model-accessing-protected-apis">The Android Permission Model: Accessing Protected APIs</h2>
diff --git a/en/security/overview/updates-resources.html b/en/security/overview/updates-resources.html
index 48a4334..c524b5f 100644
--- a/en/security/overview/updates-resources.html
+++ b/en/security/overview/updates-resources.html
@@ -1,6 +1,6 @@
 <html devsite>
   <head>
-    <title> Security updates and resources</title>
+    <title>Security Updates and Resources</title>
     <meta name="project_path" value="/_project.yaml" />
     <meta name="book_path" value="/_book.yaml" />
   </head>
@@ -31,10 +31,9 @@
 
 <p>The Android security team finds security vulnerabilities through internal
 research and also responds to bugs reported by third parties. Sources of
-external bugs include issues reported through the Android Open Source
-Project (AOSP) <a
-href="https://code.google.com/p/android/issues/entry?template=Security%20bug%20report">Security
-bug report</a> template, published and pre-published academic research,
+external bugs include issues reported through the <a
+href="https://issuetracker.google.com/issues/new?component=190951">Android
+Security Issue template</a>, published and pre-published academic research,
 upstream open source project maintainers, notifications from our device
 manufacturer partners, and publicly disclosed issues posted on blogs or social
 media.</p>
@@ -42,9 +41,9 @@
 <h2 id=report-issues>Reporting security issues</h2>
 
 <p>Any developer, Android user, or security researcher can notify the Android
-security team of potential security issues through the AOSP bug tracker <a
-href="https://code.google.com/p/android/issues/entry?template=Security%20bug%20report">Security
-bug report</a> template.</p>
+security team of potential security issues through the <a
+href="https://issuetracker.google.com/issues/new?component=190951">
+Android Security Issue template</a>.</p>
 
 <p>Bugs marked as security issues are not externally visible, but they may
 eventually be made visible after the issue is evaluated or resolved. If you
diff --git a/en/source/community.html b/en/source/community.html
index b2e414a..2e78a9c 100644
--- a/en/source/community.html
+++ b/en/source/community.html
@@ -68,8 +68,6 @@
 
 <h5>Send feedback</h5>
 <a href="/source/report-bugs.html">Report AOSP bug</a><br>
-<a href="https://code.google.com/p/android/issues/entry?template=Feature%20request">Suggest
-a feature</a>
 <p></p>
 
 </td>
diff --git a/en/source/life-of-a-bug.html b/en/source/life-of-a-bug.html
index 28140bc..571b7cd 100644
--- a/en/source/life-of-a-bug.html
+++ b/en/source/life-of-a-bug.html
@@ -27,170 +27,125 @@
 (For details on this issue tracker, please see the
 <a href="report-bugs.html">Reporting Bugs</a> page).
 Reporting bugs is great (thank you!), but what happens to a bug report once
-you file it? This page describes the Life of a Bug.</p>
+you file it? This page describes the life of a bug.</p>
 
-<p>*Please note: the Android Open Source Project (AOSP) issue tracker is
+<p class="note">The Android Open Source Project (AOSP) issue tracker is
 intended only for bugs and feature requests related to the core Android
 software stack, and is a technical tool for the Open Source community.</p>
 
-<p>This is not a customer support forum.
-You can find support for Nexus devices on
-<a href="http://support.google.com/nexus">Google's Nexus support site</a>.
+<p>This is not a customer support forum. For support information, see the
+<a href="https://support.google.com/nexus">Nexus</a> and 
+<a href="https://support.google.com/pixelphone">Pixel</a> help centers.
 Support for other devices is provided by the device manufacturers or by the
 carriers selling those devices.</p>
 
 <p>Support for Google applications is through
 <a href="http://support.google.com/">Google's support site</a>. Support
-for 3rd-party applications is with each application's developer, e.g.
+for third-party applications is with each application's developer, e.g.
 through the contact information provided on Google Play.</p>
 
 <p>Here's the life of a bug, in a nutshell:</p>
 <ol>
-<li>
-<p>A bug is filed, and has the state "New".</p>
-</li>
-<li>
-<p>An AOSP maintainer periodically reviews and triages bugs. Bugs are
-triaged into one of four "buckets": New, Open, No-Action, or Resolved.</p>
-</li>
-<li>
-<p>Each bucket includes a number of states that provide more detail on the
-fate of the issue.</p>
-</li>
-<li>
-<p>Bugs in the "Resolved" bucket will eventually be included in a future
-release of the Android software.</p>
-</li>
+<li>A bug is filed, and has the state "New".</li>
+<li>An AOSP maintainer periodically reviews and triages bugs. Bugs are
+triaged into one of four <em>buckets</em>: New, Open, No-Action, or Resolved.</li>
+<li>Each bucket includes a number of states that provide more detail on the
+fate of the issue.</li>
+<li>Bugs marked as "Resolved" will eventually be included in a future
+release of the Android software.</li>
 </ol>
-<h2 id="bucket-details">Bucket Details</h2>
-<p>Here is some additional information on each bucket, what it means, and how
-it's handled.</p>
-<h3 id="new-issues">New Issues</h3>
-<p>New issues include bug reports that are not yet being acted upon. The two
-states are:</p>
-<ul>
-<li>
-<p><em>New:</em>
-    The bug report has not yet been triaged (that is, reviewed by an AOSP maintainer.)</p>
-</li>
-<li>
-<p><em>NeedsInfo:</em>
-    The bug report has insufficient information to act
-upon. The person who reported the bug needs to provide additional detail
-before it can be triaged. If enough time passes and no new information is
-provided, the bug may be closed by default, as one of the No-Action
-states.</p>
-</li>
 </ul>
-<h3 id="open-issues">Open Issues</h3>
-<p>This bucket contains bugs that need action, but which are still
-unresolved, pending a change to the source code.</p>
-<ul>
-<li>
-<p><em>Unassigned:</em>
-    The bug report has been recognized as an adequately
-detailed report of a legitimate issue, but has not yet been assigned to an
-AOSP contributor to be fixed.</p>
-</li>
-<li>
-<p><em>Assigned:</em>
-    Like <em>Unassigned</em>, but the bug has been
-actually assigned to a specific contributor to fix.</p>
-</li>
-</ul>
-<p>Typically, a given bug will start in <em>Unassigned</em>, where it
-will remain until someone intends to resolve it, at which
-point it will enter <em>Assigned</em>. However,
-note that this isn't a guarantee, and it's not uncommon for bugs to go from
-<em>Unassigned</em> to one of the Resolved states.</p>
-<p>In general, if a bug is in one of these Open states, the AOSP team has
-recognized it as a legitimate issue, and a high-quality contribution fixing
-that bug is likely to get accepted. However, it's impossible to guarantee a
-fix in time for any particular release.</p>
 
-<h3 id="no-action-issues">No-Action Issues</h3>
-<p>This bucket contains bugs that have for one reason or another been
-determined to not require any action.</p>
+<h2 id="bucket-details">Bucket details</h2>
+<p>
+We use the <strong>Status</strong> field in Issue Tracker to specify the status
+of an issue in the resolution process. This is consistent with the definitions
+specified in the <a
+    href="https://developers.google.com/issue-tracker/concepts/issues#status">Issue
+    Tracker documentation</a>.
+</p>
+<h3 id="new-issues">New issues</h3>
+<p>
+New issues include bug reports that are not yet being acted upon. The two states
+are:
+</p>
 <ul>
-<li>
-<p><em>Spam:</em> 
-    A kind soul sent us some delicious pork products, that we,
-regrettably, do not want.</p>
-</li>
-<li>
-<p><em>Duplicate:</em>
-    There was already an identical report in the issue tracker. Any actual
-action will be reported on that report.</p>
-</li>
-<li>
-<p><em>Unreproducible:</em>
-    An AOSP contributor attempted to reproduce the
-behavior described, and was unable to do so. This sometimes means that the bug
-is legitimate but simply rare or difficult to reproduce, and sometimes means
-that the bug was fixed in a later release.</p>
-</li>
-<li>
-<p><em>Obsolete:</em>
-    Similar to <em>Unreproducible,</em> but with a reasonable certainty
-that the bug did exist in the reported version but was already fixed in
-a later release.</p>
-</li>
-<li>
-<p><em>WorkingAsIntended:</em>
-    An AOSP maintainer has determined that the
-behavior described isn't a bug, but is the intended behavior. This state is
-also commonly referred to as "WAI".</p>
-</li>
-<li>
-<p><em>Declined:</em>
-    This is like <em>WorkingAsIntended</em>, except
-typically used for feature requests instead of bugs. That is, an AOSP
-maintainer has determined that the request is not going to be implemented in
-Android.</p>
-</li>
-<li>
-<p><em>NotEnoughInformation:</em>
-    The report didn't have enough information to be able to take any action.</p>
-</li>
-<li>
-<p><em>UserError:</em>
-    The report was the result of a user making a mistake while using Android,
-e.g. typing a wrong password and therefore not being able to connect to a
-server.</p>
-</li>
-<li>
-<p><em>WrongForum:</em>
-    The report cannot be handled in AOSP, typically because it is related
-to a customized device or to an external application.</p>
-</li>
-<li>
-<p><em>Question:</em>
-    Someone mistook the issue tracker for a help forum.</p>
-</li>
+ <li><strong>New:</strong> The bug report has not yet been triaged (that is,
+ reviewed by an AOSP maintainer.)</li>
+ <li><strong>New + Hotlist:NeedsInfo:</strong> The bug report has insufficient
+ information to act upon. The person who reported the bug needs to provide
+ additional detail before it can be triaged. If enough time passes and no new
+ information is provided, the bug may be closed by default, as one of the
+ No-Action states.</li>
 </ul>
-<h3 id="resolved-issues">Resolved Issues</h3>
-<p>This bucket contains bugs that have had action taken, and are now
-considered resolved.</p>
+<h3 id="open-issues">Open issues</h3>
+<p>
+This bucket contains bugs that need action, but which are still unresolved,
+pending a change to the source code.
+</p>
 <ul>
-<li>
-<p><em>Released:</em>
-    This bug has been fixed, and is included in a formal release.
-When this state is set, we try to also set a
-property indicating which release it was fixed in.</p>
-</li>
-<li>
-<p><em>FutureRelease:</em>
-    This bug has been fixed (or feature implemented) in
-a source tree, but has not yet been included in a formal release.</p>
-</li>
+ <li><strong>Assigned:</strong> The bug report has been recognized as an
+ adequately detailed report of a legitimate issue and the bug has been assigned
+ to a specific contributor to assess and analyze.</li>
+ <li><strong>Accepted:</strong> The assignee has acknowledged the issue and has
+ started to work on it.</li>
 </ul>
-<h2 id="other-stuff">Other Stuff</h2>
-<p>The states and lifecycle above are how we generally try to track software.
+<p>
+Typically, a bug starts in <strong>Assigned</strong>, and remains there until
+someone intends to resolve it, at which point it enters
+<strong>Accepted</strong>. However, note that this isn't a guarantee, and it's
+not uncommon for bugs to go from <strong>Assigned</strong> to one of the
+Resolved states.
+</p>
+<p>
+In general, if a bug is in one of these Open states, the AOSP team has
+recognized it as a legitimate issue, and a high-quality contribution fixing that
+bug is likely to get accepted. However, it's impossible to guarantee a fix in
+time for any particular release.
+</p>
+<h3 id="no-action-issues">No-Action issues</h3>
+<p>
+This bucket contains bugs that are deemed to not require any action.
+</p>
+<ul>
+ <li><strong>Won't Fix (Not reproducible):</strong> An AOSP contributor attempted
+ to reproduce the behavior described, and was unable to do so. This sometimes
+ means that the bug is legitimate but simply rare or difficult to reproduce, or
+ there was not enough information to fix the issue.</li>
+ <li><strong>Won't Fix (Intended behavior):</strong> An AOSP maintainer has
+ determined that the behavior described isn't a bug, but is the intended
+ behavior. This state is also commonly referred to as <em>working as
+ intended</em> (WAI). For feature requests, an AOSP maintainer has determined
+ that the request is not going to be implemented in Android.</li>
+ <li><strong>Won't Fix (Obsolete):</strong> The issue is no longer relevant due
+ to changes in the product.</li>
+ <li><strong>Won't Fix (Infeasible):</strong> The changes that are needed to
+ address the issue are not reasonably possible. This status is also used for
+ issues reported that cannot be handled in AOSP, typically because it is related
+ to a customized device or to an external application, or the reporter mistook
+ this tracker as a help forum.</li>
+ <li><strong>Duplicate:</strong> There was already an identical report in the
+ issue tracker. Any actual action will be reported on that report.</li>
+</ul>
+<h3 id="resolved-issues">Resolved issues</h3>
+<p>
+This bucket contains bugs that have had action taken, and are now considered
+resolved.
+</p>
+<ul>
+ <li><strong>Fixed (verified):</strong> This bug has been fixed, and is included
+ in a formal release. When this state is set, we try to also set a property
+ indicating which release it was fixed in.</li>
+ <li><strong>Fixed:</strong> This bug has been fixed (or feature implemented) in
+ a source tree, but might not yet been included in a formal release.</li>
+</ul>
+<h2 id="other-stuff">Other stuff</h2>
+<p>
+The states and lifecycle above are how we generally try to track software.
 However, Android contains a lot of software and gets a correspondingly large
 number of bugs. As a result, sometimes bugs don't make it through all the
 states in a formal progression. We do try to keep the system up to date, but
 we tend to do so in periodic "bug sweeps" where we review the database and
 make updates.</p>
-
   </body>
 </html>
diff --git a/en/source/report-bugs.html b/en/source/report-bugs.html
index e607774..8c7e55f 100644
--- a/en/source/report-bugs.html
+++ b/en/source/report-bugs.html
@@ -20,62 +20,287 @@
       See the License for the specific language governing permissions and
       limitations under the License.
   -->
+<p>
+Thank you for your interest in Android! You can help improve Android by
+reporting issues and feature requests in
+<a href="https://developers.google.com/issue-tracker/concepts/issues">Issue
+Tracker</a>. The Android Issue Tracker contains a list of pending technical
+tasks across a variety of topics, information relevant to those tasks, and
+information about progress on those tasks, including which ones might get worked
+on in the short term.
+</p>
+<p>
+Issue Tracker is not a customer support forum. For support information, see the
+<a href="https://support.google.com/nexus">Nexus</a> and 
+<a href="https://support.google.com/pixelphone">Pixel</a> help centers. Support for
+other devices is provided by the device manufacturers or by the carriers selling
+those devices.
+</p>
+<p>
+Support for Google applications is through
+<a href="http://support.google.com/">Google's support site</a>. Support for
+third-party applications is provided by the application's developer, e.g.
+through the contact information provided on Google Play. For a list of more
+Android support resources, see our <a href="/source/community">Community page</a>.
+</p>
+<p>
+There are no guarantees that any particular bug can be fixed in any particular
+release. To see what happens to your bug once you report it, read
+<a href="/source/life-of-a-bug.html">Life of a Bug</a>.
+</p>
+<h2 id="filing-a-bug">Filing a bug</h2>
+<ol>
+<li><a href="https://issuetracker.google.com/issues?q=componentid:190923%2B">Search
+for your bug</a> to see if anyone has already reported it. Don't forget to
+search for all issues, not just open ones, as your issue might already have been
+reported and closed. To help you find the most popular results, sort the result
+by number of stars.</li>
+<li>If you find your issue and it's important to you,
+<a href="https://developers.google.com/issue-tracker/guides/subscribe#starring_an_issue">star
+it</a>! The number of
+stars on a bug helps us know which bugs are most important to fix.</li>
+<li>If no one has reported your bug, file the bug. First,
+<a href="https://issuetracker.google.com/components">browse for the correct
+component</a>, such as <a href="https://issuetracker.google.com/issues?q=componentid:192705">Framework</a>
+or <a href="https://issuetracker.google.com/issues?q=componentid:192634">Networking</a>,
+and fill out the provided template. Or select the desired bug queue from the
+tables below.
+<p class="key-point">
+<strong>Tip</strong>: Some components contain sub-components, like <strong>Network &gt;
+Messaging</strong> and <strong>Framework &gt; Storage</strong>.
+</p>
+</li>
+<li>Include as much information in bugs as you can, following the instructions
+for the bug queue you're targeting. A bug that simply says something isn't
+working doesn't help much, and will probably be closed without any action. The
+amount of detail you provide, such as log files, repro steps, and even a patch
+set, helps us address your issue.</li>
+</ol>
+<h2 id="bug-queues">Bug queues</h2>
+<p>
+The Android Issue Tracker has a variety of sub-components in a number of
+categories related to Android. There are subcomponents for security, the
+platform, Android Developer Tools, documentation, and more.
+</p>
+
+<h3 id="security">Security</h3>
+<p>
+If you find an issue that impacts the security of Android or components in Nexus
+or Pixel devices, follow the instructions
+<a href="/security/overview/updates-resources#report-issues">here</a>.
+Additionally, security bugs are eligible for the
+<a href="https://www.google.com/about/appsecurity/android-rewards/">Android
+Security Vulnerability Rewards Program</a>.
+</p>
+<p>
+Because of the sensitive nature of security bugs, you won't be able to browse
+open issues, only closed issues or issues that have been made public.
+</p>
 
 
-<p>Thank you for your interest in Android! One of the best ways you can help us
-improve Android is to let us know about any problems you find with it.</p>
-<p class="note"><strong>Note:</strong> For security vulnerabilities, please use
-the AOSP bug tracker <a
-href="https://code.google.com/p/android/issues/entry?template=Security%20bug%20report">Security
-bug report</a> template. See <a
-href="/security/overview/updates-resources.html#report-issues">Reporting
-Security Issues</a> for additional details.</p>
-<p>Here's how to report <strong>non-security</strong> bugs:</p>
-<ul>
-<li>
-<p><a href="https://code.google.com/p/android/issues/advsearch">Search for
-your bug</a> to see if anyone has already reported it. Don't forget to
-search for all issues, not just open ones, as your issue might already
-have been reported and closed. To help you find the most popular results,
-sort the result by number of stars.</p>
-</li>
-<li>
-<p>If you find your issue and it's important to you, star it! That's how we know which bugs are most important to fix.</p>
-</li>
-<li>
-<p>If no one has reported your bug, file the bug. You can use one of these templates:</p>
-<ul>
-<li>
-<p><a href="https://code.google.com/p/android/issues/entry?template=User%20bug%20report">Bug in your Device</a> - 
-use this if you are a user reporting a bug in a device you own</p>
-</li>
-<li>
-<p><a href="https://code.google.com/p/android/issues/entry?template=Developer%20bug%20report">Bug in the Software</a> - 
-use this if you found a bug in the course of developing an app</p>
-</li>
-<li>
-<p><a href="https://code.google.com/p/android/issues/entry?template=Feature%20request">Feature Request</a> - 
-use this for a feature you'd like to see in a future verison</p>
-</li>
-</ul>
-</li>
-</ul>
-<p>Keep in mind that an issue tracker is not a user support forum. It is a list
-of pending technical tasks, along with information relevant for those tasks,
-and information about progress on those tasks including which ones might
-get worked on in the short term.</p>
-<p>This issue tracker is narrowly focused on the Android Open Source Project.
-Issues with retail devices need to be reported through those devices' support
-channels, especially for devices other than Nexus. Issues with applications
-that aren't part of AOSP need to be reported with those applications'
-developers; that is also the case for Google applications.</p>
-<p>Please note that we can't guarantee that any particular bug can be fixed in
-any particular release. To see what happens to your bug once you report it,
-read <a href="life-of-a-bug.html">Life of a Bug</a>.</p>
-<p>In general, please put as much information in bugs as you can. Just a one liner
-telling us something isn't working is usually useless, and will probably be
-closed without any action. The more detail you provide, the more likely your
-issue is to be resolved.</p>
+<table>
+  <tr>
+   <th>Browse bugs</th>
+   <th>Details</th>
+   <th>File a bug</th>
+  </tr>
+  <tr>
+   <td>Security</td>
+   <td><a href="/security/overview/updates-resources#report-issues">Android Security details</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=190951">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+</table>
 
-  </body>
+<h3 id="platform">Platform</h3>
+<p>
+If you find an issue that impacts an aspect of the Android platform, file your
+bug in one of these components.
+</p>
+<p><a class="button button-primary" href="https://issuetracker.google.com/issues?q=componentid:(192786%20%7C%20192805%20%7C%20192705%20%7C%20192792%20%7C%20192644%20%7C%20192694%20%7C%20192710%20%7C%20192810%20%7C%20192634%20%7C%20192698%20%7C%20192706%20%7C%20192815%20%7C%20192715%20%7C%20192720%20%7C%20192711%20%7C%20192629%20%7C%20192643%20%7C%20192693%20%7C%20192639)">Browse all platform issues</a></p>
+<table>
+  <tr>
+   <th>Browse bugs</th>
+   <th>File a bug</th>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192629%2B">ART</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192629"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192693%2B">Browser</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192693"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192639%2B">CTS</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192639"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192705%2B">Framework</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192705"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192644%2B">GfxMedia</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192644"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192694%2B">Jack</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192694"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192710%2B">Libcore</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192710"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192634%2B">Networking</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192634"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:190951%2B">Security</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=190951"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192706%2B">System</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192706"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192715%2B">Text</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192715"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192720%2B">Things</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192720"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192711%2B">Wear</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192711"><i
+class="material-icons">bug_report</i></a></td>
+  </tr>
+</table>
+
+<h3 id="developer-tools">Android Developer Tools</h3>
+<p>
+If you find an issue that impacts one of the Android Developer tools, such as
+Android Studio, SDK, Emulator, System Images, or Support Library, file a bug in
+one of these components.
+</p>
+<p>
+As the tools have different requirements, read the
+<a href="https://developer.android.com/studio/report-bugs.html">General Bug filing
+details</a> and the linked details for the tool.
+</p>
+
+<a class="button button-primary"
+href="http://issuetracker.google.com/issues?q=componentid:192633%2B">Browse all
+Developer Tools issues</a>
+<table>
+  <tr>
+   <th>Browse bugs</th>
+   <th>Details</th>
+   <th>File a bug</th>
+  </tr>
+  <tr>
+   <td><a href="https://issuetracker.google.com/issues?q=componentid:192633%2B">Android
+Studio</a></td>
+   <td><a href="https://developer.android.com/studio/report-bugs.html#studio-bugs">Android
+Studio details</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192708&template=840533">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="http://issuetracker.google.com/issues?q=componentid:192717%2B">C++</a></td>
+   <td>Issues in Android Studio</td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192717">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="http://issuetracker.google.com/issues?q=componentid:192727%2B">Emulator or
+System Images</a></td>
+   <td><a href="https://developer.android.com/studio/report-bugs.html#emulator-bugs">Emulator
+    details</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192727">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="http://issuetracker.google.com/issues?q=componentid:192709%2B">Gradle</a></td>
+   <td><a href="https://developer.android.com/studio/report-bugs.html#build-bugs">Gradle
+   details</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192709&template=842921">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="http://issuetracker.google.com/issues?q=componentid:192751%2B">Instant
+Run</a></td>
+   <td><a href="https://developer.android.com/studio/report-bugs.html#instant-run-bugs">Instant
+   Run details</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192751">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td colspan="2"><a href="http://issuetracker.google.com/issues?q=componentid:192718%2B">Lint</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192718">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="https://github.com/android-ndk/ndk/issues">NDK</a></td>
+   <td>Standalone NDK issues</td>
+   <td><a href="https://github.com/android-ndk/ndk/issues"><i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td colspan="2"><a href="http://issuetracker.google.com/issues?q=componentid:192722%2B">Profilers</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192722">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td colspan="2"><a href="http://issuetracker.google.com/issues?q=componentid:192731%2B">Support
+Library</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192731">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td colspan="2"><a href="http://issuetracker.google.com/issues?q=componentid:192735%2B">Test
+Support Library </a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192735">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+</table>
+
+<h3 id="documentation">Documentation</h3>
+<p>
+If you find an issue with this site or with
+<a href="https://developer.android.com/">developer.android.com</a>,
+file a bug and a writer will help.
+</p>
+
+<table>
+  <tr>
+   <th>Browse bugs</th>
+   <th>File a bug</th>
+  </tr>
+  <tr>
+   <td><a href="http://issuetracker.google.com/issues?q=componentid:192697%2B">developer.android.com</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=192697">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+  <tr>
+   <td><a href="http://issuetracker.google.com/issues?q=componentid:191476%2B">source.android.com</a></td>
+   <td><a href="https://issuetracker.google.com/issues/new?component=191476">
+   <i class="material-icons">bug_report</i></a></td>
+  </tr>
+</table>
+
+ </body>
 </html>
