diff --git a/Android.mk b/Android.mk
index 184392a..acf509c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -747,6 +747,7 @@
                  -samplegroup RenderScript \
                  -samplegroup Security \
                  -samplegroup Sensors \
+                 -samplegroup System \
                  -samplegroup Testing \
                  -samplegroup UI \
                  -samplegroup Views \
diff --git a/docs/html-ndk/ndk/guides/application_mk.jd b/docs/html-ndk/ndk/guides/application_mk.jd
index d51cf64..fab611b 100644
--- a/docs/html-ndk/ndk/guides/application_mk.jd
+++ b/docs/html-ndk/ndk/guides/application_mk.jd
@@ -181,33 +181,9 @@
 <p>By default, the NDK build system provides C++ headers for the minimal C++ runtime library
 ({@code system/lib/libstdc++.so}) provided by the Android system. In addition, it comes with
 alternative C++ implementations that you can use or link to in your own applications.
-Use {@code APP_STL} to select one of them. Table 2 shows the {@code APP_STL} values to specify
-support for different libraries.</p>
-
-<p class="table-caption" id="table2">
-  <strong>Table 2.</strong> {@code APP_STL} settings to support different libraries.</p>
-<table>
-  <tr>
-    <th scope="col">Library</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>Static STLport</td>
-    <td>{@code APP_STL := stlport_static}</td>
-  </tr>
-  <tr>
-    <td>Shared STLport</td>
-    <td>{@code APP_STL := stlport_shared}</td>
-  </tr>
-  <tr>
-    <td>Default C++ runtime</td>
-    <td>{@code APP_STL := system}</td>
-  </tr>
-</table>
-
-<p>For more information on this subject, see <a href="{@docRoot}ndk/guides/cpp-support.html">
-C++ Library Support</a>.</p>
-
+Use {@code APP_STL} to select one of them. For information about the supported runtimes, and the
+features they offer, see <a href="{@docRoot}ndk/guides/cpp-support.html#runtimes">NDK Runtimes and
+Features</a>.
 
 <h4>APP_SHORT_COMMANDS</h4>
 <p>The equivalent of {@code LOCAL_SHORT_COMMANDS} in {@code Application.mk} for your whole project.
@@ -222,10 +198,12 @@
 
 <h4>APP_PIE</h4>
 <p>Starting from Android 4.1 (API level 16), Android's dynamic linker supports position-independent
-executables (PIE). Use the {@code -fPIE} flag to build them. This flag makes it harder to exploit
-memory corruption bugs by randomizing code location. By default, {@code ndk-build} automatically
-sets this value to {@code true} if your project targets {@code android-16} or higher. You may set
-it manually to either {@code true} or {@code false}.</p>
+executables (PIE). From Android 5.0 (API level 21), executables require PIE.
+
+To use PIE to build your executables, set the {@code -fPIE} flag. This flag makes it harder to
+exploit memory corruption bugs by randomizing code location. By default, {@code ndk-build}
+automatically sets this value to {@code true} if your project targets {@code android-16} or higher.
+You may set it manually to either {@code true} or {@code false}.</p>
 
 <p>This flag applies only to executables. It has no effect when building shared or static
 libraries.</p>
diff --git a/docs/html-ndk/ndk/guides/concepts.jd b/docs/html-ndk/ndk/guides/concepts.jd
index 45dceeb..c2eccd4 100644
--- a/docs/html-ndk/ndk/guides/concepts.jd
+++ b/docs/html-ndk/ndk/guides/concepts.jd
@@ -111,7 +111,7 @@
 {@link android.app.NativeActivity} class in the
 <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">manifest</a>.
 <a href="#naa">Native Activities and Applications</a> provides more detail on how to do this, under
-“Using the {@code native-activity.h} interface.”
+“Using the {@code native_activity.h} interface.”
 </li>
 </ul>
 
@@ -206,14 +206,16 @@
 <p>The Android NDK provides you with two choices to implement your native activity:</p>
 
 <ul>
-<li>The {@code native_activity.h} header defines the native version of the
+<li>The <a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a>
+header defines the native version of the
 {@link android.app.NativeActivity} class. It contains the callback interface and data structures
 that you need to create your native activity. Because the main thread of your application handles
 the callbacks, your callback implementations must not be blocking. If they block, you might receive
 ANR (Application Not Responding) errors because your main thread is unresponsive until the callback
 returns.</li>
-<li>The android_native_app_glue.h file defines a static helper library built on top of the
-{@code native_activity.h} interface. It spawns another thread, which handles things such as
+<li>The {@code android_native_app_glue.h} file defines a static helper library built on top of the
+<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a> interface.
+It spawns another thread, which handles things such as
 callbacks or input events in an event loop. Moving these events to a separate thread prevents any
 callbacks from blocking your main thread.</li>
 </ul>
@@ -223,9 +225,11 @@
 <p>For more information on how to use this static library, examine the native-activity sample
 application and its documentation. Further reading is also available in the comments in the {@code &lt;ndk_root&gt;/sources/android/native_app_glue/android_native_app_glue.h} file.</p>
 
-<h3 id="na">Using the native-activity.h interface</h3>
+<h3 id="na">Using the native_activity.h interface</h3>
 
-<p>To implement a native activity with the {@code native-activity.h} interface:</p>
+<p>To implement a native activity with the
+<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a>
+interface:</p>
 
 <ol type="1">
 <li>Create a {@code jni/} directory in your project's root directory. This directory stores all of
@@ -263,15 +267,17 @@
       &lt;/manifest&gt;
 </pre>
 
-<li>Create a file for your native activity, and implement the {@code ANativeActivity_onCreate()}
-function, which the app calls when the native activity starts. This function, analogous
-to {@code main} in C/C++, receives a pointer to an {@code ANativeActivity} structure,
-which contains function pointers to the various callback implementations that you need to write.
+<li>Create a file for your native activity, and implement the function named in the
+<a href="{@docRoot}ndk/reference/group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">
+{@code ANativeActivity_onCreate}</a> variable.
+The app calls this function when the native activity starts. This function, analogous
+to {@code main} in C/C++, receives a pointer to an
+<a href="{@docRoot}ndk/reference/struct_a_native_activity.html">{@code ANativeActivity}</a>
+structure, which contains function pointers to the various callback implementations that you need
+to write.
 Set the applicable callback function pointers in {@code ANativeActivity-&gt;callbacks} to the
 implementations of your callbacks.</li>
 
-<!--TODO: API Ref links in the above para.-->
-
 <li>Set the {@code ANativeActivity-&gt;instance} field to the address of any instance of specific
 data that you want to use.</li>
 <li>Implement anything else that you want your activity to do upon starting.</li>
@@ -297,7 +303,5 @@
 from it into the APK.</li>
 </ol>
 
-<p>You can find further information on using {@code native-activity.h} here.</p>
-<!-- (TODO: Link to API ref guide in the above para)-->
 </li>
 </ul>
diff --git a/docs/html-ndk/ndk/guides/cpp-support.jd b/docs/html-ndk/ndk/guides/cpp-support.jd
index ff170f4..0074b80 100644
--- a/docs/html-ndk/ndk/guides/cpp-support.jd
+++ b/docs/html-ndk/ndk/guides/cpp-support.jd
@@ -32,7 +32,7 @@
 
 <p>Table 1 provides names, brief explanations, and features of runtimes available inthe NDK.</p>
 
-<p class="table-caption" id="table1">
+<p class="table-caption" id="runtimes">
   <strong>Table 1.</strong> NDK Runtimes and Features.</p>
 
 <table>
diff --git a/docs/html-ndk/ndk/guides/index.jd b/docs/html-ndk/ndk/guides/index.jd
index febeaab..465ce13 100644
--- a/docs/html-ndk/ndk/guides/index.jd
+++ b/docs/html-ndk/ndk/guides/index.jd
@@ -17,9 +17,9 @@
 
 <p>This guide gives you the information you need to get up and running with the NDK. It starts by
 explaining the <a href="{@docRoot}ndk/guides/concepts.html">concepts</a> underpinning the NDK, and
-how to <a href="{@docRoot}ndk/guides/setup.html">set it up</a>. Next, it explains how to use
-the NDK to <a href="{@docRoot}ndk/guides/build.html">build</a> and
-<a href="{@docRoot}ndk/guides/debug.html">debug</a> your app. Then, it continues with information
+how to <a href="{@docRoot}ndk/guides/setup.html">set it up</a>. Next, it continues with information
 about targeting <a href="{@docRoot}ndk/guides/arch.html">different hardware platforms</a> in your
-builds. Finally, it discusses how to use your own and other prebuilt
-<a href="{@docRoot}ndk/guides/libs.html">libraries</a>.</p>
+builds. Then, it explains how to use
+the NDK to <a href="{@docRoot}ndk/guides/build.html">build</a> and
+<a href="{@docRoot}ndk/guides/debug.html">debug</a> your app. Finally, it discusses how to use your
+own and other prebuilt <a href="{@docRoot}ndk/guides/libs.html">libraries</a>.</p>
diff --git a/docs/html-ndk/ndk/guides/standalone_toolchain.jd b/docs/html-ndk/ndk/guides/standalone_toolchain.jd
index 62d22b5..895f0fc 100644
--- a/docs/html-ndk/ndk/guides/standalone_toolchain.jd
+++ b/docs/html-ndk/ndk/guides/standalone_toolchain.jd
@@ -78,11 +78,11 @@
 <p>Native APIs for the respective <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">
 Android API levels</a> reside under {@code $NDK/platforms/}; each API-level
 directory, in turn, contains subdirectories for the various CPUs and architectures. The
-following example shows how to define a <em>sysroot</em> for a build targeting Android 5.1
-(API level 22), for ARM architecture:</p>
+following example shows how to define a <em>sysroot</em> for a build targeting Android 5.0
+(API level 21), for ARM architecture:</p>
 
 <pre class="no-pretty-print">
-SYSROOT=$NDK/platforms/android-22/arch-arm
+SYSROOT=$NDK/platforms/android-21/arch-arm
 </pre>
 
 For more detail about the Android API levels and the respective native APIs they support, see
@@ -120,19 +120,27 @@
     <th scope="col">Value</th>
   </tr>
   <tr>
+    <td>armeabi</td>
+    <td>{@code -target armv5te-none-linux-androideabi}</td>
+  </tr>
+  <tr>
     <td>armeabi-v7a</td>
     <td>{@code -target armv7-none-linux-androideabi}</td>
   </tr>
   <tr>
-    <td>armeabi</td>
-    <td>{@code -target armv5te-none-linux-androideabi}</td>
+     <td>arm64-v8a</td>
+     <td>{@code -target aarch64-none-linux-android}</td>
   </tr>
-    <tr>
+  <tr>
     <td>x86</td>
     <td>{@code -target i686-none-linux-android}</td>
   </tr>
-    <tr>
-    <td>MIPS</td>
+  <tr>
+    <td>x86_64</td>
+    <td>{@code -target x86_64-none-linux-android}</td>
+  </tr>
+  <tr>
+    <td>mips</td>
     <td>{@code -target mipsel-none-linux-android}</td>
   </tr>
 </table>
@@ -147,7 +155,7 @@
 Ultimately, a command to compile using Clang might look like this:
 
 <pre class="no-pretty-print">
-export CC="export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
+export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
 linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT" -target \
 armv7-none-linux-androideabi \
 -gcc-toolchain $NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64"
@@ -165,11 +173,11 @@
 
 <pre class="no-pretty-print">
 $NDK/build/tools/make-standalone-toolchain.sh \
---arch=arm --platform=android-22 --install-dir=/tmp/my-android-toolchain
+--arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain
 </pre>
 
 <p>This command creates a directory named {@code /tmp/my-android-toolchain/}, containing a copy of
-the {@code android-22/arch-arm} sysroot, and of the toolchain binaries for a 32-bit ARM
+the {@code android-21/arch-arm} sysroot, and of the toolchain binaries for a 32-bit ARM
 architecture.</p>
 
 <p>Note that the toolchain binaries do not depend on or contain host-specific paths, in other words,
@@ -187,6 +195,14 @@
     <th scope="col">Value</th>
   </tr>
   <tr>
+    <td>mips64 compiler</td>
+    <td>{@code --arch=mips64}</td>
+  </tr>
+  <tr>
+    <td>mips GCC 4.8 compiler</td>
+    <td>{@code --arch=mips}</td>
+  </tr>
+  <tr>
     <td>x86 GCC 4.8 compiler</td>
     <td>{@code --arch=x86}</td>
   </tr>
@@ -195,7 +211,7 @@
     <td>{@code --arch=x86_64}</td>
   </tr>
   <tr>
-    <td>MIPS GCC 4.8 compiler</td>
+    <td>mips GCC 4.8 compiler</td>
     <td>{@code --arch=mips}</td>
   </tr>
 </table>
@@ -214,34 +230,28 @@
   <tr>
     <td>arm</td>
     <td>
-       <li>{@code --toolchain=arm-linux-android-4.6}</li>
-       <li>{@code --toolchain=arm-linux-android-4.7}</li>
-       <li>{@code --toolchain=arm-linux-android-4.8}</li>
-       <li>{@code --toolchain=arm-linux-android-4.9}</li>
-       <li>{@code --toolchain=arm-linux-android-clang3.4}</li>
+       <li>{@code --toolchain=arm-linux-androideabi-4.8}</li>
+       <li>{@code --toolchain=arm-linux-androideabi-4.9}</li>
        <li>{@code --toolchain=arm-linux-android-clang3.5}</li>
+       <li>{@code --toolchain=arm-linux-android-clang3.6}</li>
     </td>
   </tr>
   <tr>
     <td>x86</td>
     <td>
-       <li>{@code --toolchain=x86-linux-android-4.6}</li>
-       <li>{@code --toolchain=x86-linux-android-4.7}</li>
        <li>{@code --toolchain=x86-linux-android-4.8}</li>
        <li>{@code --toolchain=x86-linux-android-4.9}</li>
-       <li>{@code --toolchain=x86-linux-android-clang3.4}</li>
        <li>{@code --toolchain=x86-linux-android-clang3.5}</li>
+       <li>{@code --toolchain=x86-linux-android-clang3.6}</li>
     </td>
   </tr>
   <tr>
     <td>mips</td>
     <td>
-       <li>{@code --toolchain=mips-linux-android-4.6}</li>
-       <li>{@code --toolchain=mips-linux-android-4.7}</li>
        <li>{@code --toolchain=mips-linux-android-4.8}</li>
        <li>{@code --toolchain=mips-linux-android-4.9}</li>
-       <li>{@code --toolchain=mips-linux-android-clang3.4}</li>
        <li>{@code --toolchain=mips-linux-android-clang3.5}</li>
+       <li>{@code --toolchain=mips-linux-android-clang3.6}</li>
     </td>
   </tr>
 
@@ -249,42 +259,46 @@
     <td>arm64</td>
     <td>
        <li>{@code --toolchain=aarch64-linux-android-4.9}</li>
-       <li>{@code --toolchain=aarch64-linux-android-clang3.4}</li>
        <li>{@code --toolchain=aarch64-linux-android-clang3.5}</li>
+       <li>{@code --toolchain=aarch64-linux-android-clang3.6}</li>
     </td>
   </tr>
   <tr>
     <td>x86_64</td>
     <td>
        <li>{@code --toolchain=x86_64-linux-android-4.9}</li>
-       <li>{@code --toolchain=x86_64-linux-android-clang3.4}</li>
        <li>{@code --toolchain=x86_64-linux-android-clang3.5}</li>
+       <li>{@code --toolchain=x86_64-linux-android-clang3.6}</li>
     </td>
   </tr>
   <tr>
     <td>mips64</td>
     <td>
        <li>{@code --toolchain=mips64el-linux-android-4.9}</li>
-       <li>{@code --toolchain=mips64el-linux-android-clang3.4}</li>
        <li>{@code --toolchain=mips64el-linux-android-clang3.5}</li>
+       <li>{@code --toolchain=mips64el-linux-android-clang3.6}</li>
     </td>
   </tr>
 </table>
 
-<p class="note"<strong>Note: </strong> Table 4 is not an exhaustive list. Other combinations may
+<p class="note"><strong>Note: </strong> Table 4 is not an exhaustive list. Other combinations may
 also be valid, but are unverified.</p>
 
-<p>You can also copy Clang/LLVM 3.3, using one of two methods: You can append {@code -clang3.3} to
+<p>You can also copy Clang/LLVM 3.6, using one of two methods: You can append {@code -clang3.6} to
 the {@code --toolchain} option, so that the {@code --toolchain} option looks like the following
 example:
 
 <pre class="no-pretty-print">
---toolchain=arm-linux-androideabi-clang3.3
+--toolchain=arm-linux-androideabi-clang3.6
 </pre>
 
-<p>Alternatively, you can add {@code -llvm-version=3.3} as a separate option on the command
+<p>You can also add {@code -llvm-version=3.6} as a separate option on the command
 line.</p>
 
+<p class="note"><strong>Note: </strong>Instead of specifying a specific version, you can also
+use {@code &lt;version&gt;}, which defaults
+to the highest available version of Clang.</p>
+
 <p>By default, the build system builds for a 32-bit host toolchain. You can specify a 64-bit
 host toolchain instead. Table 5 shows the value to use with {@code -system} for different
 platforms.</p>
@@ -304,17 +318,21 @@
     <td>64-bit MacOSX</td>
     <td>{@code -system=darwin-x86_64}</td>
   </tr>
+  <tr>
+    <td>64-bit Windows</td>
+    <td>{@code -system=windows-x86_64}</td>
+  </tr>
 </table>
 
-For more information on specifying a 32- or 64-bit instruction host toolchain, see
-<a href="{@docRoot}ndk/guides/ndk-build.html#6432">ndk-build</a>.
+For more information on specifying a 64- or 32-bit instruction host toolchain, see
+<a href="{@docRoot}ndk/guides/ndk-build.html#6432">64-Bit and 32-Bit Toolchains</a>.
 
-<p>You may specify {@code stl=stlport} to copy {@code libstlport} instead of the default
+<p>You may specify {@code --stl=stlport} to copy {@code libstlport} instead of the default
 {@code libgnustl}. If you do so, and you wish to link against the shared library, you must
 explicitly use {@code -lstlport_shared}. This requirement is similar to having to use
 {@code -lgnustl_shared} for GNU {@code libstdc++}.</p>
 
-<p>Similarly, you can specify {@code -stl=libc++} to copy the LLVM libc++ headers and libraries.
+<p>Similarly, you can specify {@code --stl=libc++} to copy the LLVM libc++ headers and libraries.
 To link against the shared library, you must explicitly use -lc++_shared.</p>
 
 <p>You can make these settings directly, as in the following example:</p>
@@ -337,13 +355,13 @@
 <h2 id="wwc">Working with Clang</h2>
 <p>You can install Clang binaries in the standalone installation by using the
 {@code --llvm-version=&lt;version&gt;} option. {@code &lt;version&gt;} is a LLVM/Clang version
-number, such as {@code 3.4} or {@code 3.5}. For example:
+number, such as {@code 3.5} or {@code 3.6}. For example:
 
 <pre class="no-pretty-print">
 build/tools/make-standalone-toolchain.sh \
 --install-dir=/tmp/mydir \
---toolchain=arm-linux-androideabi-4.7 \
---llvm-version=3.5
+--toolchain=arm-linux-androideabi-4.8 \
+--llvm-version=3.6
 </pre>
 
 <p>Note that Clang binaries are copied along with the GCC ones, because they rely on the same
@@ -356,12 +374,12 @@
 variables to point to them.</p>
 
 <h4>Invoking Clang</h4>
-<p>In an ARM standalone installation built with {@code llvm-version=3.3}, invoking
+<p>In an ARM standalone installation built with {@code llvm-version=3.6}, invoking
 <a href="http://clang.llvm.org/">Clang</a> on a Unix system takes the form of a single line. For
 instance:</p>
 
 <pre class="no-pretty-print">
-dirname $0 /clang31 -target armv5te-none-linux-androideabi "$@"
+`dirname $0`/clang36 -target armv5te-none-linux-androideabi "$@"
 </pre>
 
 <p><code>clang++</code> invokes <code>clang++31</code> in the same way.</p>
@@ -404,7 +422,7 @@
 <ul>
 <li>{@code -v} to dump commands associated with compiler driver issues</li>
 <li>{@code -###} to dump command line options, including implicitly predefined ones.</li>
-<li>{@code -x c /dev/null -dM -E} to dump predefined preprocessor definitions</li>
+<li>{@code -x c < /dev/null -dM -E} to dump predefined preprocessor definitions</li>
 <li>{@code -save-temps} to compare {@code *.i} or {@code *.ii} preprocessed files.</li>
 </ul>
 
@@ -516,7 +534,7 @@
 <h3>C++ STL support</h3>
 <p>The standalone toolchain includes a copy of a C++ Standard Template Library implementation. This
 implementation is either for GNU libstdc++, STLport, or libc++, depending on what you specify for the
-{@code -stl=&lt;name&gt;} option described previously. To use this implementation of STL, you need
+{@code --stl=&lt;name&gt;} option described previously. To use this implementation of STL, you need
 to link your project with the proper library:</p>
 
 <ul>
@@ -551,17 +569,29 @@
     <th scope="col">Location</th>
   </tr>
   <tr>
-    <td>ARM</td>
+    <td>arm</td>
     <td>{@code $TOOLCHAIN/arm-linux-androideabi/lib/}</td>
   </tr>
   <tr>
+    <td>arm64</td>
+    <td>{@code $TOOLCHAIN/aarch64-linux-android/lib/}</td>
+  </tr>
+  <tr>
     <td>x86</td>
     <td>{@code $TOOLCHAIN/i686-linux-android/lib/}</td>
   </tr>
   <tr>
-    <td>MIPS</td>
+    <td>x86_64</td>
+    <td>{@code $TOOLCHAIN/x86_64-linux-android/lib/}</td>
+  </tr>
+  <tr>
+    <td>mips</td>
     <td>{@code $TOOLCHAIN/mipsel-linux-android/lib/}</td>
   </tr>
+  <tr>
+    <td>mips64</td>
+    <td>{@code $TOOLCHAIN/mips64el-linux-android/lib/}</td>
+  </tr>
 </table>
 
 <p class="note"><strong>Note: </strong>If your project contains multiple shared libraries or
diff --git a/docs/html-ndk/ndk/index.jd b/docs/html-ndk/ndk/index.jd
index 30d68d3..a88c15d 100644
--- a/docs/html-ndk/ndk/index.jd
+++ b/docs/html-ndk/ndk/index.jd
@@ -1,5 +1,5 @@
 page.title=Android NDK
-page.tags="ndk, native, c, c++", 
+page.tags="ndk, native, c, c++",
 meta.tags="ndk, native, c++"
 fullpage=true
 section.landing=true
@@ -48,22 +48,3 @@
        data-maxResults="9"
        data-initial-results="3"></div>
 </div></section>
-
-<section class="dac-section dac-light"><div class="wrap">
-  <h1 class="dac-section-title">Something else</h1>
-  <div class="dac-section-subtitle">
-    Placeholder
-  </div>
-
-  <ul class="dac-section-links">
-    <li class="dac-section-link"><a href="">
-      <span class="dac-sprite dac-auto-chevron"></span>
-      Overview and Usage
-    </a></li>
-    <li class="dac-section-link"><a href="/google/play/filters.html">
-      <span class="dac-sprite dac-auto-chevron"></span>
-      User Guide
-    </a></li>
-
-  </ul>
-</div></section>
diff --git a/docs/html-ndk/ndk/reference/annotated.jd b/docs/html-ndk/ndk/reference/annotated.jd
index 7a0e09a..8045f8d 100644
--- a/docs/html-ndk/ndk/reference/annotated.jd
+++ b/docs/html-ndk/ndk/reference/annotated.jd
@@ -23,11 +23,3 @@
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/asset__manager_8h.jd b/docs/html-ndk/ndk/reference/asset__manager_8h.jd
index 140af54..88d8dea 100644
--- a/docs/html-ndk/ndk/reference/asset__manager_8h.jd
+++ b/docs/html-ndk/ndk/reference/asset__manager_8h.jd
@@ -73,11 +73,3 @@
 <tr class="separator:ga20344cb952a77fa1004f592fb1b55124"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd b/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd
index 20fb48d..8aace05 100644
--- a/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd
+++ b/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd
@@ -23,11 +23,3 @@
 <tr class="separator:gadfd6537af41577735bcaee52120127f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/bitmap_8h.jd b/docs/html-ndk/ndk/reference/bitmap_8h.jd
index b2f999e..518cab1 100644
--- a/docs/html-ndk/ndk/reference/bitmap_8h.jd
+++ b/docs/html-ndk/ndk/reference/bitmap_8h.jd
@@ -59,11 +59,3 @@
 <tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/classes.jd b/docs/html-ndk/ndk/reference/classes.jd
index 3e97e5e..e0ec721 100644
--- a/docs/html-ndk/ndk/reference/classes.jd
+++ b/docs/html-ndk/ndk/reference/classes.jd
@@ -18,11 +18,3 @@
 </table>
 <div class="qindex"><a class="qindex" href="#letter_A">A</a></div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/configuration_8h.jd b/docs/html-ndk/ndk/reference/configuration_8h.jd
index 3edcb8a..3f5f07c 100644
--- a/docs/html-ndk/ndk/reference/configuration_8h.jd
+++ b/docs/html-ndk/ndk/reference/configuration_8h.jd
@@ -220,11 +220,3 @@
 <tr class="separator:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/deprecated.jd b/docs/html-ndk/ndk/reference/deprecated.jd
index 420c93b..0e69db6 100644
--- a/docs/html-ndk/ndk/reference/deprecated.jd
+++ b/docs/html-ndk/ndk/reference/deprecated.jd
@@ -21,11 +21,3 @@
 <dd>This flag has no effect. </dd>
 </dl>
 </div></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd b/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
index 6126149..025427a 100644
--- a/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
+++ b/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
@@ -47,11 +47,3 @@
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd b/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
index 26ed8f4..e42811e 100644
--- a/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
+++ b/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
@@ -19,11 +19,3 @@
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/files.jd b/docs/html-ndk/ndk/reference/files.jd
index 236e96a..1144d5bb 100644
--- a/docs/html-ndk/ndk/reference/files.jd
+++ b/docs/html-ndk/ndk/reference/files.jd
@@ -28,11 +28,3 @@
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/functions.jd b/docs/html-ndk/ndk/reference/functions.jd
index 4a86039..fade0d5 100644
--- a/docs/html-ndk/ndk/reference/functions.jd
+++ b/docs/html-ndk/ndk/reference/functions.jd
@@ -325,11 +325,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/functions_vars.jd b/docs/html-ndk/ndk/reference/functions_vars.jd
index c2c53d6..129c7ec 100644
--- a/docs/html-ndk/ndk/reference/functions_vars.jd
+++ b/docs/html-ndk/ndk/reference/functions_vars.jd
@@ -325,11 +325,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals.jd b/docs/html-ndk/ndk/reference/globals.jd
index 6cbbe54..cb6dc11 100644
--- a/docs/html-ndk/ndk/reference/globals.jd
+++ b/docs/html-ndk/ndk/reference/globals.jd
@@ -2292,11 +2292,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_defs.jd b/docs/html-ndk/ndk/reference/globals_defs.jd
index 64ef6c6..8d04efb 100644
--- a/docs/html-ndk/ndk/reference/globals_defs.jd
+++ b/docs/html-ndk/ndk/reference/globals_defs.jd
@@ -22,11 +22,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_enum.jd b/docs/html-ndk/ndk/reference/globals_enum.jd
index 7d885ea..7fd396e 100644
--- a/docs/html-ndk/ndk/reference/globals_enum.jd
+++ b/docs/html-ndk/ndk/reference/globals_enum.jd
@@ -10,11 +10,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_eval.jd b/docs/html-ndk/ndk/reference/globals_eval.jd
index 8296358..e1399c7 100644
--- a/docs/html-ndk/ndk/reference/globals_eval.jd
+++ b/docs/html-ndk/ndk/reference/globals_eval.jd
@@ -1650,11 +1650,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_eval_w.jd b/docs/html-ndk/ndk/reference/globals_eval_w.jd
index ab9cfe9..c996d30 100644
--- a/docs/html-ndk/ndk/reference/globals_eval_w.jd
+++ b/docs/html-ndk/ndk/reference/globals_eval_w.jd
@@ -18,11 +18,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_func.jd b/docs/html-ndk/ndk/reference/globals_func.jd
index b6073e6..ae48353 100644
--- a/docs/html-ndk/ndk/reference/globals_func.jd
+++ b/docs/html-ndk/ndk/reference/globals_func.jd
@@ -549,11 +549,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_type.jd b/docs/html-ndk/ndk/reference/globals_type.jd
index 2659971..99fa859 100644
--- a/docs/html-ndk/ndk/reference/globals_type.jd
+++ b/docs/html-ndk/ndk/reference/globals_type.jd
@@ -88,11 +88,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_vars.jd b/docs/html-ndk/ndk/reference/globals_vars.jd
index f538a6f..e6bd2a4 100644
--- a/docs/html-ndk/ndk/reference/globals_vars.jd
+++ b/docs/html-ndk/ndk/reference/globals_vars.jd
@@ -10,11 +10,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/globals_w.jd b/docs/html-ndk/ndk/reference/globals_w.jd
index 0bb34db..b72e8c2 100644
--- a/docs/html-ndk/ndk/reference/globals_w.jd
+++ b/docs/html-ndk/ndk/reference/globals_w.jd
@@ -18,11 +18,3 @@
 </li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___asset.jd b/docs/html-ndk/ndk/reference/group___asset.jd
index 300bc87..c2f9067 100644
--- a/docs/html-ndk/ndk/reference/group___asset.jd
+++ b/docs/html-ndk/ndk/reference/group___asset.jd
@@ -589,11 +589,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___bitmap.jd b/docs/html-ndk/ndk/reference/group___bitmap.jd
index 045b550..2f2b199 100644
--- a/docs/html-ndk/ndk/reference/group___bitmap.jd
+++ b/docs/html-ndk/ndk/reference/group___bitmap.jd
@@ -228,11 +228,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___configuration.jd b/docs/html-ndk/ndk/reference/group___configuration.jd
index 93d0fab..708722e 100644
--- a/docs/html-ndk/ndk/reference/group___configuration.jd
+++ b/docs/html-ndk/ndk/reference/group___configuration.jd
@@ -1555,11 +1555,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___input.jd b/docs/html-ndk/ndk/reference/group___input.jd
index 42ff102..55db956 100644
--- a/docs/html-ndk/ndk/reference/group___input.jd
+++ b/docs/html-ndk/ndk/reference/group___input.jd
@@ -3680,11 +3680,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___looper.jd b/docs/html-ndk/ndk/reference/group___looper.jd
index 9720baf..bc845f8 100644
--- a/docs/html-ndk/ndk/reference/group___looper.jd
+++ b/docs/html-ndk/ndk/reference/group___looper.jd
@@ -440,11 +440,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___native_activity.jd b/docs/html-ndk/ndk/reference/group___native_activity.jd
index aa8c96c..d0b2178 100644
--- a/docs/html-ndk/ndk/reference/group___native_activity.jd
+++ b/docs/html-ndk/ndk/reference/group___native_activity.jd
@@ -729,11 +729,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___sensor.jd b/docs/html-ndk/ndk/reference/group___sensor.jd
index 1ce4f03..41a0aec 100644
--- a/docs/html-ndk/ndk/reference/group___sensor.jd
+++ b/docs/html-ndk/ndk/reference/group___sensor.jd
@@ -923,11 +923,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/group___storage.jd b/docs/html-ndk/ndk/reference/group___storage.jd
index 674bc48..e29303a 100644
--- a/docs/html-ndk/ndk/reference/group___storage.jd
+++ b/docs/html-ndk/ndk/reference/group___storage.jd
@@ -448,11 +448,3 @@
 </div>
 </div>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/index.jd b/docs/html-ndk/ndk/reference/index.jd
index a89c152..94bcb7a 100644
--- a/docs/html-ndk/ndk/reference/index.jd
+++ b/docs/html-ndk/ndk/reference/index.jd
@@ -1,12 +1,17 @@
 page.title=API Reference
 @jd:body
 
-<p>The API reference for the NDK currently comprises documentation for the base set of
+<p>The API reference for the NDK includes documentation for the base set of
 native headers that the NDK provides for Android. These headers, and their associated libraries,
-provide functionalities such as:</p>
+expose a variety of features otherwise only accessible via the Android framework.
+A few of these features are as follows:</p>
 
 <ul>
    <li>Using hardware sensors.</li>
    <li>Accessing storage.</li>
    <li>Handling user input.</li>
-</ul>
\ No newline at end of file
+   <li>Setting configuration information, such as screen orientation.</li>
+</ul>
+
+<p>The API reference provides detailed information on these and other functionalities provided
+in the NDK.</p>
diff --git a/docs/html-ndk/ndk/reference/input_8h.jd b/docs/html-ndk/ndk/reference/input_8h.jd
index b614f91..855a346 100644
--- a/docs/html-ndk/ndk/reference/input_8h.jd
+++ b/docs/html-ndk/ndk/reference/input_8h.jd
@@ -372,11 +372,3 @@
 <tr class="separator:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/keycodes_8h.jd b/docs/html-ndk/ndk/reference/keycodes_8h.jd
index b739820..338a361 100644
--- a/docs/html-ndk/ndk/reference/keycodes_8h.jd
+++ b/docs/html-ndk/ndk/reference/keycodes_8h.jd
@@ -348,11 +348,3 @@
 <tr class="separator:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/looper_8h.jd b/docs/html-ndk/ndk/reference/looper_8h.jd
index cb4dbdd..9171631 100644
--- a/docs/html-ndk/ndk/reference/looper_8h.jd
+++ b/docs/html-ndk/ndk/reference/looper_8h.jd
@@ -68,11 +68,3 @@
 <tr class="separator:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/modules.jd b/docs/html-ndk/ndk/reference/modules.jd
index cebd7af..2da7307 100644
--- a/docs/html-ndk/ndk/reference/modules.jd
+++ b/docs/html-ndk/ndk/reference/modules.jd
@@ -21,11 +21,3 @@
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/native__activity_8h.jd b/docs/html-ndk/ndk/reference/native__activity_8h.jd
index b88d821..147ffdb 100644
--- a/docs/html-ndk/ndk/reference/native__activity_8h.jd
+++ b/docs/html-ndk/ndk/reference/native__activity_8h.jd
@@ -72,11 +72,3 @@
 <tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/native__window_8h.jd b/docs/html-ndk/ndk/reference/native__window_8h.jd
index a194a23..75f9469 100644
--- a/docs/html-ndk/ndk/reference/native__window_8h.jd
+++ b/docs/html-ndk/ndk/reference/native__window_8h.jd
@@ -59,11 +59,3 @@
 <tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/native__window__jni_8h.jd b/docs/html-ndk/ndk/reference/native__window__jni_8h.jd
index e937fdf54..bffbc03 100644
--- a/docs/html-ndk/ndk/reference/native__window__jni_8h.jd
+++ b/docs/html-ndk/ndk/reference/native__window__jni_8h.jd
@@ -23,11 +23,3 @@
 <tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/obb_8h.jd b/docs/html-ndk/ndk/reference/obb_8h.jd
index 53ed28e..a856d4ee 100644
--- a/docs/html-ndk/ndk/reference/obb_8h.jd
+++ b/docs/html-ndk/ndk/reference/obb_8h.jd
@@ -43,11 +43,3 @@
 <tr class="separator:ga68d916570c756da9fd0d9096358300eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/pages.jd b/docs/html-ndk/ndk/reference/pages.jd
index 16fc5b0..2d7ece8 100644
--- a/docs/html-ndk/ndk/reference/pages.jd
+++ b/docs/html-ndk/ndk/reference/pages.jd
@@ -14,11 +14,3 @@
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/rect_8h.jd b/docs/html-ndk/ndk/reference/rect_8h.jd
index d115ea9..85787b5 100644
--- a/docs/html-ndk/ndk/reference/rect_8h.jd
+++ b/docs/html-ndk/ndk/reference/rect_8h.jd
@@ -28,11 +28,3 @@
 <tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/reference_toc.cs b/docs/html-ndk/ndk/reference/reference_toc.cs
index 404a0a6..8ddb864 100644
--- a/docs/html-ndk/ndk/reference/reference_toc.cs
+++ b/docs/html-ndk/ndk/reference/reference_toc.cs
@@ -15,21 +15,21 @@
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___bitmap.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___bitmap.html"><span class="en">
     Bitmap</span></a></div>
     <ul>
       <li><a href="/ndk/reference/bitmap_8h.html">bitmap.h</a></li>
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___configuration.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___configuration.html"><span class="en">
     Configuration</span></a></div>
     <ul>
       <li><a href="/ndk/reference/configuration_8h.html">configuration.h</a></li>
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___input.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___input.html"><span class="en">
     Input</span></a></div>
     <ul>
       <li><a href="/ndk/reference/input_8h.html">input.h</a></li>
@@ -37,14 +37,14 @@
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___looper.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___looper.html"><span class="en">
     Looper</span></a></div>
     <ul>
       <li><a href="/ndk/reference/looper_8h.html">looper.h</a></li>
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___native_activity.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___native_activity.html"><span class="en">
     Native Activity and Window</span></a></div>
     <ul>
       <li><a href="/ndk/reference/native__activity_8h.html">native_activity.h</a></li>
@@ -54,20 +54,20 @@
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___sensor.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___sensor.html"><span class="en">
     Sensor</span></a></div>
     <ul>
       <li><a href="/ndk/reference/sensor_8h.html">sensor.h</a></li>
     </ul>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty"><a href="/ndk/reference/group___storage.html"><span class="en">
+    <div class="nav-section-header"><a href="/ndk/reference/group___storage.html"><span class="en">
     Storage Manager</span></a></div>
-  </li>
     <ul>
       <li><a href="/ndk/reference/storage__manager_8h.html">sensor_manager.h</a></li>
       <li><a href="/ndk/reference/obb_8h.html">obb.h</a></li>
     </ul>
+  </li>
 </ul>
 
 <script type="text/javascript">
diff --git a/docs/html-ndk/ndk/reference/sensor_8h.jd b/docs/html-ndk/ndk/reference/sensor_8h.jd
index d762797..a537f4f 100644
--- a/docs/html-ndk/ndk/reference/sensor_8h.jd
+++ b/docs/html-ndk/ndk/reference/sensor_8h.jd
@@ -141,11 +141,3 @@
 <tr class="separator:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/storage__manager_8h.jd b/docs/html-ndk/ndk/reference/storage__manager_8h.jd
index 00d04e8..6048d84 100644
--- a/docs/html-ndk/ndk/reference/storage__manager_8h.jd
+++ b/docs/html-ndk/ndk/reference/storage__manager_8h.jd
@@ -57,11 +57,3 @@
 <tr class="separator:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd b/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd
index d15c06b..1cd2a2d 100644
--- a/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd
@@ -49,11 +49,3 @@
 <li><a class="el" href="sensor_8h.html">sensor.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd b/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd
index 1c0ca05..352b5ba 100644
--- a/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd
@@ -49,11 +49,3 @@
 <li><a class="el" href="sensor_8h.html">sensor.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_native_activity.jd b/docs/html-ndk/ndk/reference/struct_a_native_activity.jd
index ee4fdca..6d8124b 100644
--- a/docs/html-ndk/ndk/reference/struct_a_native_activity.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_native_activity.jd
@@ -175,11 +175,3 @@
 <li><a class="el" href="native__activity_8h.html">native_activity.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd b/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd
index dce9d95..45b8e5e 100644
--- a/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd
@@ -263,11 +263,3 @@
 <li><a class="el" href="native__activity_8h.html">native_activity.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd b/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd
index f5a8650..a2008fd 100644
--- a/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd
@@ -108,11 +108,3 @@
 <li><a class="el" href="native__window_8h.html">native_window.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_rect.jd b/docs/html-ndk/ndk/reference/struct_a_rect.jd
index 96a597f..4b9bb67 100644
--- a/docs/html-ndk/ndk/reference/struct_a_rect.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_rect.jd
@@ -84,11 +84,3 @@
 <li><a class="el" href="rect_8h.html">rect.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd b/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd
index 9e71233c..3c6e49d 100644
--- a/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd
@@ -362,11 +362,3 @@
 <li><a class="el" href="sensor_8h.html">sensor.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd b/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd
index 39c76ab..397ad6d 100644
--- a/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd
@@ -170,11 +170,3 @@
 <li><a class="el" href="sensor_8h.html">sensor.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd b/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd
index b4e11da..985b0b9 100644
--- a/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd
+++ b/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd
@@ -169,11 +169,3 @@
 <li><a class="el" href="sensor_8h.html">sensor.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd b/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd
index 1399838..f995b56 100644
--- a/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd
+++ b/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd
@@ -98,11 +98,3 @@
 <li><a class="el" href="bitmap_8h.html">bitmap.h</a></li>
 </ul>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/reference/window_8h.jd b/docs/html-ndk/ndk/reference/window_8h.jd
index 42e98d9..39e01dc 100644
--- a/docs/html-ndk/ndk/reference/window_8h.jd
+++ b/docs/html-ndk/ndk/reference/window_8h.jd
@@ -51,11 +51,3 @@
 <tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Thu May 21 2015 01:26:49 for NDK API by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/docs/html-ndk/ndk/samples/downloads.jd b/docs/html-ndk/ndk/samples/downloads.jd
deleted file mode 100644
index 3e5e3b7..0000000
--- a/docs/html-ndk/ndk/samples/downloads.jd
+++ /dev/null
@@ -1,24 +0,0 @@
-page.title=Samples: Downloads
-@jd:body
-
-<style>
-
-.landing-button {
-  min-width: 155px;
-  text-align: center;
-}
-</style>
-
-<p>From this page, you can download samples that provide a look at the NDK in action. A few of the
-topics covered are:</p>
-
-<ul>
-   <li>Managing your native app's activity lifecycle.</li>
-   <li>Using native OpenGL on an Android device.</li>
-   <li>Implementing native audio.</li>
-   <li>Exporting modules.</li>
-</ul>
-
-<p class="landing-button landing-secondary"><a href="{@docRoot}ndk/samples/samples_download.zip">Download the NDK Samples</a>
-</p>
-
diff --git a/docs/html-ndk/ndk/samples/index.jd b/docs/html-ndk/ndk/samples/index.jd
index ce03f1c..6b2cd16 100644
--- a/docs/html-ndk/ndk/samples/index.jd
+++ b/docs/html-ndk/ndk/samples/index.jd
@@ -1,13 +1,26 @@
-page.title=Samples
+page.title=Samples: Overview
 @jd:body
 
-<p>Welcome to the NDK samples area. Here, you can
-<a href="{@docRoot}ndk/samples/downloads.html">download</a> a variety of sample apps to help
-deepen your understanding of how to use the NDK. There are also detailed
-<a href="{@docRoot}ndk/samples/walkthroughs.html">walkthroughs</a> of several
-of the apps, providing additional insight into key topics.</p>
+<p>Welcome to the NDK samples area. Here, you can download a variety of sample
+apps to help deepen your understanding the NDK.
 
-<p>These samples are also contained in the NDK installation package. They reside in
+
+<p>From this page, you can download samples that provide a look at the NDK in action. A few of the
+topics covered are:</p>
+
+<ul>
+   <li>Managing your native app's activity lifecycle.</li>
+   <li>Using native OpenGL on an Android device.</li>
+   <li>Implementing native audio.</li>
+   <li>Exporting modules.</li>
+</ul>
+
+<p class="note"><strong>Note: </strong>These samples are also contained in the NDK installation
+package; if you have already downloaded the NDK, you have them. They reside in
 {@code $NDK/samples/}, where {@code $NDK} is the NDK installation root.</p>
 
+ <div id="sdk-terms-form">
+      <p><a href="{@docRoot}shareables/ndk/ndk-samples.zip" class="button">
+      Download ndk-samples.zip</a></p>
+ </div>
 
diff --git a/docs/html-ndk/ndk/samples/sample_hellojni.jd b/docs/html-ndk/ndk/samples/sample_hellojni.jd
index 8d11989..fa61b28 100644
--- a/docs/html-ndk/ndk/samples/sample_hellojni.jd
+++ b/docs/html-ndk/ndk/samples/sample_hellojni.jd
@@ -18,7 +18,7 @@
 
 <p>This sample guides you through HelloJNI, a minimal
 application built with the NDK. This sample is in the {@code samples/hello-jni/} directory
-under the root directory of your NDK installation.</p>
+under the root directory of your NDK installation.</p> 
 
 <h2 id="an">Android.mk</h2>
 
diff --git a/docs/html-ndk/ndk/samples/sample_na.jd b/docs/html-ndk/ndk/samples/sample_na.jd
index a677de5..a706be5 100644
--- a/docs/html-ndk/ndk/samples/sample_na.jd
+++ b/docs/html-ndk/ndk/samples/sample_na.jd
@@ -23,7 +23,7 @@
 The stub serves as a wrapper for the actual, native program, which is located in the {@code .so}
 file.</p>
 
-<p>The app itself simply renders a color onto the entire screen, and
+<p>The app itself simply renders a color onto the entire screen, and 
 then changes the color partly in response to movement that it detects.</p>
 
 <h2 id="am">AndroidManifest.xml</h2>
diff --git a/docs/html-ndk/ndk/samples/sample_teapot.jd b/docs/html-ndk/ndk/samples/sample_teapot.jd
index 6d19de6..97708a7 100644
--- a/docs/html-ndk/ndk/samples/sample_teapot.jd
+++ b/docs/html-ndk/ndk/samples/sample_teapot.jd
@@ -20,7 +20,7 @@
 installation's root directory. This sample uses the OpenGL library to render the iconic
 <a href="http://math.hws.edu/bridgeman/courses/324/s06/doc/opengl.html#basic">Utah
 teapot</a>. In particular, it showcases the {@code ndk_helper} helper class,
-a collection of native helper functions required for implementing games and
+a collection of native helper functions required for implementing games and 
 similar applications as native applications. This class provides:</p>
 
 <ul>
diff --git a/docs/html-ndk/ndk/samples/samples_download.zip b/docs/html-ndk/ndk/samples/samples_download.zip
deleted file mode 100644
index 35265be..0000000
--- a/docs/html-ndk/ndk/samples/samples_download.zip
+++ /dev/null
Binary files differ
diff --git a/docs/html-ndk/ndk/samples/samples_toc.cs b/docs/html-ndk/ndk/samples/samples_toc.cs
index e0dcf04..92266b1 100644
--- a/docs/html-ndk/ndk/samples/samples_toc.cs
+++ b/docs/html-ndk/ndk/samples/samples_toc.cs
@@ -7,22 +7,22 @@
 ?>
 
 <ul id="nav">
+
    <li class="nav-section">
-      <div class="nav-section-header empty"><a href="<?cs var:toroot ?>ndk/samples/downloads.html">
-      <span class="en">Downloads</span></a></div>
+      <div class="nav-section-header empty"><a href="<?cs var:toroot ?>ndk/samples/index.html">
+      <span class="en">Overview</span></a></div>
    </li>
 
    <li class="nav-section">
       <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>ndk/samples/walkthroughs.html"><span class="en">
-      Walkthroughs</span></a></div>
+      <a href="<?cs var:toroot ?>ndk/samples/walkthroughs.html">
+      <span class="en">Walkthroughs</span></a></div>
       <ul>
-      <li><a href="<?cs var:toroot ?>ndk/samples/sample_hellojni.html">hello-jni</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/samples/sample_na.html">sample-na</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/samples/sample_teapot.html">Teapot</a></li>
+         <li><a href="<?cs var:toroot ?>ndk/samples/sample_hellojni.html">hello-jni</a></li>
+         <li><a href="<?cs var:toroot ?>ndk/samples/sample_na.html">native-activity</a></li>
+         <li><a href="<?cs var:toroot ?>ndk/samples/sample_teapot.html">Teapot</a></li>
       </ul>
    </li>
-
 </ul>
 
 
diff --git a/docs/html-ndk/ndk/samples/walkthroughs.jd b/docs/html-ndk/ndk/samples/walkthroughs.jd
index b214e66..88ceb56 100644
--- a/docs/html-ndk/ndk/samples/walkthroughs.jd
+++ b/docs/html-ndk/ndk/samples/walkthroughs.jd
@@ -4,7 +4,10 @@
 <p>This section provides detailed walkthroughs of several key samples. The samples are as
 follows:</p>
 
-<li><a href="{@docRoot}ndk/samples/sample_hellojni.html">hello-jni</a>: A very basic app that illustrates core workings of the NDK.</li>
-<li><a href="{@docRoot}ndk/samples/sample_na.html">native-activity</a>: An app that shows the fundamentals of constructing a purely native app. It places particular emphasis on the
+<li><a href="{@docRoot}ndk/samples/sample_hellojni.html">hello-jni</a>: A very basic app that
+illustrates core workings of the NDK.</li>
+<li><a href="{@docRoot}ndk/samples/sample_na.html">native-activity</a>: An app that shows the
+fundamentals of constructing a purely native app. It places particular emphasis on the
 {@code android_native_app_glue library}.</li>
-<li><a href="<a href="{@docRoot}ndk/samples/sample_teapot.html">Teapot</a>: A simple OpenGL demo, showcasing the <code>ndk_helper</code> class.</li>
\ No newline at end of file
+<li><a href="<a href="{@docRoot}ndk/samples/sample_teapot.html">Teapot</a>: A simple OpenGL demo,
+showcasing the <code>ndk_helper</code> class.</li>
diff --git a/docs/html/distribute/googleplay/work/about.jd b/docs/html/distribute/googleplay/work/about.jd
index bd0f72b..20fec7a 100644
--- a/docs/html/distribute/googleplay/work/about.jd
+++ b/docs/html/distribute/googleplay/work/about.jd
@@ -55,7 +55,7 @@
   <li>Follow best practices for security and manage user data properly. Businesses
   are more conscious of data security and employee productivity, especially when it
   comes to features that share information with other services.</li>
-  <li>Support the <a href="{@docRoot}training/enterprise/app-restrictions.html">App Configuration framework to let an administrator remotely configure app settings such as:
+  <li>Support the <a href="{@docRoot}training/enterprise/app-restrictions.html">App Configuration framework</a> to let an administrator remotely configure app settings such as:
     <ul>
       <li>Server address and protocol settings</li>
       <li>The ability to switch features on and off</li>
diff --git a/docs/html/distribute/index.jd b/docs/html/distribute/index.jd
index c8928df..a6ece63 100644
--- a/docs/html/distribute/index.jd
+++ b/docs/html/distribute/index.jd
@@ -43,11 +43,11 @@
       <span class="dac-sprite dac-auto-chevron"></span>
       Get started
     </a></li>
-    <li class="dac-section-link"><a href="/distribute/essentials/index.html#quality-guidelines">
+    <li class="dac-section-link"><a href="/distribute/essentials/index.html#guidelines">
       <span class="dac-sprite dac-auto-chevron"></span>
       Quality guidelines
     </a></li>
-    <li class="dac-section-link"><a href="/distribute/essentials/index.html#tools-and-resources">
+    <li class="dac-section-link"><a href="/distribute/essentials/index.html#tools">
       <span class="dac-sprite dac-auto-chevron"></span>
       Resources &amp; tools
     </a></li>
diff --git a/docs/html/distribute/users/app-invites.jd b/docs/html/distribute/users/app-invites.jd
index ec9579d..e19e6eb 100644
--- a/docs/html/distribute/users/app-invites.jd
+++ b/docs/html/distribute/users/app-invites.jd
@@ -1,7 +1,7 @@
 page.title=Smarter App Invites
 page.metaDescription=Tap into your existing user base to increase downloads and increase conversions.
 page.tags="google", "identity", "signin"
-page.image=distribute/images/advertising.jpg
+page.image=images/cards/card-app-invites_16-9_2x.png
 
 @jd:body
 
diff --git a/docs/html/distribute/users/house-ads.jd b/docs/html/distribute/users/house-ads.jd
index d662fb2..ec73393 100644
--- a/docs/html/distribute/users/house-ads.jd
+++ b/docs/html/distribute/users/house-ads.jd
@@ -1,4 +1,4 @@
-page.title=Cross-Sell to Users with House Ads
+page.title=Cross-Sell with House Ads
 page.metaDescription=Tap into your existing user base to increase downloads and increase conversions.
 page.tags="google", "identity", "signin"
 page.image=distribute/images/advertising.jpg
diff --git a/docs/html/distribute/users/index.jd b/docs/html/distribute/users/index.jd
index 4da4077..23f08c4 100644
--- a/docs/html/distribute/users/index.jd
+++ b/docs/html/distribute/users/index.jd
@@ -13,13 +13,13 @@
 <div class="resource-widget resource-flow-layout landing col-16"
   data-query="collection:distribute/users"
   data-cardSizes="6x6"
-  data-maxResults="9">
+  data-maxResults="15">
 </div>
-<div class="resource-widget resource-flow-layout landing col-16"
+<!--<div class="resource-widget resource-flow-layout landing col-16"
   data-query="collection:distribute/users"
   data-cardSizes="9x3"
   data-maxResults="16">
-</div>
+</div>-->
 
 <!-- <h2>Related resources</h2>
 
diff --git a/docs/html/google/index.jd b/docs/html/google/index.jd
index e3b2ae13..2d3ee05 100644
--- a/docs/html/google/index.jd
+++ b/docs/html/google/index.jd
@@ -11,7 +11,7 @@
   <div class="wrap">
     <div class="cols dac-hero-content">
       <div class="col-1of2 col-push-1of2 dac-hero-figure">
-        <img class="dac-hero-image" src="/images/google/hero-play-services_2x.png" style="height:400px">
+        <img class="dac-hero-image" src="{@docRoot}images/google/hero-play-services_2x.png" style="height:400px">
       </div>
       <div class="col-1of2 col-pull-1of2">
         <h1 class="dac-hero-title">Build better apps with Google</h1>
@@ -21,11 +21,11 @@
           <p class="dac-hero-description">Start by setting up the Google Play services library,
           then build with the APIs you need. </p>
 
-        <a class="dac-hero-cta" href="https://developers.google.com/android/guides/">
+        <a class="dac-hero-cta" href="{@docRoot}google/play-services/index.html">
           <span class="dac-sprite dac-auto-chevron"></span>
           Set up Google Play services
         </a><br>
-        <a class="dac-hero-cta" href="https://developers.google.com/android/reference/">
+        <a class="dac-hero-cta" href="{@docRoot}reference/gms-packages.html">
           <span class="dac-sprite dac-auto-chevron"></span>
           API Reference
         </a><br>
diff --git a/docs/html/images/cards/card-app-invites_16-9_2x.png b/docs/html/images/cards/card-app-invites_16-9_2x.png
new file mode 100644
index 0000000..e0da07e
--- /dev/null
+++ b/docs/html/images/cards/card-app-invites_16-9_2x.png
Binary files differ
diff --git a/docs/html/images/cards/card-app-linking_2x.png b/docs/html/images/cards/card-app-linking_2x.png
new file mode 100644
index 0000000..abff805
--- /dev/null
+++ b/docs/html/images/cards/card-app-linking_2x.png
Binary files differ
diff --git a/docs/html/images/cards/card-auto-backup_2x.png b/docs/html/images/cards/card-auto-backup_2x.png
new file mode 100644
index 0000000..3c79ba9
--- /dev/null
+++ b/docs/html/images/cards/card-auto-backup_2x.png
Binary files differ
diff --git a/docs/html/images/cards/card-test-performance_2x.png b/docs/html/images/cards/card-test-performance_2x.png
new file mode 100644
index 0000000..fd949c8
--- /dev/null
+++ b/docs/html/images/cards/card-test-performance_2x.png
Binary files differ
diff --git a/docs/html/images/google/hero-play-services_2x.png b/docs/html/images/google/hero-play-services_2x.png
index 118e7a7..c9436f1 100644
--- a/docs/html/images/google/hero-play-services_2x.png
+++ b/docs/html/images/google/hero-play-services_2x.png
Binary files differ
diff --git a/docs/html/images/permissions_check.png b/docs/html/images/permissions_check.png
new file mode 100644
index 0000000..376d0fa
--- /dev/null
+++ b/docs/html/images/permissions_check.png
Binary files differ
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
index 46d81e5..073feb8 100644
--- a/docs/html/jd_collections.js
+++ b/docs/html/jd_collections.js
@@ -125,7 +125,7 @@
       "https://developers.google.com/maps/documentation/android/",
       "https://developers.google.com/identity/sign-in/android/",
       "https://developers.google.com/mobile-ads-sdk/download",
-      "https://developers.google.com/gcm/android/",
+      "https://developers.google.com/cloud-messaging/gcm",
       "https://developers.google.com/app-indexing/"
     ]
   },
@@ -151,7 +151,7 @@
       "https://www.udacity.com/course/ux-design-for-mobile-developers--ud849",
       "https://www.udacity.com/course/developing-android-apps--ud853",
       "https://www.udacity.com/course/android-performance--ud825",
-      "https://www.udacity.com/android-nanodegree",
+      "https://www.udacity.com/android",
       "https://www.udacity.com/course/advanced-android-app-development--ud855",
       "https://www.udacity.com/course/android-ubiquitous-computing--ud875",
       "https://www.udacity.com/course/google-play-services--ud876",
@@ -160,12 +160,15 @@
       "https://www.udacity.com/course/gradle-for-android-and-java--ud867"
     ]
   },
-  "preview/landing/herolinks": {
+  "preview/landing/more": {
     "title": "",
     "resources": [
-      "https://www.udacity.com/course/ux-design-for-mobile-developers--ud849",
-      "https://www.udacity.com/course/developing-android-apps--ud853",
-      "https://www.udacity.com/course/android-performance--ud825"
+      "preview/features/runtime-permissions.html",
+      "preview/behavior-changes.html",
+      "preview/backup/index.html",
+      "preview/features/app-linking.html",
+      "preview/testing/guide.html",
+      "preview/testing/performance.html",
     ]
   },
   "distribute/landing/carousel": {
@@ -974,9 +977,8 @@
   "distribute/engage/gcm": {
     "title": "",
     "resources": [
-      "google/gcm/index.html",
-      "http://developer.chrome.com/apps/cloudMessagingV2",
-      "http://www.youtube.com/watch?v=y76rjidm8cU"
+      "https://developers.google.com/cloud-messaging/gcm",
+      "https://developers.google.com/cloud-messaging/android/client",
     ]
   },
   "distribute/engage/googleplaygames": {
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
index 54343eb..90a9875 100644
--- a/docs/html/jd_extras.js
+++ b/docs/html/jd_extras.js
@@ -132,11 +132,22 @@
     "image":"images/cards/card-places_2x.png",
     "type":"Guide"
   },
-    {
+  {
+    "title":"GCM Client for Android",
+    "titleFriendly":"",
+    "summary":"Send push notifications and pubsub from your server to Android devices around the world.",
+    "url":"https://developers.google.com/cloud-messaging/android/client",
+    "group":"",
+    "keywords": ["push","gcm"],
+    "tags": [],
+    "image":"images/cards/card-google-cloud-messaging_16-9_2x.png",
+    "type":"Guide"
+  },
+  {
     "title":"Google Cloud Messaging",
     "titleFriendly":"",
-    "summary":"Send push notifications and pubsub from your server to your users’ devices around the world.",
-    "url":"https://developers.google.com/gcm/android/",
+    "summary":"Learn about GCM and the kinds of services you can offer to users through push notifications",
+    "url":"https://developers.google.com/cloud-messaging/gcm",
     "group":"",
     "keywords": ["push","gcm"],
     "tags": [],
diff --git a/docs/html/preview/api-overview.jd b/docs/html/preview/api-overview.jd
index bf5eec4..5fd6bb8 100644
--- a/docs/html/preview/api-overview.jd
+++ b/docs/html/preview/api-overview.jd
@@ -15,12 +15,13 @@
         <span class="less" style="display:none">show less</span></a></h2>
 
 <ol id="toc44" class="hide-nested">
-  <li><a href="#backup">Automatic App Data Backup</a></li>
+  <li><a href="#app-linking">App Linking</a></li>
+  <li><a href="#backup">Auto Backup for Apps</a></li>
   <li><a href="#authentication">Authentication</a>
-    <ul>
+    <ol>
       <li><a href="#fingerprint-authentication">Fingerprint Authentication</a></li>
       <li><a href="#confirm-credentials">Confirm Credentials</a></li>
-    </ul>
+    </ol>
   </li>
   <li><a href="#direct-share">Direct Share</a></li>
   <li><a href="#voice-interactions">Voice Interactions</a></li>
@@ -34,10 +35,10 @@
   <li><a href="#audio">Audio Features</a></li>
   <li><a href="#video">Video Features</a></li>
   <li><a href="#camera">Camera Features</a>
-    <ul>
+    <ol>
       <li><a href="#flashlight">Flashlight API</a></li>
       <li><a href="#reprocessing">Camera Reprocessing</a></li>
-    </ul>
+    </ol>
   </li>
   <li><a href="#afw">Android for Work Features</a></li>
 </ol>
@@ -77,12 +78,19 @@
 
 <p>Please see <a href="behavior-changes.html">Behavior Changes</a> for complete information.</p>
 
-<h2 id="backup">Automatic App Data Backup</h2>
+<h2 id="app-linking">App Linking</h2>
+<p>This preview enhances Android’s intent system by providing more powerful app linking.
+This feature allows you to associate an app with a web domain you own. Based on this
+association, the platform can determine the default app to use to handle a particular
+web link and skip prompting users to select an app. To learn how to implement this feature, see
+<a href="{@docRoot}preview/features/app-linking.html">App Linking</a>.
+
+<h2 id="backup">Auto Backup for Apps</h2>
 <p>The system now performs automatic full data backup and restore for apps. This behavior is
 enabled by default for apps targeting M Preview; you do not need to add any additional code. If
 users delete their Google accounts, their backup data is deleted as well. To learn how this feature
 works and how to configure what to back up on the file system, see
-<a href="{@docRoot}preview/backup/index.html">Automatic App Data Backup</a>.</p>
+<a href="{@docRoot}preview/backup/index.html">Auto Backup for Apps</a>.</p>
 
 <h2 id="authentication">Authentication</h2>
 <p>This preview offers new APIs to let you authenticate users by using their fingerprint scans on
@@ -121,9 +129,9 @@
 
 <p>If you are testing this feature, follow these steps:</p>
 <ol>
+<li>Install Android SDK Tools Revision 24.3, if you have not done so.</li>
 <li>Enroll a new fingerprint in the emulator by going to
 <strong>Settings > Security > Fingerprint</strong>, then follow the enrollment instructions.</li>
-<li>Install Android SDK Tools Revision 24.3, if you have not done so.</li>
 <li>Use an emulator to emulate fingerprint touch events with the
 following command. Use the same command to emulate fingerprint touch events on the lockscreen or
 in your app.
@@ -137,39 +145,42 @@
 </ol>
 
 <h3 id="confirm-credentials">Confirm Credentials</h3>
-<p>Your app can authenticate users based on how recently they last unlocked their device. You can
-use the same public or secret key to authenticate users. This feature frees
-users from having to remember additional app-specific passwords, and avoids the need for you to
-implement your own authentication user interface.</p>
+<p>Your app can authenticate users based on how recently they last unlocked their device. This
+feature frees users from having to remember additional app-specific passwords, and avoids the need
+for you to implement your own authentication user interface. Your app should use this feature in
+conjunction with a public or secret key implementation for user authentication.</p>
 
-<p>You can set your own authentication policy by setting constraints against the key that you are
-generating or importing. To set the constraints for using a key, use the
-{@code android.security.KeyPairGeneratorSpec.Builder} and
-{@code android.security.KeyGeneratorSpec.Builder} classes for public key pairs and secret keys
-respectively. If you are importing keys, use the {@link android.security.KeyStoreParameter.Builder}
-class to set your constraints. You can use the
+<p>To set the timeout duration for which the same key can be re-used after a user is successfully
+authenticated, call the new
+{@code android.security.keystore.KeyGenParameterSpec.setUserAuthenticationValidityDurationSeconds()}
+method when you set up a {@link javax.crypto.KeyGenerator} or
+{@link java.security.KeyPairGenerator}. This feature currently works for symmetric cryptographic
+operations.</p>
+
+<p>Avoid showing the re-authentication dialog excessively -- your apps should try using the
+cryptographic object first and if the the timeout expires, use the
 {@link android.app.KeyguardManager#createConfirmDeviceCredentialIntent(java.lang.CharSequence, java.lang.CharSequence) createConfirmDeviceCredentialIntent()}
-method to re-authenticate the user within your app if the timeout expired.
+method to re-authenticate the user within your app.
 </p>
 
 <p>To see an app implementation of this feature, refer to the
-<a href="https://github.com/googlesamples/android-ConfirmDeviceCredentials" class="external-link">
+<a href="https://github.com/googlesamples/android-ConfirmCredentials" class="external-link">
   Confirm Device Credentials sample</a>.</p>
 
 <h2 id="direct-share">Direct Share</h2>
 
 <img src="{@docRoot}preview/images/direct-share-screen_2x.png"
 srcset="{@docRoot}preview/images/direct-share-screen.png 1x, preview/images/direct-share-screen_2x.png 2x"
-style="float:right; margin:0 0 20px 30px" width="312" height="385" />
+style="float:right; margin:0 0 20px 30px" width="312" height="335" />
 
-<p>This preview provides you with APIs to makes sharing intuitive and quick for users. You can now
-define <em>deep links</em> that target a specific activity in your app. These deep links are
-exposed to users via the <em>Share</em> menu. This feature allows users to share content to
-targets, such as contacts, within other apps. For example, the deep link might launch an
-activity in another social network app, which lets the user share content directly to a specific
-friend or community in that app.</p>
+<p>This preview provides you with APIs to make sharing intuitive and quick for users. You can now
+define <em>direct share targets</em> that launch a specific activity in your app. These direct share
+targets are exposed to users via the <em>Share</em> menu. This feature allows users to share
+content to targets, such as contacts, within other apps. For example, the direct share target might
+launch an activity in another social network app, which lets the user share content directly to a
+specific friend or community in that app.</p>
 
-<p>To enable sharing via deep links, you must define a class that extends the
+<p>To enable direct share targets you must define a class that extends the
 {@code android.service.} <br>
 {@code chooser.ChooserTargetService} class. Declare your
 {@code ChooserTargetService} in the manifest. Within that declaration, specify the
@@ -203,10 +214,6 @@
         android:value=".ChooserTargetService" /&gt;
 &lt;/activity>
 </pre>
-<p>To see an app implementation of this feature, refer to the
-<a href="https://github.com/googlesamples/android-DeepLinkSharing" class="external-link">
-  Deep Link Sharing sample</a>.</p>
-
 
 <h2 id="voice-interactions">Voice Interactions</h2>
 <p>
@@ -226,9 +233,10 @@
 This preview offers a new way for users to engage with your apps through an assistant. To use this
 feature, the user must enable the assistant to use the current context. Once enabled, the user
 can summon the assistant within any app, by long-pressing on the <strong>Home</strong> button.</p>
-<p>The platform passes the current context to the assistant. In addition to the standard set of
-information that the platform passes to the assistant, your app can share additional information
-by using the new {@code android.app.Activity.AssistContent} class.</p>
+<p>Your app can elect to not share the current context with the assistant by setting the
+{@link android.view.WindowManager.LayoutParams#FLAG_SECURE} flag. In addition to the
+standard set of information that the platform passes to the assistant, your app can share
+additional information by using the new {@code android.app.Activity.AssistContent} class.</p>
 
 <p>To provide the assistant with additional context from your app, follow these steps:</p>
 
@@ -324,9 +332,6 @@
 UI continues to be rendered at the original resolution (such as 1080p) and is upscaled to 4K, but
 {@link android.view.SurfaceView} objects may show content at the native resolution.</p>
 
-<p>To test the new 4K display mode, simulate a secondary display of a larger resolution using the
-<strong>Developer Options</strong> settings.</p>
-
 <h2 id="behavior-themeable-colorstatelists">Themeable ColorStateLists</h2>
 <p>Theme attributes are now supported in
 {@link android.content.res.ColorStateList} for devices running the M Preview. The
@@ -494,22 +499,16 @@
 <p>Additionally, by setting app restrictions on Google Play services, Device Owners can specify
 alternative Google accounts for unlocking FRP to replace the ones activated on the device.</p>
 </li>
+<img src="{@docRoot}preview/images/work-profile-screen_2x.png"
+srcset="{@docRoot}preview/images/work-profile-screen.png 1x, preview/images/work-profile-screen_2x.png 2x"
+style="float:right; margin:0 0 10px 20px" width="282" height="476" />
 <li><strong>Data usage tracking.</strong> A Profile or Device Owner can now query for the
 data usage statistics visible in <strong>Settings > Data</strong> usage by using the new
 {@code android.app.usage.NetworkStatsManager} methods. Profile Owners are automatically granted
 permission to query data on the profile they manage, while Device Owners get access to usage data
 of the managed primary user.</li>
-<li><strong>Runtime permission management:</strong> With the new runtime permissions model, a
-Profile or Device Owner can now silently grant or revoke an app’s permissions by calling
-{@code DevicePolicyManager.setPermissionGranted()}. Granting or revoking a single permission applies
-that setting to all permissions within that runtime permission group; the user is not prompted
-at runtime when any permission from that runtime permission group is required. Furthermore, the
-user cannot modify the selection made by the Profile or Device Owner within the app’s permissions
-screen in <strong>Settings</strong>.
-<img src="{@docRoot}preview/images/work-profile-screen_2x.png"
-srcset="{@docRoot}preview/images/work-profile-screen.png 1x, preview/images/work-profile-screen_2x.png 2x"
-style="float:right; margin:0 0 10px 20px" width="282" height="476" />
-<p>A Profile or Device Owner can also set a permission policy
+<li><strong>Runtime permission management:</strong>
+<p>A Profile or Device Owner can set a permission policy
 for all runtime requests of all applications using
 {@code DevicePolicyManager.setPermissionPolicy()}, to either prompt the user to grant the
 permission as normal or automatically grant or deny the permission silently. If the latter policy
@@ -517,8 +516,10 @@
 app’s permissions screen in <strong>Settings</strong>.</p></li>
 <li><strong>VPN in Settings:</strong> VPN apps are now visible in
     <strong>Settings > More > VPN</strong>.
-Additionally, the notifications that accompany VPN usage are now specific to whether that VPN is
-configured for a managed profile or the entire device.</li>
+Additionally, the notifications that accompany VPN usage are now specific to how that VPN is
+configured. For Profile Owner, the notifications are specific to whether the VPN is configured
+for a managed profile, a personal profile, or both. For a Device Owner, the notifications are
+specific to whether the VPN is configured for the entire device.</li>
 <li><strong>Work status notification:</strong> A status bar briefcase icon now appears whenever
 an app from the managed profile has an activity in the foreground. Furthermore, if the device is
 unlocked directly to the activity of an app in the managed profile, a toast is displayed notifying
diff --git a/docs/html/preview/backup/index.jd b/docs/html/preview/backup/index.jd
index c7d85ae..6735379 100644
--- a/docs/html/preview/backup/index.jd
+++ b/docs/html/preview/backup/index.jd
@@ -1,7 +1,7 @@
 page.title=Auto Backup for Apps
 page.tags=backup, previewresources, androidm
 page.keywords=backup, autobackup, preview
-
+page.image=images/cards/card-auto-backup_2x.png
 @jd:body
 
 <div id="qv-wrapper">
diff --git a/docs/html/preview/behavior-changes.jd b/docs/html/preview/behavior-changes.jd
index 0dd549b..2efa80a 100644
--- a/docs/html/preview/behavior-changes.jd
+++ b/docs/html/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
 page.title=Behavior Changes
 page.keywords=preview,sdk,compatibility
-sdk.platform.apiLevel=23
+sdk.platform.apiLevel=MNC
 @jd:body
 
 <div id="qv-wrapper">
@@ -10,9 +10,9 @@
 
 <ol id="toc44" class="hide-nested">
     <li><a href="#behavior-runtime-permissions">Runtime Permissions</a></li>
-    <li><a href="#behavior-project-volta">Project Volta</a>
+    <li><a href="#behavior-power">Power-Saving Optimizations</a>
         <ol>
-            <li><a href="#behavior-doze">Doze mode</a></li>
+            <li><a href="#behavior-doze">Doze</a></li>
             <li><a href="#behavior-app-standby">App Standby</a></li>
         </ol>
     </li>
@@ -21,7 +21,6 @@
     <li><a href="#behavior-audiomanager-Changes">AudioManager Changes</a></li>
     <li><a href="#behavior-test-selection">Text Selection</a></li>
     <li><a href="#behavior-keystore">Android Keystore Changes</a></li>
-    <li><a href="#night-mode">Night Mode</a></li>
     <li><a href="#behavior-network">Wi-Fi and Networking Changes</a></li>
     <li><a href="#behavior-camera">Camera Service Changes</a></li>
     <li><a href="#behavior-art-runtime">ART Runtime</a></li>
@@ -43,7 +42,6 @@
 </div>
 </div>
 
-<p>API Level: M</p>
 <p>Along with new features and capabilities, the M Developer Preview includes a variety of
 system changes and API behavior changes. This document highlights
 some of the key changes that you should be understand and account for in your apps.</p>
@@ -67,16 +65,16 @@
 <a href="{@docRoot}preview/features/runtime-permissions.html">
 Android M Preview Runtime Permissions</a>.</p>
 
-<h2 id="behavior-project-volta">Project Volta</h2>
+<h2 id="behavior-power">Power-Saving Optimizations</h2>
 <p>This preview introduces new power-saving optimizations for idle devices and apps.</p>
 
-<h3 id="behavior-doze">Doze mode</h3>
+<h3 id="behavior-doze">Doze</h3>
 <p>If a device is unplugged and left stationary with the screen off for a period of time, it
 goes into <em>Doze</em> mode where it attempts to keep the system in a sleep state. In this mode,
 devices periodically resume normal operations for brief periods of time so that app syncing can
 occur and the system can perform any pending operations.</p>
 
-<p>The following restrictions apply to your apps while in Doze mode:</p>
+<p>The following restrictions apply to your apps while in Doze:</p>
 <ul>
 <li>Network access is disabled, unless your app receives a high priority Google Cloud Messaging
 tickle.</li>
@@ -89,7 +87,7 @@
 permitted to run.</li>
 </ul>
 </p>
-<p>When the device exists doze mode, it executes any jobs and syncs that are pending.</p>
+<p>When the device exits doze, it executes any jobs and syncs that are pending.</p>
 <p>You can test this feature by connecting a device running the M Preview to your development
 machine and calling the following commands:
 </p>
@@ -98,10 +96,11 @@
 $ adb shell dumpsys deviceidle step
 $ adb shell dumpsys deviceidle -h
 </pre>
-<p class="note"><strong>Note</strong>: The upcmoning
-<a href="{@docRoot}google/gcm/index.html">Google Cloud Messaging</a> release lets you designate
+<p class="note"><strong>Note</strong>: The upcoming
+<a href="https://developers.google.com/cloud-messaging/" class="external-link">
+Google Cloud Messaging</a> release lets you designate
 high-priority messages. If your app receives high-priority GCM messages, it’s granted
-brief network access even when the device is in doze mode.
+brief network access even when the device is in doze.
 </p>
 
 <h3 id="behavior-app-standby">App standby</h3>
@@ -110,6 +109,7 @@
 any of these signals:</p>
 
 <ul>
+<li>The app is explicitly launched by the user.</li>
 <li>The app has a process currently in the foreground (either as an activity or foreground service,
 or in use by another activity or foreground service).</li>
 <li>The app generates a notification that users see on the lock screen or in the
@@ -127,14 +127,15 @@
 machine and calling the following commands:
 </p>
 <pre class="no-prettyprint">
-$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell dumpsys battery unplug
 $ adb shell am set-idle &lt;packageName&gt; true
 $ adb shell am set-idle &lt;packageName&gt; false
 $ adb shell am get-idle &lt;packageName&gt;
 </pre>
 
 <p class="note"><strong>Note</strong>: The upcoming
-<a href="{@docRoot}google/gcm/index.html">Google Cloud Messaging</a> (GCM) release lets you
+<a href="https://developers.google.com/cloud-messaging/" class="external-link">
+Google Cloud Messaging</a> (GCM) release lets you
 designate high-priority messages. If your app receives high-priority GCM messages, it’s granted
 brief network access even when the app is idle.
 </p>
@@ -266,20 +267,6 @@
 is disabled or reset (for example, by the user or a Device Administrator). Keys which require
 encryption at rest will be deleted during these events.</p>
 
-<h2 id="night-mode">Night Mode (User-configurable Dark Theme)</h2>
-<p>
-Support for the {@code -night} resource qualifier has been updated. Previously, night mode was
-only available when a device was docked and in car mode. With this preview, night mode is
-available on
-all devices and is user-configurable via <strong>Settings > Display > Theme</strong>. You can adjust
-this setting globally using {@link android.app.UiModeManager#setNightMode(int) setNightMode()}. The
-Dark theme corresponds to {@link android.app.UiModeManager#MODE_NIGHT_YES}. When the device is in
-night mode, the resource framework prefers resources that have the {@code -night} qualifier. To
-take advantage of user-configurable Dark mode in your app, extend from the
-{@code Theme.Material.DayNight} set of themes rather than {@code Theme.Material} or
-{@code Theme.Material.Light}.
-</p>
-
 <h2 id="behavior-network">Wi-Fi and Networking Changes</h2>
 
 <p>This preview introduces the following behavior changes to the Wi-Fi and networking APIs.</p>
@@ -370,11 +357,12 @@
 <p>This preview includes the following behavior changes for Android for Work:</p>
 <ul>
 <li><strong>Work contacts in personal contexts.</strong> The Google Dialer
-Call Log now displays work contacts when the user views past calls. Both
-work and personal contacts are now available to devices over Bluetooth, but you can hide work
-profile contacts through a device policy by calling the new
-{@code DevicePolicyManager.setBluetoothContactSharingDisabled()} method. Initiating a call still
-shows personal contacts, as consistent with the experience in Android 5.0.
+Call Log now displays work contacts when the user views past calls.
+Setting {@code DevicePolicyManager.setCrossProfileCallerIdDisabled()} to {@code true} hides the
+work profile contacts in the Google Dialer Call Log. Work contacts can be displayed along with
+personal contacts to devices over Bluetooth only if
+you set {@code DevicePolicyManager.setBluetoothContactSharingDisabled()} to {@code false}. By
+default, it is set to {@code true}.
 </li>
 <li><strong>WiFi configuration removal:</strong> WiFi configurations added by a Profile Owner
 (for example, through calls to the
diff --git a/docs/html/preview/data-binding/guide.jd b/docs/html/preview/data-binding/guide.jd
deleted file mode 100644
index 49b690f..0000000
--- a/docs/html/preview/data-binding/guide.jd
+++ /dev/null
@@ -1,908 +0,0 @@
-page.title=Data Binding Guide
-
-@jd:body
-<p>Data Binding allows you write declarative layouts and minimize the glue code
-that is necessary to bind your application logic and layouts.</p>
-
-
-<h2 id=build_environment>Build Environment</h2>
-
-
-<p><strong>Setting Up Work Environment:</strong></p>
-
-<p>Data Binding EAP only supports gradle.</p>
-
-<p>To set up your application, unzip the provided bundle to a location. It has 3
-sections</p>
-
-<ul>
-  <li> <em>maven-repo:</em> which keeps the data-binding libraries
-  <li> <em>samples:</em> Sample applications
-  <li> <em>databinding.properties:</em> Properties file that can be used to integrate with your app
-</ul>
-
-<p>Add the following section to the project’s build.gradle file (not the module&apos;s
-build.gradle) and replace <code><BUNDLE_FOLDER> </code>with the absolute path of the bundle that you’ve unzipped in the previous step.</p>
-
-<pre class=prettyprint>
-buildscript {
-   <strong>def </strong>eapFolder = &apos;&lt;BUNDLE_FOLDER>&apos;
-<strong>   def </strong>Properties props = <strong>new </strong>Properties()
-   props.load(<strong>new </strong>FileInputStream(<strong>"</strong>${eapFolder}<strong>/databinding.properties"</strong>))
-   props.mavenRepoDir = <strong>"</strong>${eapFolder}<strong>/</strong>${props.mavenRepoName}<strong>"
-   </strong>ext.config = props
-   repositories {
-       jcenter()
-       maven {
-           url config.mavenRepoDir
-       }
-   }
-   dependencies {
-       classpath <strong>"com.android.tools.build:gradle:1.1.3"
-       </strong>classpath <strong>"com.android.databinding:dataBinder:</strong>${config.snapshotVersion}<strong>"
-<em></strong>   </em>}
-}
-allprojects {
-   repositories {
-       jcenter()
-       maven {
-           url config.mavenRepoDir
-       }
-   }
-}
-</pre>
-
-<p>Next, add the following lines to the <em>build.gradle</em>
-file of each module that will use data-binding. The application module must
-have this, even if only its libraries use data binding.</p>
-
-<pre class=prettyprint>
-apply plugin: <strong>&apos;com.android.databinding&apos;
-</strong>dependencies {
-    compile <strong>"com.android.databinding:library:</strong>${config.snapshotVersion}<strong>"
-</strong>    compile <strong>"com.android.databinding:baseLibrary:</strong>${config.snapshotVersion}<strong>"
-</strong>    compile <strong>"com.android.databinding:adapters:</strong>${config.snapshotVersion}<strong>"
-</strong>    provided <strong>"com.android.databinding:annotationprocessor:</strong>${config.snapshotVersion}<strong>"
-</strong>}
-</pre>
-
-
-<h2 id="data_binding_layout_files">Data Binding Layout Files</h2>
-
-
-<h3 id="writing_expressions">Writing your first data binding expressions:</h3>
-
-<p>Data-binding layout files are slightly different and start with a root tag of
-<strong>layout</strong> followed by a <strong>data</strong> element and a
-<strong>view</strong> root element. This view element is what your root would
-be in a non-binding layout file.A sample file looks like this:</p>
-
-<pre class=prettyprint>
-<em>&lt;?<strong></em>xml version="1.0" encoding="utf-8"<em></strong>?>
-</em>&lt;<strong>layout xmlns:android="http://schemas.android.com/apk/res/android"</strong>>
-   &lt;<strong>data</strong>>
-       &lt;<strong>variable name="user" type="com.example.User"</strong>/>
-   &lt;/<strong>data</strong>>
-   &lt;<strong>LinearLayout
-       android:orientation="vertical"
-       android:layout_width="match_parent"
-       android:layout_height="match_parent"</strong>>
-       &lt;<strong>TextView android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:text="&commat;{user.firstName}"</strong>/>
-       &lt;<strong>TextView android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:text="&commat;{user.lastName}"</strong>/>
-   &lt;/<strong>LinearLayout</strong>>
-&lt;/<strong>layout</strong>>
-</pre>
-
-<p>The user <strong>variable</strong> within <strong>data</strong> describes a property that may be used within this layout.</p>
-
-<pre class=prettyprint>
-&lt;<strong>variable name="user" type="com.example.User"</strong>/>
-</pre>
-
-<p>Expressions within the layout are written in the attribute properties using the
-“<code>&commat;{}</code>” syntax. Here, the TextView’s text is set to the firstName property of user:</p>
-<pre class=prettyprint>
-&lt;<strong>TextView android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:text="&commat;{user.firstName}"</strong>/>
-</pre>
-
-
-<h3 id="data_object">Data Object</h3>
-
-<p>Let’s assume for now that you have a plain-old Java object (POJO) for User:</p>
-<pre class=prettyprint>
-<strong>public class </strong>User {
-   <strong>public final </strong>String <strong>firstName</strong>;
-   <strong>public final </strong>String <strong>lastName</strong>;
-   <strong>public </strong>User(String firstName, String lastName) {
-       <strong>this</strong>.<strong>firstName </strong>= firstName;
-       <strong>this</strong>.<strong>lastName </strong>= lastName;
-   }
-}
-</pre>
-
-<p>This type of object has data that never changes. It is common in applications
-to have data that is read once and never changes thereafter. It is also
-possible to use a JavaBeans objects:</p>
-<pre class=prettyprint>
-<strong>public class </strong>User {
-   <strong>private final </strong>String <strong>firstName</strong>;
-   <strong>private final </strong>String <strong>lastName</strong>;
-   <strong>public </strong>User(String firstName, String lastName) {
-       <strong>this</strong>.<strong>firstName </strong>= firstName;
-       <strong>this</strong>.<strong>lastName </strong>= lastName;
-   }
-   <strong>public </strong>String getFirstName() {
-       <strong>return this</strong>.<strong>firstName</strong>;
-   }
-   <strong>public </strong>String getLastName() {
-       <strong>return this</strong>.<strong>lastName</strong>;
-   }
-}
-</pre>
-
-<p>From the perspective of data binding, these two classes are equivalent. The
-expression <strong><code>&commat;{user.lastName}</code></strong> used for the TextView’s <strong><code>android:text</code></strong> attribute will access the <strong><code>firstName</code></strong> field in the former class and the <code>getFirstName()</code> method in the latter class.
-</p><h3 id=binding_data>Binding Data</h3>
-
-<p>By default, a Binding class will be generated based on the name of the layout
-file, converting it to Pascal case and suffixing “Binding” to it. The above
-layout file was <code>activity_main.xml</code> so the generate class was <code>ActivityMainBinding</code>. This class holds all the bindings from the layout properties (e.g. the <code>user</code> variable) to the layout’s Views and knows how to assign values for the binding
-expressions.The easiest means for creating the bindings is to do it while inflating:
-</p>
-
-<pre class=prettyprint>
-&commat;Override
-<strong>protected void </strong>onCreate(Bundle savedInstanceState) {
-   <strong>super</strong>.onCreate(savedInstanceState);
-   ActivityMainBinding binding = DataBindingUtil.<em>setContentView</em>(<strong>this</strong>, R.layout.<em><strong>main_activity</strong></em>);
-   User user = <strong>new </strong>User(<strong>"Test"</strong>, <strong>"User"</strong>);
-   binding.setUser(user);
-}
-</pre>
-
-<p>You’re done! Run the application and you’ll see Test User in the UI.Alternatively, you can get the view via:
-</p><pre class=prettyprint>
-MainActivityBinding binding = MainActivityBinding.<em>inflate</em>(getLayoutInflater());
-</pre>
-
-<p>If you are using data binding items inside a ListView or RecyclerView adapter,
-you may prefer to use:
-</p><pre class=prettyprint>
-ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup,
-false);
-//or
-ListItemBinding binding = DataBindingUtil.<em>inflate</em>(layoutInflater, R.layout.<em><strong>list_item</strong></em>, viewGroup, <strong>false</strong>);
-</pre>
-
-
-<h2 id=layout_details>Layout Details</h2>
-
-
-<h3 id=imports>Imports</h3>
-
-<p>Zero or more <strong><code>import</code></strong> elements may be used inside the <strong><code>data</code></strong> element. These allow easy reference to classes inside your layout file, just
-like in Java.
-</p><pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="android.view.View"</strong>/>
-&lt;/<strong>data</strong>>
-</pre>
-
-<p>Now, View may be used within your binding expression:
-</p><pre class=prettyprint>
-&lt;<strong>TextView
-   android:text="&commat;{user.lastName}"
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"
-   android:visibility="&commat;{user.isAdult ? View.VISIBLE : View.GONE}"</strong>/>
-</pre>
-
-<p>When there are class name conflicts, one of the classes may be renamed to an
-“alias:”</p>
-<pre class=prettyprint>
-&lt;<strong>import type="android.view.View"</strong>/>
-&lt;<strong>import type="com.example.real.estate.View"
-        alias="Vista"</strong>/>
-</pre>
-
-<p>Now, <strong><code>Vista</code></strong> may be used to reference the <code>com.example.real.estate.View</code> and <strong><code>View</code></strong> may be used to reference <code>android.view.View </code>within the layout file.Imported types may be used as type references in variables and expressions:</p>
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="com.example.User"</strong>/>
-    &lt;<strong>import type="java.util.List"</strong>/>
-    &lt;<strong>variable name="user" type="User"</strong>/>
-    &lt;<strong>variable name="userList" type="List&lt;User&gt;"</strong>/>
-&lt;/<strong>data</strong>>
-…
-&lt;<strong>TextView
-   android:text="&commat;{((User)(user.connection)).lastName}"
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
-<p>Imported types may also be used when referencing static fields and methods in
-expressions:</p>
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="com.example.MyStringUtils"</strong>/>
-    &lt;<strong>variable name="user" type="com.example.User"</strong>/>
-&lt;/<strong>data</strong>>
-…
-&lt;<strong>TextView
-   android:text="&commat;{MyStringUtils.capitalize(user.lastName)}"
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
-<p>Just as in Java, <code>java.lang.*</code> is imported automatically.</p>
-<h3 id=variables>Variables</h3>
-
-<p>Any number of <strong><code>variable</code></strong> elements may be used inside the <strong><code>data</code></strong> element. Each <strong><code>variable</code></strong> element describes a property that may be set on the layout to be used in
-binding expressions within the layout file.</p>
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="android.graphics.drawable.Drawable"</strong>/>
-    &lt;<strong>variable name="user"  type="com.example.User"</strong>/>
-    &lt;<strong>variable name="image" type="Drawable"</strong>/>
-    &lt;<strong>variable name="note"  type="String"</strong>/>
-&lt;/<strong>data</strong>>
-</pre>
-
-<p>The variable types are inspected at compile time, so if a variable implements <a href="#observable_objects">Observable</a>, <a href="#observable_collections">observable collection</a>, that should be reflected in the type. If the variable is a base class or
-  interface that does not implement the Observable* interface, the variables will <strong>not be</strong> observed!</p>
-
-<p>When there are different layout files for various configurations (e.g.
-landscape or portrait), the variables will be combined. There must not be
-conflicting variable definitions between these layout files.</p>
-
-<p>The generated binding class will have a setter and getter for each of the
-described variables. The variables will take the default Java values until the
-setter is called &mdash; <code>null</code> for reference types, <code>0</code> for <code>int</code>, <code>false</code> for <code>boolean</code>, etc.</p>
-
-<h3 id=custom_binding_class_names>Custom Binding Class Names</h3>
-
-<p>By default, a Binding class is generated based on the name of the layout file,
-starting it with upper-case, removing underscores ( _ ) and capitalizing the
-following letter and then suffixing “Binding”. This class will be placed in a
-databinding package under the module package. For example, the layout file <code>contact_item.xml</code> will generate <code>ContactItemBinding</code>. If the module package is <code>com.example.my.app</code>, then it will be placed in <code>com.example.my.app.databinding</code>.</p>
-
-<p>Binding classes may be renamed or placed in different packages by adjusting the <strong><code>class</code></strong> attribute of the <strong><code>data</code></strong> element. For example:</p>
-<pre class=prettyprint>
-&lt;<strong>data class="ContactItem"</strong>>
-    ...
-&lt;/<strong>data</strong>>
-</pre>
-
-<p>This generates the binding class as <code>ContactItem</code> in the databinding package in the module package. If the class should be
-generated in a different package within the module package, it may be prefixed
-with “.”:</p>
-<pre class=prettyprint>
-&lt;<strong>data class=".ContactItem"</strong>>
-    ...
-&lt;/<strong>data</strong>>
-</pre>
-
-In this case, <code>ContactItem</code> is generated in the module package directly.Any package may be used if the full package is provided:
-<pre class=prettyprint>
-&lt;<strong>data class="com.example.ContactItem"</strong>>
-    ...
-&lt;/<strong>data</strong>>
-</pre>
-
-
-<h3 id=includes>Includes</h3>
-
-<p>Variables may be passed into an included layout&apos;s binding from the containing
-layout by using the application namespace and the variable name in an
-attribute:</p>
-<pre class=prettyprint>
-<em>&lt;?<strong></em>xml version="1.0" encoding="utf-8"<em></strong>?>
-</em>&lt;<strong>layout xmlns:android="http://schemas.android.com/apk/res/android"
-</strong>       <strong> xmlns:bind="http://schemas.android.com/apk/res-auto"</strong>>
-   &lt;<strong>data</strong>>
-       &lt;<strong>variable name="user" type="com.example.User"</strong>/>
-   &lt;/<strong>data</strong>>
-   &lt;<strong>LinearLayout
-       android:orientation="vertical"
-       android:layout_width="match_parent"
-       android:layout_height="match_parent"</strong>>
-       &lt;<strong>include layout="&commat;layout/name"
-           bind:user="&commat;{user}"</strong>/>
-       &lt;<strong>include layout="&commat;layout/contact"
-           bind:user="&commat;{user}"</strong>/>
-   &lt;/<strong>LinearLayout</strong>>
-&lt;/<strong>layout</strong>>
-</pre>
-
-<p>Here, there must be a <code>user</code> variable in both the <code>name.xml </code>and <code>contact.xml </code>layout files.</p>
-<h3 id=expression_language>Expression Language</h3>
-
-
-<h4 id=common_features>Common Features</h4>
-
-<p>The expression language looks a lot like a Java expression. These are the same:</p>
-<ul>
-  <li> Mathematical <strong><code>+ - / * %</code></strong>
-  <li> String concatenation <strong><code>+</code></strong>
-  <li> <code>L</code>ogical <strong><code>&& ||</code></strong>
-  <li> Binary <strong><code>&</code> <code>|</code> <code>^</code></strong>
-  <li> Unary <strong><code>+ - ! ~</code></strong>
-  <li> Shift <strong><code>>> >>> <<</code></strong>
-  <li> Comparison <strong><code>== > < >= <=</code></strong>
-  <li> <strong><code>instanceof</code></strong>
-  <li> Grouping <strong><code>()</code></strong>
-  <li> Literals - character, String, numeric, <strong><code>null</code></strong>
-  <li> Cast
-  <li> Method calls
-  <li> Field access
-  <li> Array access <strong><code>[]</code></strong>
-  <li> Ternary operator <strong><code>?:</code></strong>
-</ul>
-<p>Examples:</p>
-<pre class=prettyprint>
-<strong>android:text="&commat;{String.valueOf(index + 1)}"
-android:visibility="&commat;{age &lt; 13 ? View.GONE : View.VISIBLE}"
-android:transitionName=&apos;&commat;{"image_" + id}&apos;</strong>
-</pre>
-
-
-<h4 id=missing_operations>Missing Operations</h4>
-
-<p>A few operations are missing from the expression syntax that you can use in
-Java.</p>
-<ul>
-  <li> <strong><code>this</code></strong>
-  <li> <strong><code>super</code></strong>
-  <li> <strong><code>new</code></strong>
-  <li> Explicit generic invocation
-</ul>
-
-<h4 id=null_coalescing_operator>Null Coalescing Operator</h4>
-
-<p>The null coalescing operator (<strong><code>??</code></strong>) chooses the left operand if it is not null or the right if it is null.</p>
-<pre class=prettyprint>
-<strong>android:text="&commat;{user.displayName ?? user.lastName}"</strong>
-</pre>
-
-<p>This is functionally equivalent to:</p>
-<pre class=prettyprint>
-<strong>android:text="&commat;{user.displayName != null ? user.displayName : user.lastName}"</strong>
-</pre>
-
-
-<h4 id=property_reference>Property Reference</h4>
-
-<p>The first was already discussed in the <a href="#writing_your_first_data_binding_expressions">Writing your first data binding expressions</a> above: short form JavaBean references. When an expression references a
-property on a class, it uses the same format for fields, getters, and
-ObservableFields.</p>
-<pre class=prettyprint>
-<strong>android:text="&commat;{user.lastName}"</strong>
-</pre>
-
-
-<h4 id=collections>Collections</h4>
-
-<p>Common collections: arrays, lists, sparse lists, and maps, may be accessed
-using the <code>[]</code> operator for convenience.</p>
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="android.util.SparseArray"</strong>/>
-    &lt;<strong>import type="java.util.Map"</strong>/>
-    &lt;<strong>import type="java.util.List"</strong>/>
-    &lt;<strong>variable name="list" type="List&lt;String&gt;"</strong>/>
-    &lt;<strong>variable name="sparse" type="SparseArray&lt;String&gt;"</strong>/>
-    &lt;<strong>variable name="map" type="Map&lt;String, String&gt;"</strong>/>
-    &lt;<strong>variable name="index" type="int"</strong>/>
-    &lt;<strong>variable name="key" type="String"</strong>/>
-&lt;/<strong>data</strong>>
-…
-<strong>android:text="&commat;{list[index]}"
-</strong>…
-<strong>android:text="&commat;{sparse[index]}"
-</strong>…
-<strong>android:text="&commat;{map[key]}"
-</strong>
-</pre>
-
-
-<h4 id=string_literals>String Literals</h4>
-
-<p>When using single quotes around the attribute value, it is easy to use double
-quotes in the expression:</p>
-<pre class=prettyprint>
-<strong>android:text=&apos;&commat;{map["firstName"]}&apos;</strong>
-</pre>
-
-<p>It is also possible to use double quotes to surround the attribute value. When
-doing so, String literals should either use the &quot; or back quote (`).</p>
-<pre class=prettyprint>
-<strong>android:text="&commat;{map[`firstName`}"
-android:text="&commat;{map[&quot;firstName&quot;]}"</strong>
-</pre>
-
-
-<h4 id=resources>Resources</h4>
-
-<p>It is possible to access resources as part of expressions using the normal
-syntax:</p>
-<pre class=prettyprint>
-<strong>android:padding="&commat;{large? &commat;dimen/largePadding : &commat;dimen/smallPadding}"</strong>
-</pre>
-
-<p>Format strings and plurals may be evaluated by providing parameters:</p>
-<pre class=prettyprint>
-<strong>android:text="&commat;{&commat;string/nameFormat(firstName, lastName)}"
-android:text="&commat;{&commat;plurals/banana(bananaCount)}"</strong>
-</pre>
-
-<p>Some resources require explicit type evaluation.</p>
-
-<table>
- <tr>
-    <th>Type</th>
-    <th>Normal Reference</th>
-    <th>Expression Reference</th>
- </tr>
- <tr>
-    <td>
-<pre class=prettyprint>
-String[]</td>
-    <td>
-&commat;array</td>
-    <td>
-&commat;stringArray</td>
- </tr>
- <tr>
-    <td>
-int[]</td>
-    <td>
-&commat;array</td>
-    <td>
-&commat;intArray</td>
- </tr>
- <tr>
-    <td>
-TypedArray</td>
-    <td>
-&commat;array</td>
-    <td>
-&commat;typedArray</td>
- </tr>
- <tr>
-    <td>
-Animator</td>
-    <td>
-&commat;animator</td>
-    <td>
-&commat;animator</td>
- </tr>
- <tr>
-    <td>
-StateListAnimator</td>
-    <td>
-&commat;animator</td>
-    <td>
-&commat;stateListAnimator</td>
- </tr>
- <tr>
-    <td>
-</pre>
-
-color <code>int</code></td>
-    <td>
-<pre class=prettyprint>
-&commat;color</td>
-    <td>
-&commat;color</td>
- </tr>
- <tr>
-    <td>
-ColorStateList</td>
-    <td>
-&commat;color</td>
-    <td>
-&commat;colorStateList</td>
- </tr>
-</table>
-
-</pre>
-
-
-<h2 id="data_objects">Data Objects</h2>
-
-
-<p>Any plain old Java object (POJO) may be used for data binding, but modifying a
-POJO will not cause the UI to update. The real power of data binding can be
-used by giving your data objects the ability to notify when data changes. There
-are three different data change notification mechanisms, <code>Observable </code>objects, <code>ObservableField</code>s, and <code>observable collections</code>.</p>
-
-<p>When one of these observable data object is bound to the UI and a property of
-the data object changes, the UI will be updated automatically.</p>
-
-<h3 id=observable_objects>Observable Objects</h3>
-
-
-<p>A class implementing <code>android.databinding.Observable</code> interface will allow the binding to attach a single listener to a bound object
-to listen for changes of all properties on that object.</p>
-
-<p>The <code>Observable</code> interface has a mechanism to add and remove listeners, but notifying is up to
-the developer. To make development easier, a base class, <code>BaseObservable,</code> was created to implement the listener registration mechanism. The data class
-implementer is still responsible for notifying when the properties change. This
-is done by assigning an <code>Bindable </code>annotation to the getter and notifying in the setter.</p>
-
-<pre class=prettyprint>
-<strong>private static class </strong>User <strong>extends </strong>BaseObservable {
-   <strong>private </strong>String <strong>firstName</strong>;
-   <strong>private </strong>String <strong>lastName</strong>;
-   &commat;Bindable
-   <strong>public </strong>String getFirstName() {
-       <strong>return this</strong>.<strong>firstName</strong>;
-   }
-   &commat;Bindable
-   <strong>public </strong>String getFirstName() {
-       <strong>return this</strong>.<strong>lastName</strong>;
-   }
-   <strong>public void </strong>setFirstName(String firstName) {
-       <strong>this</strong>.<strong>firstName </strong>= firstName;
-       notifyPropertyChanged(BR.firstName);
-   }
-   <strong>public void </strong>setLastName(String lastName) {
-       <strong>this</strong>.<strong>lastName </strong>= lastName;
-       notifyPropertyChanged(BR.lastName);
-   }
-}
-</pre>
-
-<p>The <code>Bindable </code>annotation generates an entry in the BR class file during compilation. The BR
-class file will be generated in the module package.If the base class for data classes cannot be changed, the <code>Observable</code> interface may be implemented using the convenient <code>PropertyChangeRegistry</code> to store and notify listeners efficiently.</p>
-
-<h3 id=observablefields>ObservableFields</h3>
-
-<p>A little work is involved in creating Observable classes, so developers who
-want to save time or have few properties may use ObservableFields.
-ObservableFields are self-contained observable objects that have a single
-field. There are versions for all primitive types and one for reference types.
-To use, create a public final field in the data class:</p>
-<pre class=prettyprint>
-<strong>private static class </strong>User <strong>extends </strong>BaseObservable {
-   <strong>public final </strong>ObservableField&lt;String> <strong>firstName </strong>=
-       <strong>new </strong>ObservableField&lt;>();
-   <strong>public final </strong>ObservableField&lt;String> <strong>lastName </strong>=
-       <strong>new </strong>ObservableField&lt;>();
-   <strong>public final </strong>ObservableInt <strong>age </strong>= <strong>new </strong>ObservableInt();
-}
-</pre>
-
-<p>That&apos;s it! To access the value, use the set and get accessor methods:</p>
-<pre class=prettyprint>
-user.<strong>firstName</strong>.set(<strong>"Google"</strong>);
-<strong>int </strong>age = user.<strong>age</strong>.get();
-</pre>
-
-
-<h3 id=observable_collections>Observable Collections</h3>
-
-<p>Some applications use more dynamic structures to hold data. Observable
-  collections allow keyed access to these data objects.ObservableArrayMap is useful when the key is a reference type, such as String.</p>
-
-<pre class=prettyprint>
-ObservableArrayMap&lt;String, Object> user = <strong>new </strong>ObservableArrayMap&lt;>();
-user.put(<strong>"firstName"</strong>, <strong>"Google"</strong>);
-user.put(<strong>"lastName"</strong>, <strong>"Inc."</strong>);
-user.put(<strong>"age"</strong>, 17);
-</pre>
-
-In the layout, the map may be accessed through the String keys:
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="android.databinding.ObservableMap"</strong>/>
-    &lt;<strong>variable name="user" type="ObservableMap&lt;String, Object>"</strong>/>
-&lt;/<strong>data</strong>>
-…
-&lt;<strong>TextView
-   android:text=&apos;&commat;{user["lastName"]}&apos;
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-&lt;<strong>TextView
-   android:text=&apos;&commat;{String.valueOf(1 + (Integer)user["age"])}&apos;
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
-<p>ObservableArrayList is useful when the key is an integer:</p>
-<pre class=prettyprint>
-ObservableArrayList&lt;Object> user = <strong>new </strong>ObservableArrayList&lt;>();
-user.add(<strong>"Google"</strong>);
-user.add(<strong>"Inc."</strong>);
-user.add(17);
-</pre>
-
-<p>In the layout, the list may be accessed through the indices:</p>
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="android.databinding.ObservableList"</strong>/>
-    &lt;<strong>import type="com.example.my.app.Fields"</strong>/>
-    &lt;<strong>variable name="user" type="ObservableList&lt;Object>"</strong>/>
-&lt;/<strong>data</strong>>
-…
-&lt;<strong>TextView
-   android:text=&apos;&commat;{user[Fields.LAST_NAME]}&apos;
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-&lt;<strong>TextView
-   android:text=&apos;&commat;{String.valueOf(1 + (Integer)user[Fields.AGE])}&apos;
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
-
-<h2 id=generated_binding>Generated Binding</h2>
-
-<p>The generated binding class links the layout variables with the Views within
-the layout. As discussed earlier, the name and package of the Binding may be <a href="#custom_binding_class_names">customized</a>. The Generated binding classes all extend <code>android.databinding.ViewDataBinding</code>.</p>
-<h3 id=creating>Creating</h3>
-
-<p>The binding should be created soon after inflation to ensure that the View
-hierarchy is not disturbed prior to binding to the Views with expressions
-within the layout. There are a few ways to bind to a layout. The most common is
-to use the static methods on the Binding class.The inflate method inflates the View hierarchy and binds to it all it one step.
-There are versions that attach the View to its parent and that inflate without
-attaching.</p>
-<pre class=prettyprint>
-MyLayoutBinding binding = MyLayoutBinding.<em>inflate</em>(<strong>this</strong>);
-MyLayoutBinding binding = MyLayoutBinding.<em>inflate</em>(viewGroup);
-</pre>
-
-<p>If the layout was inflated using a different mechanism, it may be bound
-separately:</p>
-<pre class=prettyprint>
-MyLayoutBinding binding = MyLayoutBinding.<em>bind</em>(viewRoot);
-</pre>
-
-<p>Sometimes the binding cannot be known in advance. In such cases, the binding
-can be created using the DataBindingUtil class:</p>
-<pre class=prettyprint>
-ViewDataBinding binding = DataBindingUtil.<em>inflate</em>(context, layoutId,
-    parent, attachToParent);
-ViewDataBinding binding = DataBindingUtil.<em>bindTo</em>(viewRoot, layoutId);
-</pre>
-
-
-<h3 id=views_with_ids>Views With IDs</h3>
-
-<p>A public final field will be generated for each View with an ID in the layout.
-The binding does a single pass on the View hierarchy, extracting the Views with
-IDs. This mechanism can be faster than calling findViewById for several Views. For example:</p>
-<pre class=prettyprint>
-&lt;<strong>layout xmlns:android="http://schemas.android.com/apk/res/android"</strong>>
-   &lt;<strong>data</strong>>
-       &lt;<strong>variable name="user" type="com.example.User"</strong>/>
-   &lt;/<strong>data</strong>>
-   &lt;<strong>LinearLayout
-       android:orientation="vertical"
-       android:layout_width="match_parent"
-       android:layout_height="match_parent"</strong>>
-       &lt;<strong>TextView android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:text="&commat;{user.firstName}"
-</strong>           <strong>android:id="&commat;+id/firstName"</strong>/>
-       &lt;<strong>TextView android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:text="&commat;{user.lastName}"</strong>           <strong>android:id="&commat;+id/lastName"</strong>/>
-   &lt;/<strong>LinearLayout</strong>>
-&lt;/<strong>layout</strong>>
-</pre>
-
-Will generate a binding class with:
-<pre class=prettyprint>
-<strong>public final </strong>TextView <strong>firstName</strong>;
-<strong>public final </strong>TextView <strong>lastName</strong>;
-</pre>
-
-<p>IDs are not nearly as necessary as without data binding, but there are still
-some instances where access to Views are still necessary from code.</p>
-<h3 id=variables>Variables</h3>
-
-<p>Each variable will be given a accessor methods.</p>
-<pre class=prettyprint>
-&lt;<strong>data</strong>>
-    &lt;<strong>import type="android.graphics.drawable.Drawable"</strong>/>
-    &lt;<strong>variable name="user"  type="com.example.User"</strong>/>
-    &lt;<strong>variable name="image" type="Drawable"</strong>/>
-    &lt;<strong>variable name="note"  type="String"</strong>/>
-&lt;/<strong>data</strong>>
-</pre>
-
-<p>will generate setters and getters in the binding:</p>
-<pre class=prettyprint>
-<strong>public abstract </strong>com.example.User getUser();
-<strong>public abstract void </strong>setUser(com.example.User user);
-<strong>public abstract </strong>Drawable getImage();
-<strong>public abstract void </strong>setImage(Drawable image);
-<strong>public abstract </strong>String getNote();
-<strong>public abstract void </strong>setNote(String note);
-</pre>
-
-
-<h3 id=viewstubs>ViewStubs</h3>
-
-<p>ViewStubs are a little different from normal Views. They start off invisible
-and when they either are made visible or are explicitly told to inflate, they
-replace themselves in the layout by inflating another layout.</p>
-
-<p>Because the ViewStub essentially disappears from the View hierarchy, the View
-in the binding object must also disappear to allow collection. Because the
-Views are final, a ViewStubProxy object takes the place of the ViewStub, giving
-the developer access to the ViewStub when it exists and also access to the
-inflated View hierarchy when the ViewStub has been inflated.</p>
-
-<p>When inflating another layout, a binding must be established for the new
-layout. Therefore, the ViewStubProxy must listen to the ViewStub&apos;s
-OnInflateListener and establish the binding at that time. Since only one can
-exist, the ViewStubProxy allows the developer to set an OnInflateListener on it
-that it will call after establishing the binding.</p>
-
-<h3 id=advanced_binding>Advanced Binding</h3>
-
-
-<h4 id=dynamic_variables>Dynamic Variables</h4>
-
-<p>At times, the specific binding class won&apos;t be known. For example, a
-RecyclerView Adapter operating against arbitrary layouts won&apos;t know the
-specific binding class. It still must assign the binding value during the
-onBindViewHolder.</p>
-
-<p>In this example, all layouts that the RecyclerView binds to have an "item"
-variable. The BindingHolder has a getBinding method returning the <code>ViewDataBinding</code> base.</p>
-<pre class=prettyprint>
-<strong>public void </strong>onBindViewHolder(BindingHolder holder, <strong>int </strong>position) {
-   <strong>final </strong>T item = <strong>mItems</strong>.get(position);
-   holder.getBinding().setVariable(BR.item, item);
-   holder.getBinding().executePendingBindings();
-}
-</pre>
-
-
-<h4 id=immediate_binding>Immediate Binding</h4>
-
-<p>When a variable or observable changes, the binding will be scheduled to change
-before the next frame. There are times, however, when binding must be executed
-immediately. To force execution, use the executePendingBindings() method.</p>
-<h2 id=attribute_setters>Attribute Setters</h2>
-
-<p>Whenever a bound value changes, the generated binding class must call a setter
-method on the View with the binding expression. The data binding framework has
-ways to customize which method to call to set the value.</p>
-<h3 id=automatic_setters>Automatic Setters</h3>
-
-For an attribute, data binding tries to find the method setAttribute. The
-namespace for the attribute does not matter, only the attribute name itself.
-
-<p>For example, an expression associated with TextView&apos;s attribute <strong><code>android:text</code></strong> will look for a setText(String). If the expression returns an int, data
-binding will search for a setText(int) method. Be careful to have the
-expression return the correct type, casting if necessary.Note that data binding will work even if no attribute exists with the given
-name. You can then easily "create" attributes for any setter by using data
-binding. For example, support DrawerLayout doesn&apos;t have any attributes, but
-plenty of setters. You can use the automatic setters to use one of these.</p>
-<pre class=prettyprint>
-&lt;android.support.v4.widget.<strong>DrawerLayout
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    app:scrimColor="&commat;{&commat;color/scrim}"
-    app:drawerListener="&commat;{fragment.drawerListener}"/></strong>
-</pre>
-
-
-<h3 id=renamed_setters>Renamed Setters</h3>
-
-<p>Some attributes have setters that don&apos;t match by name. For these methods, an
-attribute may be associated with the setter through BindingMethods annotation.
-This must be associated with a class and contains BindingMethod annotations,
-one for each renamed method. For example, the <strong><code>android:tint</code></strong> attribute is really associated with setImageTintList, not setTint.</p>
-<pre class=prettyprint>
-&commat;BindingMethods({
-       &commat;BindingMethod(type = <strong>"android.widget.ImageView"</strong>,
-                      attribute = <strong>"android:tint"</strong>,
-                      method = <strong>"setImageTintList"</strong>),
-})
-</pre>
-
-<p>It is unlikely that developers will need to rename setters; the android
-framework attributes have already been implemented.</p>
-<h3 id=custom_setters>Custom Setters</h3>
-
-<p>Some attributes need custom binding logic. For example, there is no associated
-setter for the <strong><code>android:paddingLeft</code></strong> attribute. Instead, setPadding(left, top, right, bottom) exists. A static
-binding adapter method with the BindingAdapter annotation allows the developer
-to customize how a setter for an attribute is called.</p>
-
-<p>The android attributes have already had BindingAdapters created. For example,
-here is the one for paddingLeft:</p>
-<pre class=prettyprint></p>
-&commat;BindingAdapter(<strong>"android:paddingLeft"</strong>)
-<strong>public static void </strong>setPaddingLeft(View view, <strong>int </strong>padding) {
-   view.setPadding(padding,
-                   view.getPaddingTop(),
-                   view.getPaddingRight(),
-                   view.getPaddingBottom());
-}
-</pre>
-
-<p>Binding adapters are useful for other types of customization. For example, a
-  custom loader can be called off-thread to load an image.</p>
-
-<p>Developer-created binding adapters will override the data binding default
-adapters when there is a conflict.</p>
-
-<p>You can also have adapters that receive multiple parameters. </p>
-<pre class=prettyprint>
-&commat;BindingAdapter(attributes = {<strong>"bind:imageUrl"</strong>, <strong>"bind:error"</strong>})
-<strong>public static void </strong>loadImage(ImageView view, String url, Drawable error) {
-   Picasso.<em>with</em>(view.getContext()).load(url).error(error).into(view);
-}
-</pre>
-
-<p>This adapter will be called if both <strong>imageUrl </strong>and <strong>error </strong>are used for an ImageView and <em>imageUrl </em>is a string and <em>error</em> is a drawable.</p>
-<ul>
-  <li> Custom namespaces are ignore during matching.
-  <li> You can also write adapters for android namespace.
-</ul>
-
-<pre class=prettyprint>
-&lt;ImageView app:imageUrl=“&commat;{venue.imageUrl}”
-app:error=“&commat;{&commat;drawable/venueError}”/>
-</pre>
-
-
-<h2 id=converters>Converters</h2>
-
-
-<h3 id=object_conversions>Object Conversions</h3>
-
-<p>When an Object is returned from a binding expression, a setter will be chosen
-from the automatic, renamed, and custom setters. The Object will be cast to a
-parameter type of the chosen setter.</p><p>This is a convenience for those using ObservableMaps to hold data. for example:</p>
-<pre class=prettyprint>
-&lt;<strong>TextView
-   android:text=&apos;&commat;{userMap["lastName"]}&apos;
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
-<p>The userMap returns an Object and that Object will be automatically cast to
-parameter type found in the setter <code>setText(CharSequence)</code>. When there may be confusion about the parameter type, the developer will need
-to cast in the expression.</p>
-<h3 id=custom_conversions>Custom Conversions</h3>
-
-<p>Sometimes conversions should be automatic between specific types. For example,
-when setting the background:</p>
-<pre class=prettyprint>
-&lt;<strong>View
-   android:background="&commat;{isError ? &commat;color/red : &commat;color/white}"
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
-<p>Here, the background takes a <code>Drawable</code>, but the color is an integer. Whenever a <code>Drawable</code> is expected and an integer is returned, the <code>int</code> should be converted to a <code>ColorDrawable</code>. This conversion is done using a static method with a BindingConversion
-annotation:</p>
-<pre class=prettyprint>
-&commat;BindingConversion
-<strong>public static </strong>ColorDrawable convertColorToDrawable(<strong>int </strong>color) {
-   <strong>return new </strong>ColorDrawable(color);
-}
-</pre>
-
-<p>Note that conversions only happen at the setter level, so it is <strong>not allowed </strong>to mix types like this:</p>
-<pre class=prettyprint>
-&lt;<strong>View
-   android:background="&commat;{isError ? &commat;drawable/error : &commat;color/white}"
-   android:layout_width="wrap_content"
-   android:layout_height="wrap_content"</strong>/>
-</pre>
-
diff --git a/docs/html/preview/download.jd b/docs/html/preview/download.jd
index 8a67a9a..a4db82f 100644
--- a/docs/html/preview/download.jd
+++ b/docs/html/preview/download.jd
@@ -203,9 +203,9 @@
   <tr id="docs-dl">
     <td>Android M Preview<br>Developer Docs</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >m-preview-devdocs-r1.zip</a><br>
-      MD5: 5a6ae77217978cb7b958a240c2e80b57<br>
-      SHA-1: ac1d8a8e4f4a1dca5864dc733caa940bffc28616
+      >m-preview-1-developer-docs.zip</a><br>
+      MD5: b65201b0d35416f5a1b7a071b52854a7<br>
+      SHA-1: d47e856aa65e06897e6edd902ad8d2b1f05ac3ec
     </td>
   </tr>
 <table>
@@ -214,7 +214,7 @@
 <h2 id="images">Hardware System Images</h2>
 
 <p>
-  These system images allow you install a preview version of the platform on a physical device for
+  These system images allow you to install a preview version of the platform on a physical device for
   testing. By configuring a device with one of these images, you can install and test your app to
   see how it performs on the next version of the platform. The process of installing a system image
   on a device <em>removes all data from the device</em>, so you should backup your data before
@@ -238,33 +238,33 @@
   <tr id="hammerhead">
     <td>Nexus 5 (GSM/LTE) <br>"hammerhead"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >hammerhead-mpv79-preview-ac1d8a8e.tgz</a><br>
-      MD5: 5a6ae77217978cb7b958a240c2e80b57<br>
-      SHA-1: ac1d8a8e4f4a1dca5864dc733caa940bffc28616
+      >hammerhead-MPZ44Q-preview-55d76d3a.tgz</a><br>
+      MD5: 9e2631b06c6525e401ceaae3677ff320<br>
+      SHA-1: 55d76d3a379b18f3363f28d8a462c236ab96fc36
     </td>
   </tr>
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >shamu-mpv79-preview-ac1d8a8e.tgz</a><br>
-      MD5: 5a6ae77217978cb7b958a240c2e80b57<br>
-      SHA-1: ac1d8a8e4f4a1dca5864dc733caa940bffc28616
+      >shamu-MPZ44Q-preview-c1d6506a.tgz</a><br>
+      MD5: 307cbf9dab0a38df4ab2639d02be12aa<br>
+      SHA-1: c1d6506a74094bdb2f4b8677c7fe4967334f9ea8
     </td>
   </tr>
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >volantis-mpv79-preview-ac1d8a8e.tgz</a><br>
-      MD5: 5a6ae77217978cb7b958a240c2e80b57<br>
-      SHA-1: ac1d8a8e4f4a1dca5864dc733caa940bffc28616
+      >volantis-MPZ44Q-preview-d15ad483.tgz</a><br>
+      MD5: 8989ce077510a1b814d58dcdb33d160e<br>
+      SHA-1: d15ad483d0364102984411abda66a4d7b85886c0
     </td>
   </tr>
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >fugu-mpv79-preview-d0ddf8ce.tgz</a><br>
-      MD5: b293a5d3a4e07beabebcc0be85ad68a2<br>
-      SHA-1: d0ddf8ce733ba2a34279cdff8827fd604762c2342d
+      >fugu-MPZ44Q-preview-2406ba05.tgz</a><br>
+      MD5: 815902141a85cc65e7725f005cad31d5<br>
+      SHA-1: 2406ba0598dea1e69110497ac0bc8e16789bc8fb
     </td>
   </tr>
 </table>
@@ -292,7 +292,7 @@
 <h3 id="revertDevice">Revert a Device to Factory Specifications</h3>
 
 <p>
-  If you want to uninstall the Preview and revert the device to factory specifications, go to
+  If you want to uninstall the preview and revert the device to factory specifications, go to
   <a href="http://developers.google.com/android/nexus/images">developers.google.com/android</a> and
   download the image you want to flash to for your device. Follow the instructions on that page to
   flash the image to your device.
@@ -305,7 +305,7 @@
 
 
 <script>
-  var urlRoot = "http://storage.googleapis.com/androiddevelopers/preview/";
+  var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/";
   function onDownload(link) {
 
     $("#downloadForRealz").html("Download " + $(link).text());
@@ -336,9 +336,6 @@
       location.hash = "";
       return true;
     } else {
-      $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200,
-        function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)}
-      );
       return false;
     }
   }
diff --git a/docs/html/preview/features/app-linking.jd b/docs/html/preview/features/app-linking.jd
index a677b1c..5592323 100644
--- a/docs/html/preview/features/app-linking.jd
+++ b/docs/html/preview/features/app-linking.jd
@@ -1,8 +1,8 @@
 page.title=App Links
-
+page.image=images/cards/card-app-linking_2x.png
+page.keywords=applinking, deeplinks, intents
 @jd:body
 
-
 <div id="qv-wrapper">
   <div id="qv">
     <h2>In this document</h2>
@@ -17,7 +17,7 @@
 <p>
   The Android Intent system is a flexible mechanism to enable apps to handle content and requests.
   Multiple apps may declare matching URI patterns in their intent filters. When a user clicks on a
-  web link that does not have default launch handler, the platform may show a dialog for the user
+  web link that does not have a default launch handler, the platform may show a dialog for the user
   to select from a list of apps that have declared matching intent filters.
 </p>
 
@@ -99,7 +99,7 @@
 </pre>
 
 <p>
-  When the (@code android:autoVerify} attribute is present in an app manifest, the platform
+  When the {@code android:autoVerify} attribute is present in an app manifest, the platform
   attempts to verify app links when the app is installed. If the platform cannot successfully
   verify the app links, the app is not set as the preferred app to handle the web links. The next
   time a user opens one of the links, the platform falls back to presenting the user with a
diff --git a/docs/html/preview/features/runtime-permissions.jd b/docs/html/preview/features/runtime-permissions.jd
index 2ee44ef..fa7a12b 100644
--- a/docs/html/preview/features/runtime-permissions.jd
+++ b/docs/html/preview/features/runtime-permissions.jd
@@ -1,6 +1,7 @@
-page.title=Runtime Permissions
+page.title=Permissions
 page.tags=previewresources, androidm
 page.keywords=permissions, runtime, preview
+page.image=images/permissions_check.png
 @jd:body
 
 
diff --git a/docs/html/preview/images/direct-share-screen.png b/docs/html/preview/images/direct-share-screen.png
index 9e879e0..a53a33e 100644
--- a/docs/html/preview/images/direct-share-screen.png
+++ b/docs/html/preview/images/direct-share-screen.png
Binary files differ
diff --git a/docs/html/preview/images/direct-share-screen_2x.png b/docs/html/preview/images/direct-share-screen_2x.png
index 3bbfa7d..87816ff 100644
--- a/docs/html/preview/images/direct-share-screen_2x.png
+++ b/docs/html/preview/images/direct-share-screen_2x.png
Binary files differ
diff --git a/docs/html/preview/images/fingerprint-screen.png b/docs/html/preview/images/fingerprint-screen.png
index 0bb49ef..77f9982 100644
--- a/docs/html/preview/images/fingerprint-screen.png
+++ b/docs/html/preview/images/fingerprint-screen.png
Binary files differ
diff --git a/docs/html/preview/images/fingerprint-screen_2x.png b/docs/html/preview/images/fingerprint-screen_2x.png
index 25ce51a..4749bcf 100644
--- a/docs/html/preview/images/fingerprint-screen_2x.png
+++ b/docs/html/preview/images/fingerprint-screen_2x.png
Binary files differ
diff --git a/docs/html/preview/index.jd b/docs/html/preview/index.jd
index c5644cc..eb18aa6 100644
--- a/docs/html/preview/index.jd
+++ b/docs/html/preview/index.jd
@@ -1,6 +1,6 @@
 page.title=Android M Developer Preview
-page.tags="preview", 
-meta.tags="preview, M preview"
+page.tags="preview",
+meta.tags="preview, M preview", androidm
 fullpage=true
 section.landing=true
 header.hide=1
@@ -19,8 +19,8 @@
         <h1 class="dac-hero-title">Android M Developer Preview</h1>
         <p class="dac-hero-description">
           Get ready for the next version of Android. Test your apps on Nexus 5, 6, 9, and
-          Player. Explore what's new &mdash; a <strong>runtime permissions</strong> model,
-          power-saving <strong>Doze</strong> and <strong>Standby Mode</strong>, new
+          Player. Explore what's new &mdash; <strong>runtime permissions</strong>,
+          <strong>Doze</strong> and <strong>App Standby</strong> power-saving features, new
           <strong>assist technology</strong>, and more.
         </p>
 
@@ -39,32 +39,30 @@
   </div>
 </section>
 
-
-<div class="wrap dac-offset-parent">
-  <a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
-    <i class="dac-sprite dac-arrow-down-gray"></i>
-  </a>
-</div>
-
-<section class="dac-section dac-gray dac-small dac-invert" id="latest"><div class="wrap">
-  <h2 class="norule">Latest</h2>
-  <div class="resource-widget resource-flow-layout col-16"
-       data-query="type:blog+tag:androidm,type:youtube+tag:androidm"
-       data-cardSizes="6x6"
-       data-maxResults="6"
-       data-initial-results="3"</div>
-</div></section>
-
-
-<section class="dac-section dac-light"><div class="wrap">
+<section class="dac-section dac-gray"><div class="wrap">
   <h1 class="dac-section-title">Resources</h1>
   <div class="dac-section-subtitle">
     Essential information to help you get your apps ready for Android M.
   </div>
+ 
   <div class="resource-widget resource-flow-layout col-16"
-       data-query="tag:previewresources"
+       data-query="collection:preview/landing/more"
        data-cardSizes="6x6"
-       data-initial-results="6"
        data-maxResults="16"></div>
-</div></section>
+
+    <ul class="dac-section-links">
+      <li class="dac-section-link">
+        <a href="https://code.google.com/p/android-developer-preview/">
+          <span class="dac-sprite dac-auto-chevron"></span>
+          Report Issues
+        </a>
+      </li> 
+      <li class="dac-section-link"><a href="http://g.co/dev/AndroidMDevPreview">
+        <span class="dac-sprite dac-auto-chevron"></span>
+        Join G+ Community
+        </a>
+      </li>
+    </ul>
+  </div>
+</section>
 
diff --git a/docs/html/preview/overview.jd b/docs/html/preview/overview.jd
index 4c13fbc..1b8643e 100644
--- a/docs/html/preview/overview.jd
+++ b/docs/html/preview/overview.jd
@@ -43,7 +43,7 @@
       </h5>
 
       <p>
-        You  can get updates over the air, once you’ve flashed a
+        You  can get updates over-the-air, once you’ve flashed a
         device to the initial preview.
       </p>
     </div>
@@ -51,12 +51,6 @@
 
   <div class="cols">
 
-<!--<div class="col-4of12">
-<h5>Early access to new  APIs</h5>
-<p>Explore the new capabilities and APIs offered in the new platform and give us
-feedback. Note that APIs and capabilities may change during the Preview
-program.</p>
-</div>-->
 
     <div class="col-4of12">
       <h5>
@@ -82,7 +76,7 @@
 
     <div class="col-4of12">
       <h5>
-        Feedback and support channels
+        Feedback and support
       </h5>
 
       <p>
@@ -90,6 +84,7 @@
         "https://code.google.com/p/android-developer-preview/">issue tracker</a>.
         Connect with other developers in the <a
         href="http://g.co/dev/AndroidMDevPreview">M&nbsp;Developer Community</a>.
+
       </p>
     </div>
   </div>
@@ -154,7 +149,7 @@
 <p>
   As you test and develop on Android M, we strongly recommend <strong>keeping
   your development environment up-to-date</strong> as Preview updates are released.
-  To make the process easier, we'll deliver <strong>updates over the air
+  To make the process easier, we'll deliver <strong>updates over-the-air
   (OTA)</strong> to devices already flashed to a Preview build, as well as
   providing system images that you can download and flash manually.
 </p>
@@ -256,7 +251,7 @@
   </li>
 
   <li>
-    <a href="">Sample code</a> that demonstrates how support
+    <a href="">Sample code</a> that demonstrates how to support
     permissions and other new features.
   </li>
 
@@ -279,8 +274,9 @@
   <li><a href="https://code.google.com/p/android-developer-preview/">M
   Developer Preview Issue Tracker</a> is your <strong>primary feedback
   channel.</strong> You can report bugs, performance issues, and general
-  feedback through the issue tracker. You can also check for known issues
-  and find workaround steps, if available.
+  feedback through the issue tracker. You can also check for <a
+  href="https://code.google.com/p/android-developer-preview/wiki/KnownIssues">known issues</a>
+  and find workaround steps.
   </li>
 
   <li>The <a href="http://g.co/dev/AndroidMDevPreview">Android M Developer
@@ -367,4 +363,4 @@
 
 <p>
   Thank you for your participation in the Android M Developer Preview program!
-</p>
\ No newline at end of file
+</p>
diff --git a/docs/html/preview/preview_toc.cs b/docs/html/preview/preview_toc.cs
index 0a141bb..d0aa55f 100644
--- a/docs/html/preview/preview_toc.cs
+++ b/docs/html/preview/preview_toc.cs
@@ -29,11 +29,11 @@
       API Overview</a></div>
       <ul>
         <li><a href="<?cs var:toroot ?>preview/features/runtime-permissions.html">
-          Runtime Permissions</a></li>
+          Permissions</a></li>
         <li><a href="<?cs var:toroot ?>preview/features/app-linking.html">
           App Links</a></li>
         <li><a href="<?cs var:toroot ?>preview/backup/index.html">
-          Automatic Backups</a></li>
+          Auto Backup for Apps</a></li>
       </ul>
   </li>
 
diff --git a/docs/html/preview/samples.jd b/docs/html/preview/samples.jd
index 850d08c..7d47e0e 100644
--- a/docs/html/preview/samples.jd
+++ b/docs/html/preview/samples.jd
@@ -50,15 +50,6 @@
 
 <p><a href="https://github.com/googlesamples/android-AutoBackupForApps">Get it on GitHub</a></p>
 
-<h3 id="VoiceCamera">Voice Camera</h3>
-
-<p>
-  This sample demonstrates how to implement the "OK Google, take a selfie" voice command and confirm
-  the user intent with the <code>VoiceInteraction</code> API.
-</p>
-
-<p><a href="https://github.com/googlesamples/android-VoiceCamera">Get it on GitHub</a></p>
-
 <h3 id="CameraRaw">Camera 2 Raw</h3>
 
 <p>
@@ -68,7 +59,7 @@
 
 <p><a href="https://github.com/googlesamples/android-Camera2Raw">Get it on GitHub</a></p>
 
-<h3 id="ActiveNotification">Active Notifications</h3>
+<h3 id="ActiveNotification">Active Notification</h3>
 
 <p>
   This sample demonstrates how the
diff --git a/docs/html/preview/setup-sdk.jd b/docs/html/preview/setup-sdk.jd
index f0def9b..1616053 100644
--- a/docs/html/preview/setup-sdk.jd
+++ b/docs/html/preview/setup-sdk.jd
@@ -8,6 +8,7 @@
   <div id="qv">
     <h2>In this document</h2>
       <ol>
+        <li><a href="#get-as13">Get Android Studio 1.3</a></li>
         <li><a href="#get-sdk">Get the Preview SDK</a></li>
         <li><a href="#create-update">Create or Update a Project</a></li>
         <li><a href="#setup-test">Set Up for Testing</a></li>
@@ -15,26 +16,91 @@
   </div>
 </div>
 
-<p>The Preview SDK is available from the Android SDK Manager.
+<p>The M Developer Preview SDK is available from the Android SDK Manager.
 This document assumes that you are familiar with Android app development, such
 as using the Android SDK Manager and creating projects. If you are new to
 Android, see <a href="{@docRoot}training/basics/firstapp/index.html">Building Your First
 App</a> training lesson first.</a></p>
 
-<h2 id="get-sdk">Get the Preview SDK</h2>
+<h2 id="get-as13">Get Android Studio 1.3</h2>
 
-<p>To add the Android Preview SDK components to your development environment:</p>
+<p>The Developer Preview requires Android Studio 1.3, which is in
+preview status. You need
+to install the preview version of Android Studio 1.3 to work with the Preview
+SDK.</p>
+
+<p class="caution"><strong>Caution:</strong> The canary preview of Android
+Studio 1.3 is still in active development. If you are using your primary development
+machine to test the developer preview, you should create a second installation
+of Android Studio to use for testing.</p>
+
+<p>To install the Android Studio 1.3 preview:</p>
 
 <ol>
-  <li>Start the <a href="{@docRoot}tools/help/sdk-manager.html">Android SDK Manager</a>.</li>
-  <li>In the <strong>Tools</strong> section, select the latest Android <strong>SDK Tools</strong>,
-    <strong>Platform-tools</strong>, and <strong>Build-tools</strong>.</li>
-  <li>Select everything under the <strong>Android M Developer Preview</strong> section and
-    click <strong>Install packages...</strong></li>
-  <li>Accept the Licensing Agreement for all of the packages and click
-    <strong>Install</strong>.</li>
+  <li>Download and launch <a href="{@docRoot}tools/studio/index.html">Android
+  Studio</a>.
+  </li>
+
+  <li>Open the <strong>Settings</strong> window by choosing <strong>File &gt;
+  Settings</strong>. Choose the <strong>Appearance &amp; Behavior &gt; System
+  Settings &gt; Updates</strong> panel.</li>
+
+  <li> On the <strong>Updates</strong> panel, choose the option
+  <strong>Automatically check updates for: Canary Chanel</strong>.
+  </li>
+
+  <li>On the <strong>Updates</strong> panel, select <strong>Check Now</strong>
+  to check for the latest canary build. Download and install the build when you
+  are prompted.
+  </li>
 </ol>
 
+<h2 id="get-sdk">Get the Preview SDK</h2>
+
+<p>To add the Preview SDK components to your development environment:</p>
+
+<ol>
+  <li>Launch the Android Studio 1.3 preview.
+  </li>
+
+  <li>Open the <strong>Settings</strong> window by choosing <strong>File &gt;
+  Settings</strong>. Choose the <strong>Appearance &amp; Behavior &gt; System
+  Settings &gt; Updates</strong> panel.</li>
+
+  <li>On the <strong>Updates</strong> panel, choose the options
+  <strong>Automatically check updates for: Canary Chanel</strong> and
+  <strong>Automatically check updates for Android SDK: Preview Chanel</strong>.
+  </li>
+
+  <li>Click the <strong>Android SDK Manager</strong> button to launch the SDK
+  Manager. (With Android Studio 1.3, the SDK Manager is integrated into Android
+  Studio instead of being a standalone application.)
+  </li>
+
+  <li>Under the <strong>Platforms</strong> section, select <strong>Android MNC
+  Preview</strong>.
+  </li>
+
+  <li>In the <strong>Tools</strong> section, select the latest Android <strong>
+    SDK Tools</strong>, <strong>Platform-tools</strong>, and
+    <strong>Build-tools</strong>.
+  </li>
+
+  <li>Click <strong>Install packages</strong> and accept the licensing
+    agreement for all of the packages.
+  </li>
+
+  <li>Verify that the M Developer Preview is installed by opening the <strong>
+    Settings</strong> window and choosing the <strong>Appearance &amp; Behavior
+    &gt; System Settings &gt; Android SDK</strong> panel.</li>
+
+  <li>On the <strong>Android SDK</strong> panel, choose
+    the <strong>SDK Platforms</strong> tab. <strong>Android MNC
+    Preview</strong> should be listed as <em>Installed</em>. Also, open the
+    <strong>SDK Tools</strong> tab to verify that the latest tools are
+    installed.
+  </li>
+</ol>
 <p>After completing these steps, the preview components are available in your development
   environment. </p>
 
@@ -50,7 +116,7 @@
 <h3 id="create">Create a new project</h3>
 
 <p>
-  We recommend using Android Studio for create a project with the preview. Follow the steps
+  We recommend using Android Studio to create a project with the preview. Follow the steps
   described in <a href="{@docRoot}sdk/installing/create-project.html">Creating a Project</a>
   until you arrive at the <em>Form Factors</em> screen in the project wizard. Then perform
   the following steps to create a project configured for the preview.
@@ -66,7 +132,7 @@
 
 <p>
   For existing projects, you must modify the project configuration to enable the preview APIs. In
-  your the development environment, open the <code>build.gradle</code> file for your module and
+  your development environment, open the <code>build.gradle</code> file for your module and
   set these values as follows:
 </p>
 
@@ -80,7 +146,7 @@
 <h2 id="setup-test">Set Up for Testing</h2>
 
 <p>
-  Testing app with the preview requires that you have a device or virtual device configured with
+  Testing an app with the preview requires that you have a device or virtual device configured with
   the preview version of the platform. If you have a compatible device, you can install the preview
   platform for testing. Otherwise, you can configure a virtual device for testing.
 </p>
@@ -88,9 +154,9 @@
 <h3 id="setup-device">Set up a Physical Device</h3>
 
 <p>
-  If you have a Nexus 5, Nexus 6, Nexus 9, or Nexus Player, you can install a preview
+  If you have a Nexus 5, Nexus 6, Nexus 9, or Android TV, you can install a preview
   system image on these devices for testing your app.
-  You can set up virtual device with the preview version of the platform from within Android Studio
+  You can set up a virtual device with the preview version of the platform from within Android Studio
   using the Android Virtual Device Manager tool.
 </p>
 
@@ -109,7 +175,7 @@
 <p>To create an AVD with the AVD Manager:</p>
 
 <ol>
-  <li>Install the M Preview SDK in your development environment, as described
+  <li>Install the Preview SDK in your development environment, as described
       in <a href="{@docRoot}preview/setup-sdk.html">Setting Up the Preview
       SDK.</a></li>
   <li>Follow the steps in
diff --git a/docs/html/preview/support.jd b/docs/html/preview/support.jd
index 3ed1487..dd9736a 100644
--- a/docs/html/preview/support.jd
+++ b/docs/html/preview/support.jd
@@ -11,7 +11,7 @@
 
 <p>
   For more support, join the
-  <a href="https://plus.google.com/communities/101985907812750684586">M Developer
+  <a href="http://g.co/dev/AndroidMDevPreview">M Developer
   Preview Google+ community</a> to discuss your development experiences.
 </p>
 
diff --git a/docs/html/preview/testing/guide.jd b/docs/html/preview/testing/guide.jd
index 1879268..0591465 100644
--- a/docs/html/preview/testing/guide.jd
+++ b/docs/html/preview/testing/guide.jd
@@ -1,5 +1,6 @@
 page.title=Testing Guide
-page.image=images/cards/card-set-up_16-9_2x.png
+page.image=images/cards/card-build_16x9_2x.png
+page.keywords=previewresources,androidm,testing,permissions
 
 @jd:body
 
@@ -7,8 +8,9 @@
   <div id="qv">
     <h2>In this document</h2>
       <ol>
-        <li><a href="#runtime-permissions">Testing Runtime Permissions</a></li>
+        <li><a href="#runtime-permissions">Testing Permissions</a></li>
         <li><a href="#doze-standby">Testing Doze and App Standby</a></li>
+        <li><a href="#ids">Auto Backup and Device Identifiers</a></li>
       </ol>
   </div>
 </div>
@@ -29,10 +31,11 @@
 </p>
 
 <ul>
-  <li><a href="#runtime-permissions">Runtime Permissions</a>
+  <li><a href="#runtime-permissions">Permissions</a>
   </li>
   <li><a href="#doze-mode">Doze and App Standby</a>
   </li>
+  <li><a href="#ids">Auto Backup and Device Identifiers</a></li>
 </ul>
 
 <p>
@@ -41,10 +44,10 @@
 </p>
 
 
-<h2 id="runtime-permissions">Testing Runtime Permissions</h2>
+<h2 id="runtime-permissions">Testing Permissions</h2>
 
 <p>
-  The <a href="{@docRoot}preview/features/runtime-permissions.html">Runtime Permissions</a> feature
+  The new <a href="{@docRoot}preview/features/runtime-permissions.html">Permissions</a> model
   changes the way that permissions are allocated to your app by the user. Instead of granting all
   permissions during the install procedure, your app must ask the user for individual permissions
   at runtime. For users this behavior provides more granular control over each app’s activities, as
@@ -55,7 +58,7 @@
 </p>
 
 <p>
-  This change that affects all apps running on the new platform, even those not targeting the new
+  This change affects all apps running on the new platform, even those not targeting the new
   platform version. The platform provides a limited compatibility behavior for legacy apps, but you
   should begin planning your app’s migration to the new permissions model now, with a goal of
   publishing an updated version of your app at the official platform launch.
@@ -89,7 +92,7 @@
 <h3 id="permission-test-strategy">Test strategy</h3>
 
 <p>
-  The Runtime Permissions change affects the structure and design of your app, as well as
+  The permissions change affects the structure and design of your app, as well as
   the user experience and flows you provide to users. You should assess your app’s current
   permissions use and start planning for the new flows you want to offer. The official release of
   the platform provides compatibility behavior, but you should plan on updating your app and not
@@ -112,8 +115,8 @@
 </p>
 
 <p>
-  For more information on the behavior of Runtime Permissions, testing, and best practices, see the
-  <a href="{@docRoot}preview/features/runtime-permissions.html">Runtime Permissions</a> developer
+  For more information on the behavior of runtime permissions, testing, and best practices, see the
+  <a href="{@docRoot}preview/features/runtime-permissions.html">Permissions</a> developer
   preview page.
 </p>
 
@@ -121,7 +124,7 @@
 <h2 id="doze-standby">Testing Doze and App Standby</h2>
 
 <p>
-  The power saving features of Doze and App Standby limits the amount of background processing that
+  The power saving features of Doze and App Standby limit the amount of background processing that
   your app can perform when a device is in an idle state or while your app is not in focus. The
   restrictions the system may impose on apps include limited or no network access,
   suspended background tasks, suspended Notifications, ignored wake requests, and alarms. To ensure
@@ -174,3 +177,11 @@
     from standby mode. In particular, you should check if your app's Notifications and background
     jobs continue to function as expected.</li>
 </ol>
+
+<h2 id="ids">Auto Backup for Apps and Device-Specific Identifiers</h2>
+
+<p>If your app is persisting any device-specific identifiers, such as Google
+Cloud Messaging registration ID, in internal storage,
+make sure to follow best practices to exclude the storage
+location from auto-backup, as described in <a href="{@docRoot}preview/backup/index.html">Auto
+Backup for Apps</a>. </p>
diff --git a/docs/html/preview/testing/performance.jd b/docs/html/preview/testing/performance.jd
index a61091f..4ac5a90 100644
--- a/docs/html/preview/testing/performance.jd
+++ b/docs/html/preview/testing/performance.jd
@@ -1,4 +1,6 @@
 page.title=Testing Display Performance
+page.image=images/cards/card-test-performance_2x.png
+page.keywords=performance, fps, tools
 
 @jd:body
 
diff --git a/docs/html/samples/system.jd b/docs/html/samples/system.jd
new file mode 100644
index 0000000..618673d
--- /dev/null
+++ b/docs/html/samples/system.jd
@@ -0,0 +1,11 @@
+page.title=System
+@jd:body
+
+
+<div id="samples" class="system">
+</div>
+
+
+<script>
+  $(document).ready(showSamples);
+</script>
diff --git a/docs/html/tools/data-binding/guide.jd b/docs/html/tools/data-binding/guide.jd
index 6a933d8..71409e4 100644
--- a/docs/html/tools/data-binding/guide.jd
+++ b/docs/html/tools/data-binding/guide.jd
@@ -26,16 +26,16 @@
         <a href="#data_binding_layout_files">Data Binding Layout Files</a>
         <ol>
           <li>
-            <a href="writing_expressions">Writing your first data binding
+            <a href="#writing_expressions">Writing your first data binding
             expressions</a>
           </li>
 
           <li>
-            <a href="data_object">Data Object</a>
+            <a href="#data_object">Data Object</a>
           </li>
 
           <li>
-            <a href="binding_data">Binding Data</a>
+            <a href="#binding_data">Binding Data</a>
           </li>
         </ol>
       </li>
@@ -44,23 +44,23 @@
         <a href="#layout_details">Layout Details</a>
         <ol>
           <li>
-            <a href="imports">Imports</a>
+            <a href="#imports">Imports</a>
           </li>
 
           <li>
-            <a href="variables">Variables</a>
+            <a href="#variables">Variables</a>
           </li>
 
           <li>
-            <a href="custom_binding_class_names">Custom Binding Class Names</a>
+            <a href="#custom_binding_class_names">Custom Binding Class Names</a>
           </li>
 
           <li>
-            <a href="includes">Includes</a>
+            <a href="#includes">Includes</a>
           </li>
 
           <li>
-            <a href="expression_language">Expression Language</a>
+            <a href="#expression_language">Expression Language</a>
           </li>
         </ol>
       </li>
@@ -69,15 +69,15 @@
         <a href="#data_objects">Data Objects</a>
         <ol>
           <li>
-            <a href="observable_objects">Observable Objects</a>
+            <a href="#observable_objects">Observable Objects</a>
           </li>
 
           <li>
-            <a href="observablefields">ObservableFields</a>
+            <a href="#observablefields">ObservableFields</a>
           </li>
 
           <li>
-            <a href="observable_collections">Observable Collections</a>
+            <a href="#observable_collections">Observable Collections</a>
           </li>
         </ol>
       </li>
@@ -86,23 +86,23 @@
         <a href="#generated_binding">Generated Binding</a>
         <ol>
           <li>
-            <a href="creating">Creating</a>
+            <a href="#creating">Creating</a>
           </li>
 
           <li>
-            <a href="views_with_ids">Views With IDs</a>
+            <a href="#views_with_ids">Views With IDs</a>
           </li>
 
           <li>
-            <a href="variables">Variables</a>
+            <a href="#variables">Variables</a>
           </li>
 
           <li>
-            <a href="viewstubs">ViewStubs</a>
+            <a href="#viewstubs">ViewStubs</a>
           </li>
 
           <li>
-            <a href="advanced_binding">Advanced Binding</a>
+            <a href="#advanced_binding">Advanced Binding</a>
           </li>
         </ol>
       </li>
@@ -111,15 +111,15 @@
         <a href="#attribute_setters">Attribute Setters</a>
         <ol>
           <li>
-            <a href="automatic_setters">Automatic Setters</a>
+            <a href="#automatic_setters">Automatic Setters</a>
           </li>
 
           <li>
-            <a href="renamed_setters">Renamed Setters</a>
+            <a href="#renamed_setters">Renamed Setters</a>
           </li>
 
           <li>
-            <a href="custom_setters">Custom Setters</a>
+            <a href="#custom_setters">Custom Setters</a>
           </li>
         </ol>
       </li>
@@ -128,11 +128,11 @@
         <a href="#converters">Converters</a>
         <ol>
           <li>
-            <a href="object_conversions">Object Conversions</a>
+            <a href="#object_conversions">Object Conversions</a>
           </li>
 
           <li>
-            <a href="custom_conversions">Custom Conversions</a>
+            <a href="#custom_conversions">Custom Conversions</a>
           </li>
         </ol>
       </li>
diff --git a/docs/html/tools/data-binding/index.jd b/docs/html/tools/data-binding/index.jd
deleted file mode 100644
index 4ad11b6..0000000
--- a/docs/html/tools/data-binding/index.jd
+++ /dev/null
@@ -1,18 +0,0 @@
-page.title=Android Data Binding Library
-page.metaDescription=
-
-@jd:body
-
-<p>
-  Some text here.
-</p>
-
-
-
-<!--  <h2>Related Resources</h2>
-  <div class="resource-widget resource-flow-layout col-16"
-    data-query="tag:engagement"
-    data-sortOrder="random"
-    data-cardSizes="6x2"
-    data-maxResults="3">
-  </div> -->
diff --git a/docs/html/tools/support-library/index.jd b/docs/html/tools/support-library/index.jd
index cc023ba..5688d8a 100644
--- a/docs/html/tools/support-library/index.jd
+++ b/docs/html/tools/support-library/index.jd
@@ -59,9 +59,9 @@
 <p>This section provides details about the Support Library package releases.</p>
 
 
-<div class="toggle-content open">
+<div class="toggle-content opened">
   <p id="rev21"><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/triangle-open.png" class="toggle-content-img" alt=""
+    <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img" alt=""
 />Android Support Library, revision 22.2.0</a> <em>(May 2015)</em>
   </p>
   <div class="toggle-content-toggleme">
diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs
index f46dcaa..9951330 100644
--- a/docs/html/tools/tools_toc.cs
+++ b/docs/html/tools/tools_toc.cs
@@ -295,11 +295,8 @@
   </li><!-- end of support library -->
 
   <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/data-binding/index.html"><span
+    <div class="nav-section-header empty"><a href="<?cs var:toroot ?>tools/data-binding/guide.html"><span
 class="en">Data Binding Library</span></a></div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>tools/data-binding/guide.html">Guide</a></li>
-    </ul>
   </li><!-- end of support library -->
 
 
diff --git a/docs/html/training/index.jd b/docs/html/training/index.jd
index 3e0d593..1b0b1fe 100644
--- a/docs/html/training/index.jd
+++ b/docs/html/training/index.jd
@@ -37,6 +37,6 @@
        data-query="collection:develop/landing/courses"
        data-sortOrder="random"
        data-cardSizes="6x6"
-       data-maxResults="9"
+       data-maxResults="12"
        data-initial-results="3"></div>
 </div>
\ No newline at end of file
