Merge "Docs: Update CTS 6.0R3 to CTS 6.0R4"
diff --git a/src/index.jd b/src/index.jd
index 9886d28..dc353d1 100644
--- a/src/index.jd
+++ b/src/index.jd
@@ -32,8 +32,6 @@
 stack, port devices and accessories to the Android platform, and ensure your
 devices meet compatibility requirements.
 </p>
-
-<h2 align="center">Android 6.0 Updates Available &mdash; see details below</h2>
   </div>
 
 </div>
@@ -43,6 +41,30 @@
   <div class="landing-docs">
     <div class="col-8">
     <h3>What's New</h3>
+<a href="{@docRoot}devices/tech/ota/device_code.html">
+        <h4>FPS Value Customization</h4></a>
+        <p>Android allows for a vendor-specific installing image but previously
+        defined a private <code>animation_fps</code> variable that could not be overridden. The
+        variable was changed from private to protected (so it can be customized), and
+        the image generator can now optionally embed the FPS value (default is 20 FPS)
+        into the generated image. See <strong><a
+        href="{@docRoot}devices/tech/ota/device_code.html">OTA Device-Specific
+        Code</a>.</strong></p>
+
+<a href="{@docRoot}source/building-kernels.html">
+        <h4>User Feedback Implemented</h4></a>
+        <p>Input from the <strong>Site Feedback</strong> button has
+        prompted the following fixes: new devices on <strong><a
+        href="{@docRoot}source/building-kernels.html">Building Kernels</a></strong>,
+        the significant motion sensor being identified as a wake-up sensor on
+        <strong><a href="{@docRoot}devices/sensors/sensor-types.html">Sensor
+        Types</a></strong>, a new path for example download in <strong><a
+        href="{@docRoot}source/using-repo.html">Repo command reference</a></strong>, the correct
+        formula for determining actual resistance on <strong><a
+        href="{@docRoot}devices/accessories/headset/specification.html">Wired Audio Headset
+        Specification</a></strong>, and a description of timestamp format on <strong><a
+        href="{@docRoot}devices/input/getevent.html">Getevent</a></strong>.</p>
+
 <a href="{@docRoot}devices/tech/ota/reduce_size.html">
         <h4>Reducing OTA Size</h4></a>
         <p>The Android build team has reduced the size of over-the-air (OTA)
@@ -62,20 +84,6 @@
         Trusty consists of an operating system, drivers for the Android kernel (Linux),
         and libraries for Android systems software.</p>
 
-<a href="{@docRoot}source/build-numbers.html">
-        <h4>Lollipop and Marshmallow Build Numbers</h4></a>
-        <p>New <strong><a
-        href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">Build
-        Numbers</a></strong> have been published for Lollipop on Nexus 10 and
-        Marshmallow on Nexus 5, Nexus 5X, Nexus 6, Nexus 6P, Nexus 7 (flo/deb), Nexus 9
-        (volantis/volantisg), Nexus Player, and Pixel C.</p>
-
-<a href="{@docRoot}compatibility/downloads.html">
-        <h4>Android 6.0, 5.1, and 5.0 CTS Downloads</h4></a>
-        <p>Android 6.0 R3, 5.1 R5, and 5.0 R4 Compatibility Test Suite (CTS)
-        and CTS Verifier are available for <strong><a
-        href="{@docRoot}compatibility/downloads.html">Download</a></strong>.</p>
-
 <a href="{@docRoot}source/initializing.html">
         <h4>JDK 8 for Latest Platform Development</h4></a>
         <p>The master branch of Android now requires JDK 8 to build. See <strong><a
@@ -85,17 +93,6 @@
         a Linux build environment</a></strong> or <strong><a
         href="{@docRoot}source/initializing.html#installing-the-mac-jdk">Setting up a
         Mac OS build environment</a></strong> for update instructions by operating system.</p>
-
-<a href="{@docRoot}source/read-bug-reports.html">
-        <h4>Reading Bug Reports</h4></a>
-        <p>Android Engineering has written a detailed guide for <strong><a
-        href="{@docRoot}source/read-bug-reports.html">understanding
-        device-generated bug reports</a></strong>. This guide describes and
-        provides examples of common errors and their associated causes, such as
-        <strong><a href="{@docRoot}source/read-bug-reports.html#memory">low
-        memory</a></strong>. It even explains how to establish a <strong><a
-        href="{@docRoot}source/read-bug-reports.html#narrative">narrative</a></strong>
-        of the issue by syncing timelines across logs.</p>
     </div>
 
     <div class="col-8">
diff --git a/src/source/code-style.jd b/src/source/code-style.jd
index 47ac191..8446609 100644
--- a/src/source/code-style.jd
+++ b/src/source/code-style.jd
@@ -579,7 +579,7 @@
 WARNING level might also be considered for reporting to a statistics-gathering
 server.</li>
 <li><code>INFORMATIVE:</code>
-Use note that something interesting to most people happened, i.e. when a
+Use to note that something interesting to most people happened, i.e. when a
 situation is detected that is likely to have widespread impact, though isn't
 necessarily an error. Such a condition should only be logged by a module that
 reasonably believes that it is the most authoritative in that domain (to avoid
@@ -639,12 +639,12 @@
 that has consequences within an app should be logged at the DEBUG or VERBOSE
 level (depending on whether the consequences are serious enough and unexpected
 enough to be logged in a release build).</li>
-<li>A full filesystem on a filesystem that is accessible to or on
+<li>Having a full filesystem on a filesystem that is accessible to or on
 behalf of third-party applications should not be logged at a level higher than
 INFORMATIVE.</li>
 <li>Invalid data coming from any untrusted source (including any
 file on shared storage, or data coming through just about any network
-connections) is considered expected and should not trigger any logging at a
+connection) is considered expected and should not trigger any logging at a
 level higher than DEBUG when it's detected to be invalid (and even then
 logging should be as limited as possible).</li>
 <li>Keep in mind that the <code>+</code> operator, when used on Strings,
@@ -706,4 +706,4 @@
     assertFalse(colorMatcher.isDistinguishable(Color.RED, Color.BLACK))
     assertTrue(colorMatcher.isDistinguishable(Color.X, Color.Y))
 }
-</code></pre>
\ No newline at end of file
+</code></pre>
diff --git a/src/source/requirements.jd b/src/source/requirements.jd
index c19b8c4..19e7d3d 100644
--- a/src/source/requirements.jd
+++ b/src/source/requirements.jd
@@ -16,22 +16,16 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-<p>The Android build is routinely tested in-house on recent versions of
-Ubuntu LTS (14.04), but most distributions should have the required
-build tools available.</p>
-
 <p>Before you download and build the Android source, ensure your system meets
-the following requirements:</p>
+  the following requirements. Then see <a href="initializing.html">Initializing a
+  Build Environment</a> for installation instructions by operating system.</p>
+
+<h2 id=hardware-requirements>Hardware requirements</h2>
+
+<p>Your development workstation should meet or exceed these hardware requirements:</p>
 
 <ul>
 
-  <li>A Linux or Mac OS system. It is also possible
-  to build Android in a virtual machine on unsupported systems such as Windows.
-  If you are running Linux in a virtual machine, you need at
-  least 16GB of RAM/swap and 100GB or more of disk space in order to
-  build the Android tree. See disk size requirements below.
-  </li>
-
   <li>A 64-bit environment is required for Gingerbread (2.3.x) and newer versions, including the master
   branch. You can compile older versions on 32-bit systems.
   </li>
@@ -41,6 +35,53 @@
   need even more space.</p>
   </li>
 
+  <li>If you are running Linux in a virtual machine, you need at
+  least 16GB of RAM/swap.
+  </li>
+
+</ul>
+
+<h2 id=software-requirements>Software requirements</h2>
+
+<p>The <a
+  href="https://android.googlesource.com/">Android Open Source Project
+  (AOSP)</a> is routinely tested in-house on recent versions of
+  Ubuntu LTS (14.04), but most distributions should have the required
+  build tools available.</p>
+
+<p>You workstation will need this software:</p>
+
+<ul>
+
+  <li>A Linux or Mac OS operating system. It is also possible to build Android in a
+  virtual machine on unsupported systems such as Windows.</br>
+
+  For Linux:
+  <ul>
+    <li>Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)</li>
+    <li>Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)</li>
+    <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)</li>
+  </ul>
+
+  For Mac:
+  <ul>
+    <li>Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) or later</li>
+    <li>Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion)</li>
+    <li>Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat): Mac OS v10.6 (Snow Leopard) or Mac OS X v10.7 (Lion)</li>
+    <li>Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich): Mac OS v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard)</li>
+  </ul>
+  </li>
+
+  <li>
+  Java Development Kit (JDK):
+  <ul>
+    <li>The master branch of Android in AOSP: Java 8
+    <li>Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Java 7
+    <li>Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Java 6
+    <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Java 5
+  </ul>
+  </li>
+
   <li>
   Python 2.6 -- 2.7, which you can download from <a href="http://www.python.org/download/">python.org</a>.</p>
   </li>
@@ -50,14 +91,6 @@
   </li>
 
   <li>
-  JDK 8 to build the master branch of Android in the <a
-  href="https://android.googlesource.com/">Android Open Source Project
-  (AOSP)</a>; JDK 7 to build Lollipop through Marshmallow, JDK 6 to build Gingerbread through KitKat. See
-  <a href="initializing.html">Initializing a Build Environment</a> for installation instructions by operating
-  system.</p>
-  </li>
-
-  <li>
   Git 1.7 or newer. You can find it at <a href="http://git-scm.com/download">git-scm.com</a>.</p>
   </li>