diff --git a/docs/html/auto/index.jd b/docs/html/auto/index.jd
index d113a7d..a0f01e6 100644
--- a/docs/html/auto/index.jd
+++ b/docs/html/auto/index.jd
@@ -3,6 +3,7 @@
 fullpage=true
 no_footer_links=true
 page.type=about
+page.image=/auto/images/hero.jpg
 
 @jd:body
 
diff --git a/docs/html/design/auto/images/auto-overview.png b/docs/html/design/auto/images/auto-overview.png
new file mode 100644
index 0000000..cc6db08
--- /dev/null
+++ b/docs/html/design/auto/images/auto-overview.png
Binary files differ
diff --git a/docs/html/design/auto/index.jd b/docs/html/design/auto/index.jd
index e45bd36..06f8592 100644
--- a/docs/html/design/auto/index.jd
+++ b/docs/html/design/auto/index.jd
@@ -13,8 +13,8 @@
 <div class="sidebox">
   <h2><strong>UI Guidelines</strong></h2>
   <ul>
-  <li><a href="{@docRoot}shareables/auto/AndroidAuto-media-apps.pdf">
-    <strong>Auto Media Apps (PDF)</strong></a>
+  <li><a href="{@docRoot}shareables/auto/AndroidAuto-audio-apps.pdf">
+    <strong>Auto Audio Apps (PDF)</strong></a>
   </li>
   <li><a href="{@docRoot}shareables/auto/AndroidAuto-messaging-apps.pdf">
     <strong>Auto Messaging Apps (PDF)</strong></a>
diff --git a/docs/html/distribute/essentials/quality/auto.jd b/docs/html/distribute/essentials/quality/auto.jd
index 757305e..db0f20a 100644
--- a/docs/html/distribute/essentials/quality/auto.jd
+++ b/docs/html/distribute/essentials/quality/auto.jd
@@ -19,8 +19,8 @@
       Core App Quality</a></li>
     <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">
       Optimize Your App</a></li>
-    <li><a href="{@docRoot}shareables/auto/AndroidAuto-media-apps.pdf">Android Auto UX Guidelines
-      for Media Applications</a></li>
+    <li><a href="{@docRoot}shareables/auto/AndroidAuto-audio-apps.pdf">Android Auto UX Guidelines
+      for Audio Applications</a></li>
     <li><a href="{@docRoot}shareables/auto/AndroidAuto-messaging-apps.pdf">Android Auto UX Guidelines
       for Messaging Applications</a></li>
   </ol>
@@ -43,8 +43,8 @@
 </p>
 
 <p class="caution">
-  <strong>Important:</strong> The criteria listed in this page apply to your app's user interface 
-  and behavior when running on devices connected to an Android Auto screen. Apps must meet these 
+  <strong>Important:</strong> The criteria listed in this page apply to your app's user interface
+  and behavior when running on devices connected to an Android Auto screen. Apps must meet these
   criteria to qualify as an Android Auto app on Google Play.
 </p>
 
@@ -94,7 +94,7 @@
 </tr>
 
 <tr>
-  <td rowspan="4" id="safety">
+  <td rowspan="5" id="safety">
     Driver Attention
   </td>
 
@@ -127,9 +127,9 @@
   </td>
   <td>
     <p style="margin-bottom:.5em;">
-    App elements do not display any images on the Auto screen. Exceptions include: app may display 
+    App elements do not display any images on the Auto screen. Exceptions include: app may display
     a single static image for
-    content context in the background of the consumption screen, such as album art, and app may 
+    content context in the background of the consumption screen, such as album art, and app may
     display icons in the content navigation drawer.
     </p>
   </td>
@@ -146,14 +146,25 @@
   </td>
 </tr>
 
+<tr>
+  <td id="AU-VI">
+    AU-VI
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App never presents any form of visual information (notifications, toasts, video, images,
+    advertising, etc.) on the phone screen while the app is active in Android Auto.
+    </p>
+  </td>
+</tr>
+
 
 
 <tr>
-  <td rowspan="4" id="layout">
+  <td rowspan="3" id="layout">
     Layout
   </td>
 
-<tr>
   <td id="AU-SC">
     AU-SC
   </td>
@@ -188,20 +199,57 @@
 </tr>
 
 <tr>
-  <td id="contrast">
+  <td rowspan="4" id="contrast">
     Visual Contrast
   </td>
 
+  <td id="AU-DM">
+    AU-DM
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+     App supports day mode, which renders dark text and controls on a light background.
+     (<a href="{@docRoot}shareables/auto/AndroidAuto-custom-colors.pdf">Learn How</a>)
+    </p>
+  </td>
+</tr>
+
+<tr>
   <td id="AU-NM">
     AU-NM
   </td>
   <td>
     <p style="margin-bottom:.5em;">
-     App supports night mode, rendering light text and controls on a dark background.
+     App supports night mode, which renders light text and controls on a dark background.
+     (<a href="{@docRoot}shareables/auto/AndroidAuto-custom-colors.pdf">Learn How</a>)
     </p>
   </td>
 </tr>
 
+<tr>
+  <td id="AU-WI">
+    AU-WI
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+     App provides white icon sets that the system colorizes to provide automatic
+     contrast compensation.
+     (<a href="{@docRoot}shareables/auto/AndroidAuto-custom-colors.pdf">Learn How</a>)
+    </p>
+  </td>
+</tr>
+
+<tr>
+  <td id="AU-OC">
+    AU-OC
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+     App provides colors that the system can optimize for easy in-vehicle readability.
+     (<a href="{@docRoot}shareables/auto/AndroidAuto-custom-colors.pdf">Learn How</a>)
+    </p>
+  </td>
+</tr>
 
 <tr>
   <td rowspan="2" id="interaction">
@@ -269,10 +317,32 @@
 </tr>
 
 <tr>
-  <td rowspan="2" id="general">
+  <td rowspan="5" id="general">
    General
   </td>
 
+  <td id="AU-LT">
+    AU-LT
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+     App loads in no more than 10 seconds.
+    </p>
+  </td>
+</tr>
+
+<tr>
+  <td id="AU-FP">
+    AU-FP
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+     Auto app functionality works as expected or described in the app's Google Play Store listing.
+    </p>
+  </td>
+</tr>
+
+<tr>
   <td id="AU-RL">
     AU-RL
   </td>
@@ -284,8 +354,7 @@
   </td>
 </tr>
 
-
-</tr>
+<tr>
   <td id="AU-SS">
     AU-SS
   </td>
@@ -296,6 +365,17 @@
   </td>
 </tr>
 
+<tr>
+  <td id="AU-GO">
+    AU-GO
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+     Any app button which is non-functional or disabled must be grayed out.
+    </p>
+  </td>
+</tr>
+
 
 <tr>
   <td rowspan="2" id="media">
@@ -309,9 +389,8 @@
   <td>
     <p style="margin-bottom:.5em;">
      App has no more than four primary actions plus one optional action overflow toggle (or five if
-     no action overflow is used). For more information, see details on the media control card in the
-     <a href="{@docRoot}shareables/auto/AndroidAuto-media-apps.pdf">Android Auto UX Guidelines
-      for Media Applications</a>.
+     no action overflow is used).
+     (<a href="{@docRoot}shareables/auto/AndroidAuto-audio-apps.pdf">Learn How</a>)
     </p>
   </td>
 </tr>
@@ -322,10 +401,8 @@
   </td>
   <td>
     <p style="margin-bottom:.5em;">
-     App has no more than four optional secondary actions plus one action overflow toggle. For more
-     information, see details on the media control card in the
-     <a href="{@docRoot}shareables/auto/AndroidAuto-media-apps.pdf">Android Auto UX Guidelines
-      for Media Applications</a>.
+     App has no more than four optional secondary actions plus one action overflow toggle.
+     (<a href="{@docRoot}shareables/auto/AndroidAuto-audio-apps.pdf">Learn How</a>)
     </p>
   </td>
 </tr>
@@ -401,11 +478,11 @@
   review, and will not be
   available for distribution until the app is approved. Because this is the same APK as
   for phones and tablets, your Play Store updates for those devices will not be available until the
-  Auto approval process is complete.  
+  Auto approval process is complete.
 </p>
 
 <p class="caution">
   <strong>Important:</strong> Due to this restriction, you should not use your production APK
-  for Auto support prototyping. 
+  for Auto support prototyping.
 </p>
 
diff --git a/docs/html/distribute/googleplay/auto.jd b/docs/html/distribute/googleplay/auto.jd
new file mode 100644
index 0000000..af24a54
--- /dev/null
+++ b/docs/html/distribute/googleplay/auto.jd
@@ -0,0 +1,237 @@
+page.title=Distributing to Android Auto
+page.image=/design/auto/images/auto-overview.png
+meta.tags="auto", "publish", "quality"
+page.tags="auto", "publish", "googleplay"
+page.metaDescription=Distribute your apps and content to Android Auto.
+
+@jd:body
+
+<div id="qv-wrapper"><div id="qv">
+<h2>How to Participate</h2>
+<ol>
+<li><a href="#understand_guidelines">Understand the guidelines</a></li>
+<li><a href="#develop_app">Develop a great app for Auto</a></li>
+<li><a href="#test_app">Test for Auto App Quality</a></li>
+<li><a href="#opt_in">Agree to terms</a></li>
+<li><a href="#track_review">Track your review</a></li>
+</ol>
+
+<h2>You Should Also Read</h2>
+<ol>
+<li><a href="{@docRoot}distribute/essentials/quality/auto.html">Auto App Quality</a></li>
+</ol>
+
+</div></div>
+
+<p>
+  If you've got a great app, Android Auto and Google Play can help you
+  bring it to users right in their vehicles. You can
+  extend your new or existing apps for Auto and then publish them using familiar
+  tools and processes in Google Play.
+</p>
+
+<p>
+  To get started, review the sections in this document to learn how to
+  distribute your Auto apps to users through Google Play. Be sure to read
+  <a href="{@docRoot}distribute/essentials/quality/auto.html">Auto App Quality</a>
+  for information on the usability, quality, and safety-related guidelines that your apps should
+  meet. When your app is ready, you can accept the terms in the Developer Console and upload your
+  APK for review.
+</p>
+
+<h2 id="how_to_participate">
+  How to Participate
+</h2>
+
+<p>
+  Google Play lets you deliver apps for use in vehicles. You can develop and publish using your
+  existing Developer Console account and your current distribution and pricing settings. It's easy
+  to participate — the sections below outline the process.
+</p>
+
+<div style="float:right;margin:1em 0 1.5em 2em;">
+  <img src="{@docRoot}images/gp-auto-process.png">
+</div>
+
+<h3 id="understand_guidelines">
+  1. Understand guidelines and requirements
+</h3>
+
+<p>
+  To prepare for a successful launch on Android Auto, start by reviewing the
+  guidelines for creating great experiences on Auto. See the <a href=
+  "{@docRoot}design/auto/index.html">Android Auto design guidelines</a> for ideas
+  on extending your app for Auto and details on design and usability.
+</p>
+
+<p>
+  As you get started designing your Auto experience, make sure to read and
+  understand the quality criteria for Auto apps. Only apps that are usable on Auto
+  will be designated as Auto apps on Google Play &mdash; your apps can participate
+  if they meet a set of basic quality criteria. See
+  <a href="{@docRoot}distribute/essentials/quality/auto.html">Auto
+  App Quality</a> for details.
+</p>
+
+<h3 id="develop_app">2. Develop a great app for Auto</h3>
+
+<p>
+  A great app for Auto is designed for vehicle use and takes advantage of the
+  capabilities of Android Auto. The app offers a high-quality experience while the user is on the
+  go such as providing playback for audio content or accessing messages.
+</p>
+
+<p>
+  As you consider your Auto app, review the <a href=
+  "{@docRoot}training/auto/start/index.html">developer documentation</a> and
+  usability guidelines and plan on supporting them to the greatest extent
+  possible. Make sure to design a great experience and adhere to our guidelines for preventing
+  driver distraction.
+</p>
+
+<p>
+  You must deliver your Auto experience as part of your existing app for phones, tablets, and other
+  devices, using the same package name and store listing.
+</p>
+
+<h3 id="test_app">3. Test for Auto App Quality</h3>
+
+<p>
+  Your Auto apps should be designed to perform well, look great in the car,
+  and offer the best user experience possible. Google Play will showcase selected high-quality
+  Auto apps for easy discovery by users in Google Play. Here’s how you
+  can participate and deliver an Android Auto app that users will enjoy:
+</p>
+
+<ul>
+  <li>Meet <a href="{@docRoot}distribute/essentials/quality/auto.html">Auto App
+  Quality</a> guidelines
+    <ul>
+      <li>Follow our best practices for <a href="{@docRoot}training/auto/index.html">
+      Auto app development</a></li>
+      <li>Make sure your app meets all of the <a href=
+      "{@docRoot}distribute/essentials/quality/auto.html">Auto App Quality</a> criteria</li>
+    </ul>
+  </li>
+</ul>
+
+<h3 id="opt_in">4. Agree to Android Auto terms and publish</h3>
+
+<p>
+  Before you can upload your APK and publish the app for review, the developer account owner
+  must agree to the
+  <a href="https://play.google.com/about/auto/developer-distribution-agreement-addendum.html">Android
+  Auto terms</a> from the <strong>Pricing and Distribution</strong> section of the
+  Developer Console. Agreeing to the terms means that you want your app to be made available
+  to Android Auto users through Google Play, and that
+  your app meets <a href="{@docRoot}distribute/essentials/quality/auto.html">Auto
+  App Quality</a> guidelines.
+</p>
+
+<p>
+  Your Auto app can be uploaded only after you have agreed to the terms. The following describes
+  which apps are determined to be Auto apps:
+</p>
+
+<ul>
+  <li>Your app manifest must declare the <code>com.google.android.gms.car.application</code>
+  metadata entry in the manifest with auto capabilities that the app uses. For more information
+  about configuring your app for use with Android Auto, see
+  <a href="{@docRoot}training/auto/start/index.html#auto-metadata">Getting Started with Auto</a>.
+  </li>
+</ul>
+
+<p>
+  When you've built your release-ready APK and tested to ensure that it meets
+  all of the <a href="{@docRoot}distribute/essentials/quality/auto.html">Auto App
+  Quality</a> guidelines, upload it to the Developer Console. Update your store
+  listing with any additional Auto functionality information, and set distribution options as
+  needed. If you aren't familiar with how to prepare for launch on Google Play,
+  see the <a href=
+  "{@docRoot}distribute/googleplay/publish/preparing.html">Launch
+  Checklist.</a>
+</p>
+
+<p>
+  After you agree to the terms and save the changes, you can upload and publish your app as usual.
+  Before making the app available to Android Auto users, Google Play submits
+  your app for review against the <a href=
+  "{@docRoot}distribute/essentials/quality/auto.html">Auto App Quality</a> criteria
+  and notifies you of the result. If your app is approved, Google Play makes that app
+  available to Android Auto users. See the next section for details on how to track the approval
+  status of your app.
+</p>
+
+<p>
+  Note that the review affects the availability of your app to other devices in
+  Google Play Store &mdash; on phones and tablets, for example.
+  If you have an existing app that includes updates to the phone/tablet component,
+  the Android Auto component must pass review before the updated app
+  is made available on the Google Play Store.
+</p>
+
+<p>
+  Here are the steps to agree to Android Auto terms in the Developer Console:
+</p>
+
+<ol>
+  <li>Make sure your app meets all <a href=
+  "{@docRoot}distribute/essentials/quality/auto.html">Auto App Quality</a> criteria
+  </li>
+
+  <li>In the <strong>All Applications</strong> page, click the app you want to publish.
+  </li>
+
+  <li>Under <strong>Pricing and Distribution</strong>, scroll down to find <em>Android Auto</em> and the
+  link to the terms.
+  </li>
+
+  <li>Click the <em>terms</em> link.
+  </li>
+
+  <li>Read through the terms and click <em>Agree</em>.
+  </li>
+</ol>
+
+<div style="padding-top:1em">
+  <img style="border:2px solid #ddd;" src="{@docRoot}images/gp-auto-opt-in.png">
+  <p class="caption">
+    <strong>Agree to terms for Auto:</strong> Include your app in Android Auto by agreeing to the
+    terms from the Developer Console.
+  </p>
+</div>
+
+<h3 id="track_review">5. Track your review</h3>
+
+<p>
+  Your app will be reviewed for compliance with driver distraction guidelines and the
+  technical and quality criteria described above. This detailed review process may take
+  more time than you are accustomed to when submitting phone/tablet apps.
+  Until your app is approved, your app or app update won’t be published to the Google Play Store.
+  After a successful review, your app will be published and made available on the Google Play
+  Store.
+</p>
+
+<p>If your app is not accepted, you’ll receive a <strong>notification email sent to your
+  developer account address</strong>, with a summary of the areas that you need to address. When
+  you’ve made the necessary adjustments, you can upload a new version of your app to the Developer
+  Console.
+</p>
+
+<p>
+  Note that if the submitted app is an update to an existing app and your updated app does not meet
+  the review criteria, the update is rejected and the existing app remains published in the Google
+  Play Store.
+</p>
+
+<p>To understand how your apps are evaluated, please see the <a href=
+"{@docRoot}distribute/essentials/quality/auto.html">Auto App Quality</a> document. </p>
+
+
+  <h3>Related resources</h3>
+
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="collection:autolanding"
+    data-cardSizes="9x6, 6x3x2"
+    data-maxResults="6">
+  </div>
diff --git a/docs/html/distribute/googleplay/googleplay_toc.cs b/docs/html/distribute/googleplay/googleplay_toc.cs
index 3f4dbac..594d6d6 100644
--- a/docs/html/distribute/googleplay/googleplay_toc.cs
+++ b/docs/html/distribute/googleplay/googleplay_toc.cs
@@ -24,6 +24,12 @@
     </div>
   </li>
   <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/auto.html">
+          <span class="en">Distributing to <span style="white-space:nowrap">Android Auto</span></span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
     <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/tv.html">
           <span class="en">Distributing to <span style="white-space:nowrap">Android TV</span></span>
         </a>
diff --git a/docs/html/images/gp-auto-opt-in.png b/docs/html/images/gp-auto-opt-in.png
new file mode 100644
index 0000000..938a63c
--- /dev/null
+++ b/docs/html/images/gp-auto-opt-in.png
Binary files differ
diff --git a/docs/html/images/gp-auto-process.png b/docs/html/images/gp-auto-process.png
new file mode 100644
index 0000000..c1fd6e6
--- /dev/null
+++ b/docs/html/images/gp-auto-process.png
Binary files differ
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
index 127134f..ef021a6 100644
--- a/docs/html/jd_collections.js
+++ b/docs/html/jd_collections.js
@@ -84,7 +84,7 @@
   },
   "distribute/gp/gpfelanding": {
     "resources": [
-      "distribute/googleplay/guide.html",
+      "distribute/googleplay/auto.html",
       "distribute/googleplay/tv.html",
       "distribute/googleplay/wear.html",
       "distribute/googleplay/edu/about.html"
@@ -1074,6 +1074,14 @@
       "https://support.google.com/googleplay/answer/2651410"
     ]
   },
+  "autolanding": {
+    "title": "",
+    "resources": [
+      "auto/index.html",
+      "design/auto/index.html",
+      "training/auto/index.html"
+    ]
+  },
   "tvlanding": {
     "title": "",
     "resources": [
@@ -1099,7 +1107,7 @@
   "design/auto/auto_ui_guidelines": {
     "title": "",
     "resources": [
-      "shareables/auto/AndroidAuto-media-apps.pdf",
+      "shareables/auto/AndroidAuto-audio-apps.pdf",
       "shareables/auto/AndroidAuto-messaging-apps.pdf",
       "shareables/auto/AndroidAuto-custom-colors.pdf"
     ]
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
index 288b614..842a10d 100644
--- a/docs/html/jd_extras.js
+++ b/docs/html/jd_extras.js
@@ -1642,10 +1642,10 @@
     "lang": "en",
     "group": "",
     "tags": [],
-    "url": "shareables/auto/AndroidAuto-media-apps.pdf",
+    "url": "shareables/auto/AndroidAuto-audio-apps.pdf",
     "timestamp": null,
     "image": "auto/images/assets/icons/media_app_playback.png",
-    "title": "Android Auto Media Apps UI Guidelines",
+    "title": "Android Auto Audio Apps UI Guidelines",
     "summary": "Guidelines for designing audio apps that work with Auto. ",
     "keywords": ["design", "Auto", "Automotive"],
     "type": "PDF DOWNLOAD (1.1MB)",
diff --git a/docs/html/training/auto/audio/index.jd b/docs/html/training/auto/audio/index.jd
index aa25769..f9d7e89 100644
--- a/docs/html/training/auto/audio/index.jd
+++ b/docs/html/training/auto/audio/index.jd
@@ -31,8 +31,8 @@
 
     <ul>
       <li>
-        <a href="{@docRoot}shareables/auto/AndroidAuto-media-apps.pdf">
-              User Experience Guidelines: Media Apps</a>
+        <a href="{@docRoot}shareables/auto/AndroidAuto-audio-apps.pdf">
+              User Experience Guidelines: Audio Apps</a>
       </li>
       <li><a href="{@docRoot}training/managing-audio/index.html">Managing Audio
         Playback</a></li>
@@ -279,8 +279,8 @@
 applications have strict limits on how large a menu they can display. This is
 intended to prevent distracting the driver, and to make it easy for the driver
 to operate the app via voice commands. For more information on the Auto user
-experience restrictions, see the <a href="{@docRoot}shareables/auto/AndroidAuto-media-apps.pdf">
-Auto Media Apps</a> guidelines.</p>
+experience restrictions, see the <a href="{@docRoot}shareables/auto/AndroidAuto-audio-apps.pdf">
+Auto Audio Apps</a> guidelines.</p>
 
 <p>Your implementation of {@link android.service.media.MediaBrowserService#onGetRoot
 onGetRoot()} returns information about the root node of the menu
