Merge "docs: Remove broken image link from samples." into mnc-preview-docs
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