Merge "Docs: Help page for Theme Editor, introduced in Android Studio 1.5" into mnc-docs
diff --git a/docs/html/about/versions/marshmallow/android-6.0.jd b/docs/html/about/versions/marshmallow/android-6.0.jd
index 5b2e089..732932f 100644
--- a/docs/html/about/versions/marshmallow/android-6.0.jd
+++ b/docs/html/about/versions/marshmallow/android-6.0.jd
@@ -406,12 +406,12 @@
 <h2 id="behavior-themeable-colorstatelists">Themeable ColorStateLists</h2>
 <p>Theme attributes are now supported in
 {@link android.content.res.ColorStateList} for devices running on Android 6.0 (API level 23). The
-{@link android.content.res.Resources#getColorStateList(int) getColorStateList()} and
-{@link android.content.res.Resources#getColor(int) getColor()} methods have been deprecated. If
-you are calling these APIs, call the new
-{@link android.content.Context#getColorStateList(int) getColorStateList()} or
-{@link android.content.Context#getColor(int) getColor()} methods instead. These methods are also
-available in the v4 appcompat library via {@link android.support.v4.content.ContextCompat}.</p>
+{@link android.content.res.Resources#getColorStateList(int) Resources.getColorStateList()} and
+{@link android.content.res.Resources#getColor(int) Resources.getColor()} methods have been
+deprecated. If you are calling these APIs, call the new
+{@link android.content.Context#getColorStateList(int) Context.getColorStateList()} or
+{@link android.content.Context#getColor(int) Context.getColor()} methods instead. These methods are
+also available in the v4 appcompat library via {@link android.support.v4.content.ContextCompat}.</p>
 
 <h2 id="audio">Audio Features</h2>
 
diff --git a/docs/html/design/tv/images/overscan.png b/docs/html/design/tv/images/overscan.png
index fb7e4bc..7957e97 100644
--- a/docs/html/design/tv/images/overscan.png
+++ b/docs/html/design/tv/images/overscan.png
Binary files differ
diff --git a/docs/html/design/tv/style.jd b/docs/html/design/tv/style.jd
index dd10a8a..4c43983 100644
--- a/docs/html/design/tv/style.jd
+++ b/docs/html/design/tv/style.jd
@@ -51,9 +51,11 @@
 
 <img src="{@docRoot}design/tv/images/overscan.png" alt="Overscan borders for TV" />
 
-<p>Build a 10% margin into your TV screen designs to account for overscan area the TV may not
-  display correctly. On a 1920 x 1080 pixel screen, this margin should be a minimum of 27px from the
-  top and bottom edges and a minimum of 48px from the right and left edges of the picture.</p>
+<p>Build a 5% margin into your TV screen designs to account for overscan area the TV may not
+  display correctly. On a 1920 x 1080 screen, this margin should be a minimum of 27 pixels
+  from the top and bottom edges and a minimum of 48 pixels from the right and left edges of the
+  picture.
+  </p>
 
 
 <h2>Color</h2>
diff --git a/docs/html/distribute/engage/beta.jd b/docs/html/distribute/engage/beta.jd
new file mode 100644
index 0000000..85ab5e5
--- /dev/null
+++ b/docs/html/distribute/engage/beta.jd
@@ -0,0 +1,113 @@
+page.title=Get real user feedback with beta tests
+page.metaDescription=Run alpha and beta tests from the developer console, and make improvements and correct issues before you release.
+page.image=images/cards/distribute/engage/beta.jpg
+page.tags="beta, alpha, release channels"
+Xnonavpage=true
+
+@jd:body
+
+<p>
+  With alpha or beta tests run from the Developer Console you can collect user
+  feedback on early versions of your app, then make improvements and correct
+  issues before you release to the full Play Store audience.
+</p>
+
+<img src="{@docRoot}images/distribute/googleplay/dev-console_running-a-beta-test.png"
+  srcset="{@docRoot}images/distribute/googleplay/dev-console_running-a-beta-test.png 1x,
+      {@docRoot}images/distribute/googleplay/dev-console_running-a-beta-test_2x.png 2x"
+  width="500">
+
+<p>Testing your app with a select group of users will give you a chance to fix any technical or user experience issues before you release it widely, so that you can be confident about releasing the best version of your app to the majority of your users. Feedback from your test users won't affect your app’s public rating.</p>
+
+<p>
+  Learn more about <a href=
+  "https://support.google.com/googleplay/android-developer/answer/3131213"
+  class="external-link">how to run a beta test.</a>
+</p>
+
+<h2 id="how-to">How to Do It</h2>
+
+<ul>
+
+<ul>
+  <li>
+    <strong>Open beta —</strong> Use an open beta when you want any user who
+    has the link to be able to join your beta with just one click. One of the
+    advantages of an open beta is that it allows you to scale to a large number
+    of testers. However, you can also limit the maximum number of users who can
+    join.
+  </li>
+
+  <li>
+    <strong>Closed beta using email addresses —</strong> If you want to
+    restrict which users can access your beta, you have a new option: you can
+    now set up a closed beta using lists of individual email addresses which
+    you can add individually or upload as a .csv file. These users will be able
+    to join your beta via a one-click opt-in link.
+  </li>
+
+  <li>
+    <strong>Closed beta with Google+ community or Google Group —</strong> You
+    can continue to use betas with Google+ communities or Google Groups. You
+    can also move closed betas to an open beta while maintaining your existing
+    testers.
+  </li>
+</ul>
+
+<h2 id="tips">Tips</h2>
+
+<ul>
+  <li>Your testers will need to have a Google Account (<code>@gmail.com</code>)
+  or a Google Apps account to join a test.
+  </li>
+
+  <li>Use alpha tests for early experimental versions of your app that might
+  contain incomplete or unstable functionality, and use beta tests for apps
+  that should be complete and stable.
+  </li>
+
+  <li>Start testing with a small group of more trusted testers in an alpha
+  test, then expand your test to a larger group of testers in a beta test.
+  </li>
+
+  <li>Testers can't leave public reviews for alpha/beta apps on Google Play, so
+  include a feedback channel or provide the option to send feedback by email,
+  website, or a message forum.
+  </li>
+
+  <li>For an APK to be available to alpha testers it must have a higher version
+  number than your beta or production version, and for beta testers the APK
+  must have a higher version number than your production version.
+  </li>
+
+  <li>Alpha testers receive the alpha, beta, or production version of your app
+  with the highest version code that is compatible with their device, while
+  beta testers receive the beta or production version of your app with the
+  highest version code that is compatible with their device. This also means
+  that posting a higher version number APK cancels earlier tests of earlier
+  versions, so posting a production 2.0 version would cancel a beta test of
+  version 1.9 and that beta test would have canceled an alpha test of version
+  1.8.
+  </li>
+
+  <li>Also consider using <a href=
+  "https://www.google.com/insights/consumersurveys/" class=
+  "external-link">Google Consumer Surveys</a> to conduct market research and
+  gather user feedback at scale.
+  </li>
+</ul>
+
+<p style="clear:both">
+</p>
+
+<div class="dynamic-grid">
+<div class="headerLine">
+<h2 id="related-resources">Related Resources</h2>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/beta"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+  </div>
diff --git a/docs/html/distribute/engage/engage_toc.cs b/docs/html/distribute/engage/engage_toc.cs
index 91206d3..e86623f 100644
--- a/docs/html/distribute/engage/engage_toc.cs
+++ b/docs/html/distribute/engage/engage_toc.cs
@@ -29,6 +29,7 @@
         <span class="en">Drive Engagement with Ads</span></a>
     </div>
   </li>
+
   <li class="nav-section">
     <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs
         var:toroot?>distribute/engage/game-services.html">
@@ -53,7 +54,12 @@
         <span class="en">Integrate GCM</span></a>
     </div>
   </li>
-
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/beta.html">
+        <span class="en">Get Feedback with Beta Tests</span></a>
+    </div>
+  </li>
 </ul>
 
 <script type="text/javascript">
diff --git a/docs/html/distribute/engage/game-services.jd b/docs/html/distribute/engage/game-services.jd
index 1c77d2d..9ca27b7 100644
--- a/docs/html/distribute/engage/game-services.jd
+++ b/docs/html/distribute/engage/game-services.jd
@@ -1,90 +1,193 @@
 page.title=Encourage Competition
 page.metaDescription= Bring out the competitor in your users with cloud save, multiplayer game play, and more.
-page.tags="games"
-page.image=/images/google/gps-play_games_logo.png
+page.tags="games, games services, play games"
+page.image=/images/cards/distribute/engage/card-game-services.png
 
 @jd:body
 
-<div class="figure" style="width:330px;">
-  <img src="{@docRoot}images/google/gps-play_games_logo.png">
+
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>Features</h2>
+    <ul>
+      <li><a href="#simplify">Simplify your game development</a></li>
+      <li><a href="#acquire-users">Acquire and engage users</a></li>
+      <li><a href="#socialize">Socialize your games</a></li>
+      <li><a href="#extend">Extend across form factors</a></li>
+      <li><a href="#manage">Manage your games</a></li>
+    </ul>
+  </div>
 </div>
 
 <p>
-  Increase game installs, in-app revenue, and engagement with <a href=
-  "{@docRoot}google/play-services/games.html">Google Play
-  Game Services</a>. Bring out the competitor in your users with cloud save,
-  multiplayer game play, and more.
+  Three out of four Android users download games to their device, making games
+  one the most popular additions to users’ devices. Making your games stand out
+  from the crowd is therefore key to success.
 </p>
 
+<div class="figure">
+  <img src="{@docRoot}images/google/gps-play_games_logo.png"
+        srcset="{@docRoot}images/google/gps-play_games_logo.png 1x,
+            {@docRoot}images/google/gps-play_games_logo_2x.png 2x"
+      alt="" width="170" />
+</div>
+
+<p>
+  Google Play game services save you from implementing popular game features
+  yourself such as achievements, leaderboards, real-time multiplayer, and
+  others. You can also let players sign in using their Google identity and
+  share their gaming experience with friends. And there is comprehensive
+  reporting and statistics to help you track and improve your game’s
+  performance.
+</p>
+
+<p>
+  Start now by visiting <a href="https://developers.google.com/games/services/"
+  class="external-link">Google Play game services.</a>
+</p>
+
+<h3 id="simplify">Simplify your game development</h3>
+
 <ul>
   <li>
-    <p>
-      <a href=
-      "https://developers.google.com/games/services/android/achievements">Achievements</a>
-      encourage players to try new features, resulting in more time spent in
-      your games.
-    </p>
+    <strong>Set up Google Play Games Services:</strong> Use the Google Play
+    Developer Console to manage games services and configure metadata for
+    authorizing and authenticating your game.
   </li>
 
   <li>
-    <p>
-      <a href=
-      "https://developers.google.com/games/services/android/leaderboards">Leaderboards</a>
-      are a fun way to drive competition among your players.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <a href=
-      "https://developers.google.com/games/services/android/cloudsave">Cloud
-      Save</a> allows users to continue where they left off on another device
-      or platform.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      Multiplayer features allow users to invite friends to install games and
-      play together in <a href=
-      "https://developers.google.com/games/services/common/concepts/realtimeMultiplayer">
-      real-time</a> or <a href=
-      "https://developers.google.com/games/services/common/concepts/turnbasedMultiplayer">
-      turn-by-turn</a>.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <a href=
-      "https://play.google.com/store/apps/details?id=com.google.android.play.games">
-      Google Play Games App</a> provides additional exposure to increase
-      downloads and gameplay. It helps users play with friends, see what others
-      are playing, and discover featured games.
-    </p>
+    <strong>Use the Play Games APIs:</strong> Start integrating popular gaming
+    features into your games by using the <a href=
+    "https://developers.google.com/games/services/" class=
+    "external-link">Google Play Games Services APIs.</a>
   </li>
 </ul>
 
-<p>
-  And there is no need to worrying about device or OS version support. Google
-  Play Game Services is backward compatible, allowing you to reach more
-  users with less effort. Get started on <a href=
-  "{@docRoot}google/play-services/games.html">Google Play
-  Game Services</a>. For more tips on keeping gamers engaged, see the <a href=
-  "{@docRoot}distribute/essentials/best-practices/games.html">
-  Game Developer Best Practices</a>.
+<h3 id="acquire-users">Acquire and engage users</h3>
+
+<ul>
+  <li>
+    <strong>Player Analytics:</strong> View details on multiplayer games,
+    average revenue per paying user (ARPPU), sessions per user, and more; as
+    well as set and monitor daily revenue targets from a comprehensive
+    dashboard of player and engagement statistics.
+  </li>
+
+  <li>
+    <strong>Achievements:</strong> Set goals to encourage players to spend more
+    time in your games and try new features; reward them with experience points
+    that players redeem to gain level-ups in their Play Games profile.
+  </li>
+
+  <li>
+    <strong>Quests:</strong> Offer players in-game rewards and benefits for
+    exploring your game more deeply: use particular items, reach a certain
+    level, or perform a specific game action. And set up quests without the
+    need to release an app update.
+  </li>
+</ul>
+
+<h3 id="socialize">Socialize your games</h3>
+
+<ul>
+  <li>
+    <strong>Leaderboards:</strong> Drive competition among your players with
+    daily, weekly, and all-time leaderboards. Create multiple leaderboards for
+    game levels or other game features.
+  </li>
+
+  <li>
+    <strong>Multiplayer games:</strong> Add the challenge of playing against
+    others to your real-time and turn-by-turn games. Players can invite friends
+    to install your game across form factors and supported platforms.
+  </li>
+
+  <li>
+    <strong>Game gifts:</strong> Drive downloads and engagement by giving your
+    players the ability to send virtual in-game objects to their friends. Also
+    let players request gifts and use gifts as a trading mechanism within
+    games.
+  </li>
+</ul>
+
+<h3 id="extend">Extend across form factors</h3>
+
+<ul>
+  <li>
+    <strong>Saved Games:</strong> Save game states to the cloud and enable
+    players to resume games anytime on any of their devices. Cover images and
+    descriptions show players where they left off and attract them back.
+  </li>
+
+  <li>
+    <strong>Nearby Connections API:</strong> Enhance the experience of your
+    games for Android TV by connecting seamlessly with smartphones and tablets,
+    to use them as second-screen controllers.
+  </li>
+</ul>
+
+<h3 id="manage">Manage your games</h3>
+
+<ul>
+  <li>
+    <strong>Easily update your game metadata:</strong> Simplify your game
+    testing and player account management with the <a href=
+    "https://developers.google.com/games/services/management/" class=
+    "external-link">Google Play games services Management API.</a>
+  </li>
+
+  <li>
+    <strong>Automate your game production and distribution tasks:</strong>
+    Modify listings and upload icons for achievements and leaderboards with the
+    <a href="https://developers.google.com/games/services/publishing/" class=
+    "external-link">Google Play games services Publishing API.</a>
+  </li>
+
+  <li>
+    <strong>Insights and alerts:</strong> Get information on how to improve
+    your multiplayer, leaderboards, achievements, and other game services
+    implementations from the Developer Console.
+  </li>
+
+  <li>
+    <strong>Anti-piracy:</strong> Optionally disable game services for games
+    not purchased from the Play Store.
+  </li>
+</ul>
+
+<h3 id="tips">Tips</h3>
+<ul>
+  <li>The best Google Play game services integrations are highly visible,
+  customized, achievable, and incentivized.
+  </li>
+
+  <li>Prompt players to sign in to Google Play game services when your game
+  launches. This ensures they get access to the game service features, and also
+  maximizes the number of players online and ready to collaborate.
+  </li>
+
+  <li>Avoid creating achievements that rely too much on elements beyond the
+  player's control or cannot be earned once the player has made a decision in
+  your game.
+  </li>
+
+  <li>With Google Play game services, you can add seamless interaction between
+  Android and your games on the web and other platforms.
+  </li>
+</ul>
+
+<p style="clear:both">
 </p>
 
+<div class="dynamic-grid">
 <div class="headerLine">
-  <h2 id="related-resources">
-    Related Resources
-  </h2>
-
-
+<h2 id="related-resources">Related Resources</h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" data-query=
-"collection:distribute/engage/googleplaygames" data-sortorder="-timestamp"
-data-cardsizes="9x3" data-maxresults="6">
-</div>
-
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/engage/gamesservices/related"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+  </div>
diff --git a/docs/html/distribute/googleplay/about.jd b/docs/html/distribute/googleplay/about.jd
index 543d7d3..a93d1c7 100644
--- a/docs/html/distribute/googleplay/about.jd
+++ b/docs/html/distribute/googleplay/about.jd
@@ -6,367 +6,148 @@
 
 @jd:body
 
-    <div id="qv-wrapper">           
+<div id="qv-wrapper">
   <div id="qv">
   <h2>About Google Play</h2>
     <ol style="list-style-type:none;">
-      <li><a href="#reach">Worldwide Reach, Rapid Growth</a></li>
-      <li><a href="#ratings-reviews">User Ratings and Reviews</a></li>
-      <li><a href="#category-browsing">Category Browsing</a></li>
-      <li><a href="#search">Search</a></li>
-      <li><a href="#top-charts-and-lists">Top Charts and Lists</a></li>
-      <li><a href="#featured-staff-picks">Featured, Staff Picks, Collections, and Badges</a></li>
-      <li><a href="#product-detail-pages">Store Listing Pages</a></li>
-      <li><a href="#related-resources">Related Resources</a></li>
+
+      <li><a href="#playstore-discovery">Discovery on the Play Store and the Top Lists</a></li>
+      <li><a href="#playstore-listing">Your Play Store Listing</a></li>
+      <li><a href="#devpage">Your Developer Page</a></li>
+      <li><a href="#search-discovery">Discovery through Search</a></li>
+      <li><a href="#browsing">Personalized browsing experience</a></li>
+      <li><a href="#featured-staff-picks">Featured Apps and Collections</a></li>
+      <li><a href="#editors-choice">Editor's Choice, Top Developer, and Other Badges</a></li>
     </ol>
   </div>
 </div>
 
+<h2 id="reach">Reach Users Around the World</h2>
+
 <p>
   Google Play is the premier store for distributing Android apps. When you
-  publish on Google Play, you put your apps in front of Android's huge base of
-  active customers, in more than 190 countries and territories across the
+  publish on Google Play, you put your apps in front of over 1 billion active
+  Android users, in more than 190 countries and territories across the
   world.
 </p>
 
-<div>
-  <img src="{@docRoot}images/gp-about-0.jpg" alt="Google Play on an Android Tablet"
-  style="width:480px;position:relative" />
-</div>
+<img src="{@docRoot}images/distribute/googleplay/about_hero_play-opportunity.png"
+  srcset="{@docRoot}images/distribute/googleplay/about_hero_play-opportunity.png 1x,
+      {@docRoot}images/distribute/googleplay/about_hero_play-opportunity_2x.png 2x"
+  alt="" width="460" />
 
-<p>
-  Google Play is a central part of the Android experience. New users
-  personalize their devices with apps, games, and other Google Play content.
-  Existing users return regularly to see what's trending and new. Downloading
-  new apps is extremely convenient and fast&mdash; Google Play pushes apps to
-  the user's devices instantly, over the air.
-</p>
+<div class="wrap">
 
-<p>
-  Google Play is also a top destination for web users. Anyone with a browser
-  can explore Google Play on the web. Android users can even buy and install
-  the apps they want and Google Play pushes them automatically to their devices
-  with no cables required.
-</p>
-
-<p>
-  The accessibility and convenience of the Google Play web site give you new
-  ways to drive traffic to your products from many sources, such as online ads,
-  web search and cross-linking. Google Play is designed to connect users with
-  great apps and games. It provides key channels to get your app noticed and
-  gain traction in the marketplace.
-</p>
-
-<div class="headerLine">
-  <h2 id="ratings-reviews">
-    User Ratings and Reviews
-  </h2>
-
-
-</div>
-
-<p>
-  Prospective users look at ratings and reviews as key benchmarks of app
-  quality. By rating apps from one to five stars and posting reviews, Android
-  users show their appreciation for the apps they have downloaded.
-</p>
-
-<p>
-  <strong>Your app's rating is one of the most important factors influencing
-  its ranking</strong> in the Google Play lists and search results. It's also
-  one of the key metrics that the editorial staff looks for when curating apps
-  and games for promotion in the store.
-</p>
-
-<div class="img" style="padding: 1em auto;width:96%;">
-  <img src="{@docRoot}images/gp-rating-web.png" style="border:1px solid #ddd;">
-</div>
-
-<div class="headerLine">
-  <h2 id="category-browsing">
-    Category Browsing
-  </h2>
-
-
-</div>
-
-<p>
-  When you publish an app in Google Play, you pick the category where you want
-  users to find your app. More than 30 categories are available. Inside each
-  category, apps are ranked based on a combination of ratings, reviews,
-  downloads, country, and other factors.
-</p>
-
-<div class="headerLine">
-  <h2 id="search">
-    Search
-  </h2>
-
-
-</div>
-
-<p>
-  Search on Google Play lets users pinpoint an app or game quickly. Search uses
-  powerful heuristics to suggest terms as the user types, and it offers direct
-  links to apps as suggestions. In results, users find the most relevant, most
-  popular apps at the top.
-</p>
-
-<div class="headerLine">
-  <h2 id="top-charts-and-lists">
-    Top Charts and Lists
-  </h2>
-
-
-</div>
-
-<div class="figure">
-  <img src="{@docRoot}images/gp-about-top.jpg">
-</div>
-
-<p>
-  Top charts keep users in touch with what’s popular and trending with Android
-  users, right from the Apps and Games home pages. The charts stay fresh,
-  updating several times each day based on recent download activity. As an
-  app's ratings and download activity grow, it can move up in the charts.
-</p>
-
-<p>
-  To make the charts as relevant as possible for users across the world, they
-  are also country-specific in Google Play's most popular countries. As your
-  apps get traction and build momentum in downloads and ratings, they’ll climb
-  one or more of the top charts and gain even more exposure.
-</p>
-
-<table style="width:50%;">
-  <tr>
-    <td>
-      Top Free
-    </td>
-    <td>
-      Free apps and free games lists
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      Top Paid
-    </td>
-    <td>
-      Paid apps and paid games lists
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      Top Grossing
-    </td>
-    <td>
-      Gross proceeds, free or paid
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      Top New Free
-    </td>
-    <td>
-      Less than 30 days old
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      Top New Paid
-    </td>
-    <td>
-      Less than 30 days old
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      Trending
-    </td>
-    <td>
-      New arrivals growing quickly in installs
-    </td>
-  </tr>
-</table>
-
-<div class="headerLine">
-  <h2 id="featured-staff-picks">
-    Featured, Staff Picks, Collections, and Badges
-  </h2>
-
-
-</div>
-
-<p>
-  The Google Play editorial team is dedicated to bringing the best apps to the
-  attention of users and setting the tone for app quality throughout the store.
-  It constantly reviews apps from across Google Play to find not only the
-  best-known apps and games, but also the "diamonds in the rough" that they
-  want more people to see. The team promotes great apps in the
-  <em>Featured</em>, <em>Staff Picks</em>, and other collections.
-</p>
-
-<p>
-  You can't nominate your app for featuring, but the team is always monitoring
-  Google Play for great apps. If you build an app that users love and that
-  looks great on Android devices, the editorial team will notice.
-</p>
-
-<h3 id="featured-staff-picks2">
-  Featured and Staff Picks
-</h3>
-
-<p>
-  Each week the Google Play editorial staff selects a new set of apps to
-  promote in its popular <em>Featured</em> and <em>Staff Picks</em>
-  collections.
-</p>
-
-<p>
-  The <em>Featured</em> collections highlight the latest and greatest app and
-  game titles available for Android. The list also includes the best and most
-  popular apps in the top categories are also featured. <em>Staff Picks</em>
-  collects all recently featured apps and games on Google Play. To focus on
-  tablet users, A special <em>Staff Picks</em> collection highlights the best
-  apps for Android tablets.
-</p>
-
-<table style="text-align:center;margin:1.5em 0;">
-  <tr>
-    <td style="border:none;">
-      <img src="{@docRoot}images/gp-about-picks1.jpg">
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-6of12">
+      <h3 id="playstore-discovery">Discovery on the Play Store and the top lists</h3>
       <p>
-        Featured
+        The Play Store has been built to make discovering relevant apps, games, and
+        other content simple and pleasurable. Users can browse over 30 categories of
+        ranked apps. They can also discover popular and trending apps from one of the
+        ‘top charts’; updated throughout the day, they’re even country-specific in
+        Google Play's most popular countries.
       </p>
-    </td>
-    <td style="border:none;">
-      <img src="{@docRoot}images/gp-about-picks2.jpg">
-      <p>
-        Collection
-      </p>
-    </td>
-    <td style="border:none;">
-      <img src="{@docRoot}images/gp-about-picks3.jpg">
-      <p>
-        Editors' Choice
-      </p>
-    </td>
-  </tr>
-</table>
-
-<h3 id="collections">
-  App collections
-</h3>
-
-<p>
-  From time to time the editorial staff puts together a collection of apps and
-  games based on a theme or seasonal event. Users frequently use these lists to
-  select apps, attracted by the timeliness of the collection.
-</p>
-
-<p>
-  The editorial staff chooses apps for collection promotions &mdash;
-  high-quality apps that show the best of Android on phones and tablets. The
-  staff also looks for apps that can make an interesting or unique contribution
-  to the collection as a whole.
-</p>
-
-<h3 id="editors-choice">
-  <img style="margin-right:.25em;margin-bottom:.5em;" src=
-  "{@docRoot}images/editorschoice_ann.png"> Editors' Choice
-</h3>
-
-<p>
-  <em>Editors’ Choice</em> is a curated collection of apps that highlights some
-  of the very best apps available on Android. Editors choose these apps for
-  quality and great user interface, long-term popularity and innovative use of
-  Android features.
-</p>
-
-<p>
-  Apps chosen for <em>Editors’ Choice</em> also receive a badge that is
-  displayed wherever the app name is seen in Google Play.
-</p>
-
-<h3 id="top-developer">
-  <img style="margin-right:.25em;margin-bottom:.5em;" src=
-  "{@docRoot}images/topdev_ann.png"> Top Developer
-</h3>
-
-<p>
-  Top Developer is a badge recognizing established, respected developers for
-  their commitment to launching high-quality and innovative apps on Android.
-  The Google Play editorial staff awards a Top Developer badge from
-  time-to-time based on the cumulative work of the developer.
-</p>
-
-<p>
-  The Top Developer badge appears next to the developer name wherever it is
-  displayed in Google Play. The badge means long-term recognition of all of the
-  developer’s apps. It signifies an additional level of trust and confidence
-  users have in a developer’s products.
-</p>
-
-<div class="headerLine">
-  <h2 id="product-detail-pages">
-    Store Listing Pages
-  </h2>
-
-
-</div>
-
-<div class="figure">
-  <img src="{@docRoot}images/gp-about-listing.jpg">
-</div>
-
-<p>
-  Your app’s Google Play storefront is its <em>store listing page</em>: a rich
-  and colorful page that lets you promote your app, highlight its ratings and
-  reviews, and show what your app can do.
-</p>
-
-<p>
-  Your store listing is where your users come to find out everything about your
-  app. When they see your app listed in search results, top charts, category
-  listings, and collections, one tap takes them directly to your store listing.
-</p>
-
-<p>
-  Manage your product details page through the <a href=
-  "https://play.google.com/apps/publish/">Google Play Developer Console</a>
-  from any web browser. Sign in to upload or update your brand assets, and
-  enter your product details in the languages of your markets.
-</p>
-
-<p>
-  When you publish, Google Play adds your app’s ratings, reviews, links to your
-  other products, and more. It also makes sure your store listing page looks
-  great on phones, tablets, and in a web browser.
-</p>
-
-<p>
-  You can link web users directly to your product details page from outside
-  Google Play, such as from your web site, an ad campaign, reviews, social
-  media posts, and more. See <a href=
-  "{@docRoot}distribute/tools/promote/linking.html">Linking to Your
-  Products</a> to find out how.
-</p>
-
-<p style="clear:both">
-</p>
-
-<div class="headerLine">
-<h2>Related Resources</h2>
-</div>
-
-<div class="resource-widget resource-flow-layout col-13"
-  data-query="collection:distribute/googleplay"
-  data-sortOrder="-timestamp"
-  data-cardSizes="9x3"
-  data-maxResults="4"></div>
     </div>
+    <div class="col-5of12 col-push-1of12">
+     <img src="{@docRoot}images/distribute/googleplay/about_play_store_home.png"
+        style="padding-top:1em;" width="225">
+    </div>
+  </div>
+
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-6of12">
+      <h3 id="playstore-listing">Your Play Store listing</h3>
+      <p>
+        Your app’s Play Store listing is where users come to find out everything
+        about your app: hero image or video, age rating, total downloads, summary
+        rating, features, and screenshots. Users can also see the ratings and reviews
+        left by other users, which are an important influence on your app’s ranking
+        in lists and search. When creating your app’s page you can take advantage of
+        <a href="{@docRoot}distribute/users/experiments.html"
+        >Store Listing Experiments</a> to test variations in
+        text and graphics and find the combination that drives the most downloads.
+      </p>
+    </div>
+    <div class="col-5of12 col-push-1of12">
+     <img src="{@docRoot}images/distribute/googleplay/about_play_store_listing.png"
+          style="padding-top:1em;" width="225">
+    </div>
+  </div>
+
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-6of12">
+      <h3 id="devpage">Your developer page</h3>
+      <p>
+        You can now promote your brand using your new <a href=
+        "https://support.google.com/googleplay/android-developer/answer/6226441"
+        class="external-link">developer page.</a> Add a hero image, logo, and
+        description, then optionally add a link to your website and a featured app.
+        This is a great way to increase exposure, in addition to your
+        developer-specific app collection on Google Play.
+      </p>
+    </div>
+    <div class="col-5of12 col-push-1of12">
+     <img src="{@docRoot}images/distribute/googleplay/about_developer_page.png"
+          style="padding-top:1em;" width="225">
+    </div>
+  </div>
+
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-6of12">
+      <h3 id="search-discovery">Discovery through search</h3>
+      <p>
+        Search on Google Play is one of the single biggest drivers of installs and it
+        lets users pinpoint an app or game quickly. Search uses powerful heuristics
+        to suggest terms as the user types, and it offers direct links to apps as
+        suggestions. In results, users find the most relevant and most popular apps
+        at the top.
+      </p>
+    </div>
+    <div class="col-5of12 col-push-1of12">
+     <img src="{@docRoot}images/distribute/googleplay/about_search_results.png"
+          style="padding-top:1em;" width="225">
+    </div>
+  </div>
+
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-6of12">
+      <h3 id="browsing">Personalized browsing experience</h3>
+      <p>
+        Using manual and algorithmic curation, the Play Store creates unique
+        collections that represent deeper user interests. These collections are then
+        matched with a user’s interests and displayed on their Play Store home page.
+        Since its introduction this more-personalized approach to app listings has
+        doubled the likelihood a user will install an app. This example shows the
+        home page of a user who enjoys outdoor activity and fitness apps.
+      </p>
+    </div>
+    <div class="col-5of12 col-push-1of12">
+     <img src="{@docRoot}images/distribute/googleplay/about_personalized_home.png"
+          style="padding-top:1em;" width="225">
+    </div>
+  </div>
+</div>
+
+<h2 id="featured-staff-picks">Featured Apps and Collections</h2>
+<p>
+  The Google Play editorial team bring the best apps to the attention of users
+  through the Featured, Staff Picks, and Editor’s Choice collections.
+  Periodically they also create app collections based on a theme or seasonal
+  event. The apps and games featured will include some that are popular and
+  well known, but also innovative and groundbreaking apps that haven’t built
+  their ranking yet.
+</p>
+
+<h2 id="editors-choice">Editor's Choice, Top Developer, and Other Badges</h2>
+<p>
+  The best apps and games and the developers who create them are awarded badges
+  by the Google Play editorial staff: Editors’ Choice, Top Developer, and
+  others. Displayed with the app and developer name when they are seen in
+  Google Play, they give users an additional level of trust and confidence in
+  your apps.
+</p>
diff --git a/docs/html/distribute/googleplay/developer-console.jd b/docs/html/distribute/googleplay/developer-console.jd
index 7631980..b957268 100644
--- a/docs/html/distribute/googleplay/developer-console.jd
+++ b/docs/html/distribute/googleplay/developer-console.jd
@@ -1,27 +1,20 @@
 page.title=Developer Console
 page.metaDescription=Learn about the Developer Console, your home for app publishing on Google Play.
 page.image=images/cards/dev-console_2x.jpg
+page.tags="play, publish, google, google play"
 Xnonavpage=true
 
 @jd:body
-    
-    <div id="qv-wrapper">           
+
+    <div id="qv-wrapper">
   <div id="qv">
-    <h2>Publishing Features</h2>
+    <h2>Features</h2>
     <ol>
-      <li><a href="#allapps">All Applications</a></li>
-      <li><a href="#account-details">Your Account Details</a></li>
-      <li><a href="#merchant-account">Linking Your Merchant Account</a></li>
-      <li><a href="#multiple-user-accounts">Multiple User Accounts</a></li>
-      <li><a href="#alpha-beta">Alpha and Beta Testing</a></li>
-      <li><a href="#staged-rollouts">Staged Rollouts</a></li>
-      <li><a href="#multiple-apk">Multiple APK Support</a></li>
-      <li><a href="#selling-pricing-your-products">Selling and Pricing</a></li>
-      <li><a href="#in-app-products">In-App Products</a></li>
-      <li><a href="#distribution-controls">Distribution Controls</a></li>
-      <li><a href="#reviews-reports">User Reviews, Crash Reports</a></li>
-      <li><a href="#app-stats">App Stats</a></li>
-      <li><a href="#related-resources">Related Resources</a></li>
+      <li><a href="#latest">Latest blog posts</a></li>
+      <li><a href="#publish">Publish with confidence</a></li>
+      <li><a href="#aquire-users">Acquire users</a></li>
+      <li><a href="#insights">Actionable insights</a></li>
+      <li><a href="#manage">Manage your app</a></li>
     </ol>
   </div>
 </div>
@@ -30,8 +23,9 @@
   The <a href="https://play.google.com/apps/publish/">Google Play Developer
   Console</a> is your home for publishing operations and tools.
 </p>
-<!-- <img src="{@docRoot}images/gp-dc-startscreen.jpg" style="width:480px;" /> -->
-<img src="{@docRoot}images/gp-devconsole-home.png" style="width:480px;">
+
+<img src="{@docRoot}images/distribute/googleplay/gp-devconsole-home.png" style="width:480px;">
+
 <p>
   Upload apps, build your product pages, configure prices and distribution, and
   publish. You can manage all phases of publishing on Google Play through the
@@ -44,547 +38,252 @@
   verification by email, you can sign in to your Google Play Developer Console.
 </p>
 
+
+<p style="clear:both">
+</p>
+
+<div class="dynamic-grid">
 <div class="headerLine">
-  <h2 id="allapps">
-    All Applications
-  </h2>
-
-
+<h2 id="latest">Latest blog posts</h2>
 </div>
 
-<p>
-  Start in All Applications, which gives you a quick overview of your apps,
-  lets you jump to stats, reviews, and product details, or upload a new app.
-</p>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="type:blog+tag:developerconsole+tag:featured"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="3"></div>
+  </div>
 
-<div style="padding:1em 0em 0em 0em;">
-  <img src="{@docRoot}images/gp-dc-home.png" class="border-img">
-</div>
+<h2 id="publish">Publish with confidence</h2>
 
-<div class="headerLine" style="margin-top:-6px">
-  <h2 id="account-details">
-    Your Account Details
-  </h2>
+<div class="wrap">
+  <h3 id="alpha-beta">Alpha and beta tests</h3>
 
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-3of12">
+      <p>
+        Distribute your pre-release app to users as an open beta with a
+        one-click, opt-in URL or as a closed beta using an email list, Google
+        Group, or Google+ community. Users can then provide feedback, while not
+        affecting your app’s public reviews and rating. This valuable feedback
+        will help you test features and improve the quality of your app.
+        <a href="{@docRoot}distribute/engage/beta.html">Learn more</a>.
+      </p>
+    </div>
 
-</div>
+    <div class="col-8of12 col-push-1of12">
+      <img src=
+      "{@docRoot}images/distribute/googleplay/dev-console_running-a-beta-test.png"
+      srcset=
+      "{@docRoot}images/distribute/googleplay/dev-console_running-a-beta-test.png 1x, {@docRoot}images/distribute/googleplay/dev-console_running-a-beta-test_2x.png 2x"
+      width="500">
+    </div>
+  </div>
 
-<p>
-  Specify basic developer profile information about yourself or your company on
-  the accounts detail page. This identifies you to Google Play and your
-  customers. You can go back at any time to edit the information and change
-  your settings.
-</p>
+  <h3 id="cloud-test">Clout Test Lab</h3>
 
-<div>
-  <img src="{@docRoot}images/gp-dc-profile.png" class="frame">
-</div>
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-3of12">
+      <p>
+        Get free automated testing of your app on physical devices covering
+        nearly every brand, model, and version of the devices your users might
+        be using. The lab will help you quickly find compatibility issues you
+        may miss using only your available test devices. Sign-up in the
+        Developer Console to become an early tester before this feature becomes
+        more widely available. <a href=
+        "https://developers.google.com/cloud-test-lab/" class=
+        "external-link">Learn more and sign up for updates.</a>
+      </p>
+    </div>
 
-<p>
-  Your developer profile contains:
-</p>
-
-<ul>
-  <li>
-    <p>
-      Developer name &mdash; displayed on your store listing page and elsewhere
-      on Google Play.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      Contact information &mdash; used by Google only, it isn't seen by your
-      customers.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      Web site URL &mdash; displayed on your store listing page.
-    </p>
-  </li>
-</ul>
-
-<p>
-  On the account details page you can also add restricted access for marketers
-  and other teams, register for a merchant account, or set up test accounts for
-  Google Play licensing.
-</p>
-
-<div class="headerLine">
-  <h2 id="merchant-account">
-    Linking Your Merchant Account
-  </h2>
-
-
-</div>
-
-<p>
-  If you want to sell apps or in-app products, link your Google payments merchant
-  account to your developer profile. Google Play uses the linked merchant
-  account for financial and tax identification, as well as for monthly payouts
-  from sales.
-</p>
-
-<div class="headerLine">
-  <h2 id="multiple-user-accounts">
-    Multiple User Accounts
-  </h2>
-
-
-</div>
-
-<p>
-  Set up user accounts for other team members to access different parts of your
-  Developer Console.
-</p>
-
-<div style="width:550px;">
-  <img src="{@docRoot}images/gp-dc-invite.png" class="frame">
-</div>
-
-<p>
-  The first account registered is the <em>account owner</em>, with full access
-  to all parts of the console. The owner can add <em>user accounts</em> and
-  manage console access.
-</p>
-
-<p>
-  For example, an owner can grant users access to publishing and app
-  configuration, but not to financial reports. Learn how to <a href=
-  "https://support.google.com/googleplay/android-developer/answer/2528691">set
-  up multiple accounts</a> now.
-</p>
-
-<div class="headerLine">
-  <h2 id="store-listing-details">
-    Store Listing Details
-  </h2>
-
-
-</div>
-
-<p>
-  Use the Developer Console to set up a <em>Store Listing page</em>. This is
-  the home for your app in Google Play. It's the page users see on their mobile
-  phones or on the web to learn about your app and download it.
-</p>
-
-<p>
-  Upload custom brand assets, screenshots, and videos to highlight what's great
-  about your app. Provide a localized description, add notes about the latest
-  version, and more. You can update your store listing at any time.
-</p>
-
-<div>
-  <img src="{@docRoot}images/gp-dc-details.png" class="frame">
-</div>
-
-<div class="headerLine">
-  <h2 id="upload-instantly-publish">
-    Upload and Instantly Publish
-  </h2>
-
-
-</div>
-
-<p>
-  From the Developer Console you can quickly upload and publish a release-ready
-  Android application package file. The app is a <em>draft</em> until you
-  publish it, at which time Google Play makes your store listing page and app
-  available to users&mdash;your app appears in the store listings within hours,
-  not weeks.
-</p>
-
-<p>
-  Once your app is published, you can update it as often as you want: Change
-  prices, configuration, and distribution options at any time, without needing
-  to update your app binary.
-</p>
-
-<p>
-  As you add features or address code issues, you can publish an updated binary
-  at any time. The new version is available almost immediately and existing
-  customers are notified that an update is ready for download. Users can also
-  accept automatic updates to your app, so that your updates are delivered and
-  installed as soon as you publish them. You can unpublish your apps app at any
-  time.
-</p>
-
-<div class="headerLine">
-  <h2 id="alpha-beta">
-    Alpha and Beta Testing
-  </h2>
-
-
-</div>
-
-<p>
-  It's always valuable to get real-world feedback from users, especially before
-  launch. Google Play makes it easy to distribute pre-release versions of your
-  app to alpha and beta test groups anywhere in the world.
-</p>
-
-<p>
-  In the <strong>APK</strong> section of your Google Play Developer Console
-  you’ll find the <strong>Alpha Testing</strong> and <strong>Beta
-  Testing</strong> tabs. Here you can upload versions of your apps’ APK files
-  and define a list of testers as a <a href=
-  "https://support.google.com/groups/answer/46601">Google Group</a> or <a href=
-  "https://support.google.com/plus/topic/2888488">Google+ Community</a>. Once
-  this is done you’ll receive a URL that you forward to your testers, from
-  which they can opt-in to the testing program.
-</p>
-
-<div>
-  <img src="{@docRoot}images/gp-dc-ab.png" class="frame">
-</div>
-
-<p>
-  After opting-in, your testers then go to your app’s product page and when
-  they download the app Google Play will deliver them the alpha or beta version
-  as appropriate. Incidentally, if a user happens to be opted-in to both your
-  testing groups, Google Play will always deliver them the alpha test version.
-</p>
-
-<p>
-  Note that users cannot provide feedback and reviews on alpha and beta
-  versions of your apps. To gather feedback you could used the <a href=
-  "https://support.google.com/groups/answer/46601">Google Group</a> or <a href=
-  "https://support.google.com/plus/topic/2888488">Google+ Community</a>, or
-  setup an email address or your own website.
-</p>
-
-<p>
-  You can use these testing programs to <a href=
-  "{@docRoot}distribute/essentials/optimizing-your-app.html">optimize your
-  apps</a>, help with <a href=
-  "{@docRoot}distribute/users/expand-to-new-markets.html">rollout to new
-  markets</a>, and start <a href=
-  "{@docRoot}distribute/users/build-community.html">building your
-  community</a>. There is also more information on using beta test in the
-  <a href="{@docRoot}distribute/tools/launch-checklist.html">Launch
-  Checklist</a> and <a href=
-  "{@docRoot}distribute/tools/localization-checklist.html">Localization
-  Checklist</a>.
-</p>
-
-<div class="headerLine">
-  <h2 id="staged-rollouts">
-    Staged Rollouts
-  </h2>
-
-
-</div>
-
-<p>
-  You can also stage the rollout of your apps using the Production tab in the
-  APK section of your Google Play Developer Console. Here you can define the
-  percentage of user who’ll be able to download your app.
-</p>
-
-<p>
-  Staging your rollout will help limit the impact of unexpected bugs or server
-  load and enable you to gauge user feedback with an unbiased sample of users.
-  Users can rate and review your apps during staged roll outs, so if you’re
-  hesitant, start your rollout to a small percentage of users. Be sure to watch
-  for and respond to any negative reviews.
-</p>
-
-<p>
-  Note that rollbacks aren’t supported due to the <a href=
-  "{@docRoot}tools/publishing/versioning.html">app versioning requirements</a>
-  of the Android platform. If you need to rollback, consider launching a
-  previous APK with a new version number. However, this practice should be used
-  only as a last resort, as users will lose access to new features and your old
-  app may not be forward-compatible with your server changes or data formats,
-  so be sure to run <a href="#alpha-beta">alpha and beta tests</a> of your
-  updates.
-</p>
-
-<div class="headerLine">
-  <h2 id="multiple-apk">
-    Multiple APK Support
-  </h2>
-
-
-</div>
-
-<p>
-  In most cases, a single app package (APK) is all you need, and it’s usually
-  the easiest way to manage and maintain the app. However, if you need to
-  deliver a different APK to different devices, Google Play provides a way to
-  do that.
-</p>
-
-<p>
-  <em>Multiple APK support</em> lets you create multiple app packages that use
-  the same package name but differ in their OpenGL texture compression formats,
-  screen-size support, or Android platform versions supported. You can simply
-  upload all the APKs under a single product listing and Google Play selects
-  the best ones to deliver to users, based on the characteristics of their
-  devices.
-</p>
-
-<p>
-  You can also upload up to two secondary downloads for each published APK,
-  including multiple APKs, using the <em>APK Expansion Files</em> option. Each
-  expansion file can be up to 2GB and contain any type of code or assets.
-  Google Play hosts them for free and handles the download of the files as part
-  of the normal app installation.
-</p>
-
-<div class="headerLine">
-  <h2 id="selling-pricing-your-products">
-    Selling and Pricing Your Products
-  </h2>
-
-
-</div>
-
-<div class="figure-right">
-  <img src="{@docRoot}images/gp-buyer-currency.png" class="frame">
-</div>
-
-<p>
-  You have tools to set prices for your apps and in-app products. Your app can
-  be free to download or priced, requiring payment before download.
-</p>
-
-<ul>
-  <li>If you publish your app as free, it must <strong>remain free for the life
-  of the app</strong>. Free apps can be downloaded by all users in Google Play.
-  </li>
-
-  <li>If you publish it as priced, you can later change it to free. Priced apps
-  can be purchased and downloaded only by users who have registered a form of
-  payment in Google Play.
-  </li>
-</ul>
-
-<div class="sidebox-wrapper" style="float:right;">
-  <div class="sidebox">
-    <p>
-      See <a href=
-      "http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=138294&amp;topic=2365624&amp;ctx=topic">
-      Supported locations for distributing applications</a> for a list of
-      countries where you can distribute or sell your apps.
-    </p>
+    <div class="col-8of12 col-push-1of12">
+      <img src=
+      "{@docRoot}images/distribute/googleplay/dev-console_cloud-test-lab.png"
+      srcset=
+      "{@docRoot}images/distribute/googleplay/dev-console_cloud-test-lab.png 1x, {@docRoot}images/distribute/googleplay/dev-console_cloud-test-lab_2x.png 2x"
+      width="500">
+    </div>
   </div>
 </div>
 
-<p>
-  You can also offer in-app products and subscriptions, whether the app is free
-  or priced. Set prices separately for priced apps, in-app products, and
-  subscriptions.
-</p>
+<h3 id="staged-rollouts">Staged rollouts</h3>
 
 <p>
-  When users browse your app product pages or initiate a purchase, Google Play
-  shows them the price they’ll be charged in their local currency.
+  Release app updates progressively to an increasing portion of your users and
+  monitor for missed issues. Then take the opportunity to fix problems before
+  all your users are affected. <a href=
+  "https://support.google.com/googleplay/android-developer/answer/3131213"
+  class="external-link">Learn more.</a>
 </p>
 
-<p>
-  For each product, you initially set a default price in your own currency. If
-  you do no more, Google Play will automatically set local prices once a month
-  based on the US-Dollar price for your app.
+<p class="aside">
+  <strong>Tip:</strong> If you find an issue during a rollout stage you can
+  halt the rollout to further minimize the effect, and then resume rollout once
+  a fix has been made.
 </p>
 
-<p>
-  However, Google Play gives you complete control over how you price your
-  products in each country. To start you can manually set fixed local prices
-  from the default price, using the <strong>auto-convert prices now</strong>
-  feature. You can then review these prices and set new ones for any countries
-  you wish &mdash; the price for each country is independent, so you can adjust
-  one price without affecting others. For most countries, the price you set is
-  the final price charged to users, including taxes.
-</p>
+<h2 id="aquire-users">Aquire users</h2>
 
-<p>
-  For more on pricing your apps, see <a href=
-  "{@docRoot}distribute/users/expand-to-new-markets.html#localize-your-google-play-listing">
-  Expand into New Markets</a>.
-</p>
+  <h3 id="adwords">AdWords Universal App Campaigns</h3>
 
-<div class="headerLine">
-  <h2 id="in-app-products">
-    In-app Products
-  </h2>
-
-
-</div>
-
-<p>
-  You can sell in-app products and subscriptions using <a href=
-  "{@docRoot}google/play/billing/index.html">Google Play In-app Billing</a> as
-  a way to monetize your apps. In-app products are one-time purchases, while
-  subscriptions are recurring charges on a monthly or annual basis.
-</p>
-
-<p>
-  In the <strong>In-app Products</strong> section for a specific published or
-  draft APK you:
-</p>
-
-<ul>
-  <li>Create product lists for in-app products and subscriptions.
-  </li>
-
-  <li>Set prices.
-  </li>
-
-  <li>Publish the products with the app or withdraw obsolete products.
-  </li>
-</ul>
-
-<p>
-  For details on how to implement In-app Billing, see the <a href=
-  "{@docRoot}google/play/billing/index.html">In-app Billing</a> developer
-  documentation. You make use of in-app products in the <a href=
-  "{@docRoot}distribute/monetize/premium.html">Premium</a>, <a href=
-  "{@docRoot}distribute/monetize/freemium.html">Freemium</a>, and <a href=
-  "{@docRoot}distribute/monetize/subscriptions.html">Subscription</a>
-  monetization models
-</p>
-
-<div class="headerLine">
-  <h2 id="distribution-controls">
-    Distribution Controls
-  </h2>
-
-
-</div>
-
-<p>
-  Manage which countries and territories your apps will distribute to. For some
-  countries, you can choose which carriers you want to target. You can also see
-  the list of devices your app is available for, based on any distribution
-  rules declared in its manifest file.
-</p>
-
-<h3 id="geotargeting">
-  Geographic targeting
-</h3>
-
-<p>
-  You can use controls in the Google Play Developer Console to easily manage
-  the geographic distribution of your apps, without any changes in your
-  application binary. You can specify which countries and territories you want
-  to distribute to, and even which carriers (for some countries).
-</p>
-
-<p>
-  When users visit the store, Google Play makes sure that they are in one of
-  your targeted countries before downloading your app. You can change your
-  country and carrier targeting at any time just by saving changes in the
-  Google Play Developer Console.
-</p>
-
-<div class="figure-right" style="width:500px;">
-  <img src="{@docRoot}images/gp-supported-dev-requirements.png" class="frame">
-</div>
-
-<p>
-  To help you market to users around the world, you can <a href=
-  "{@docRoot}distribute/tools/launch-checklist.html#start-localization">localize
-  your store listing</a>, including app details and description, promotional
-  graphics, screenshots, and more.
-</p>
-
-<h3 id="captargeting">
-  Capabilities targeting
-</h3>
-
-<p>
-  Google Play also lets you control distribution according to device features
-  or capabilities that your app depends on. There are several types of
-  dependencies that the app can define in its manifest, such as hardware
-  features, OpenGL texture compression formats, libraries, Android platform
-  versions, and others.
-</p>
-
-<p>
-  When you upload your app, Google Play reads the dependencies and sets up any
-  necessary distribution rules. For technical information about declaring
-  dependencies, read <a href="{@docRoot}google/play/filters.html">Filters on
-  Google Play</a>.
-</p>
-
-<p>
-  For pinpoint control over distribution, Google Play lets you see all of the
-  devices your app is available to based on its dependencies (if any). From the
-  Google Play Developer Console, you can list the supported devices and even
-  exclude specific devices if needed.
-</p>
-
-<div class="headerLine">
-  <h2 id="reviews-reports">
-    User Reviews and Crash Reports
-  </h2>
-
-
-</div>
-
-<div class="figure-right" style="width:500px;">
-  <img src="{@docRoot}images/gp-dc-reviews.png" class="frame">
-  <p class="img-caption">
-    The User reviews section gives you access to user reviews for a specific
-    app. You can filter reviews in a number of ways to locate issues more
-    easily and support your customers more effectively.
+  <p>
+    Easily and conveniently buy AdWords app install ads, across Search
+    (including Play Search), YouTube, AdMob, and the Google Display Network.
+    Simply set a budget and cost per acquisition and Google takes care of the
+    rest. <a href="{@docRoot}distribute/users/promote-with-ads.html">Learn
+    more</a>.
   </p>
+
+<div class="wrap">
+  <h3 id="listing-experiments">Store Listing Experiments</h3>
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-3of12">
+      <p>
+        Test variations of the images and text used to promote and describe
+        your app on your Play store listing. Then when enough data has been
+        collected, choose to make the winning combination visible on Google
+        Play. <a href="{@docRoot}distribute/users/experiments.html">Learn
+        more</a>.
+      </p>
+
+      <p class="aside">
+        <strong>Tip:</strong> You can even try out different orders for your
+        screenshots and other images to discover which grabs users’ attention
+        the best.
+      </p>
+    </div>
+
+    <div class="col-8of12 col-push-1of12">
+      <img src=
+      "{@docRoot}images/distribute/googleplay/dev-console_store-listing-experiment.png"
+      srcset=
+      "{@docRoot}images/distribute/googleplay/dev-console_store-listing-experiment.png 1x, {@docRoot}images/distribute/googleplay/dev-console_store-listing-experiment_2x.png 2x"
+      width="500">
+    </div>
+  </div>
+
+  <h3 id="user-perf-report">User Acquisition performance report</h3>
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-3of12">
+      <p>
+        Discover where visitors to your Play Store listing come from, how many
+        go on to install your app, and how many buy your in-app products in the
+        User Acquisition performance report; compare cohorts, examine
+        acquisition channels, and see details of users and buyers. <a href=
+        "{@docRoot}distribute/users/user-acquisition.html">Learn more</a>.
+      </p>
+    </div>
+
+    <div class="col-8of12 col-push-1of12">
+      <img src=
+      "{@docRoot}images/distribute/googleplay/dev-console_conversion-funnel.png"
+      srcset=
+      "{@docRoot}images/distribute/googleplay/dev-console_conversion-funnel.png 1x, {@docRoot}images/distribute/googleplay/dev-console_conversion-funnel_2x.png 2x"
+      width="500">
+    </div>
+  </div>
 </div>
 
-<p>
-  Google Play makes it easy for users to submit reviews of your app for the
-  benefit of other users. The reviews give you usability feedback, support
-  requests, and details of important functionality issues direct from your
-  customers.
-</p>
+<h2 id="insights">Actionable insights</h2>
 
-<p>
-  Use crash reports for debugging and improving your app. You can see crash
-  reports with stack trace and other data, submitted automatically from Android
-  devices.
-</p>
+<div class="wrap">
 
-<div class="headerLine">
-  <h2 id="app-stats">
-    App Statistics
-  </h2>
+<h3 id="player-analytics">Player Analytics</h3>
 
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-3of12">
+      <p>
+        With Google Play game services integration, discover more about the
+        behaviour of your game players; how they play and how they buy. Also get
+        help setting and monitoring revenue budgets. <a href=
+        "{@docRoot}distribute/engage/game-services.html">Learn more</a>.
+      </p>
+    </div>
 
+    <div class="col-8of12 col-push-1of12">
+      <img src=
+      "{@docRoot}images/distribute/googleplay/dev-console_player-analytics.png"
+      srcset=
+      "{@docRoot}images/distribute/googleplay/dev-console_player-analytics.png 1x, {@docRoot}images/distribute/googleplay/dev-console_player-analytics_2x.png 2x"
+      width="500">
+    </div>
+  </div>
+
+<h3 id="stats">Detailed statistics and reports</h3>
+
+  <div class="cols" style="margin-top:2em;">
+    <div class="col-3of12">
+      <p>
+        Get a wide range of reports on the performance of your app and behaviour
+        of users; such as installs, revenue, crashes, and more. Turn on email
+        alerts to be notified of any sudden changes to important stats. <a href=
+        "https://support.google.com/googleplay/android-developer/topic/3450942?ref_topic=3450986"
+        class="external-link">Learn more.</a>
+      </p>
+    </div>
+
+    <div class="col-8of12 col-push-1of12">
+      <img src=
+      "{@docRoot}images/distribute/googleplay/dev-console_statistics.png" srcset=
+      "{@docRoot}images/distribute/googleplay/dev-console_statistics.png 1x, {@docRoot}images/distribute/googleplay/dev-console_statistics_2x.png 2x"
+      width="500">
+    </div>
+  </div>
 </div>
 
-<div class="figure" style="width:500px">
-  <img src="{@docRoot}images/gp-dc-stats.png">
-  <p class="img-caption">
-    <b>App statistics page</b>: Shows you a variety of statistics about a
-    specific app's installation performance.
-  </p>
-</div>
+
+<h3 id="optimization"> Optimization tips</h3>
 
 <p>
-  You get detailed statistics on the install performance of your app.
+  Get tips, based on automatic app scanning, on ways in which you can improve
+  your app, everything from updating old APIs to suggestions for languages you
+  should consider localizing to.
 </p>
 
-<p>
-  See installation metrics measured by unique users as well as by unique
-  devices. View active installs, total installs, upgrades, daily installs and
-  uninstalls, and metrics about ratings.
-</p>
+<h2 id="manage">Manage your app</h2>
+
+<h3 id="manage-apks">Manage your APKs</h3>
 
 <p>
-  Zoom into the installation numbers by metric, including Android platform
-  version, device, country, language, app version, and carrier. View the
-  installation data for each dimension on timeline charts.
+  Upload and manage your Android application packages (APK) to the Developer
+  Console as drafts or to your Alpha, Beta, or Production channels. <a href=
+  "https://support.google.com/googleplay/android-developer/answer/113469?ref_topic=3450986"
+  class="external-link">Learn more.</a>
 </p>
 
+<p class="aside">
+  <strong>Tip:</strong> Ensure users get the best possible experience for the
+  smallest app downloads by creating multiple APKs with just the right content
+  for device screen size, hardware features and more.
+</p>
+
+<h3 id="iap">In-app products and subscriptions</h3>
+
 <p>
-  These charts highlight your app’s installation peaks and longer-term trends.
-  They help you learn your user’s adoption behavior, correlate statistics to
-  promotions, see the effect of app improvements, and other factors. Focus in
-  on data inside a dimension by adding specific points to the timeline.
+  Manage your in-app products and price them for local markets accordingly.
+  Offer weekly, monthly, annual, or seasonal subscriptions and take advantage
+  of features such as grace periods and trials. <a href=
+  "https://support.google.com/googleplay/android-developer/topic/3452896?ref_topic=3452890"
+  class="external-link">Learn more.</a>
+</p>
+
+<h3 id="pricing">Pricing and distribution</h3>
+
+<p>
+  Control the price of your app for each country you choose to distribute to.
+  Make your app available to new audiences — opt-in to Android Auto, Android
+  TV, and Android Wear, as well as Designed for Families, Google Play for Work,
+  and Google Play for Education. <a href=
+  "https://support.google.com/googleplay/android-developer/answer/113469#pricing"
+  class="external-link">Learn more</a>.
+</p>
+
+<p class="external-link">
+  <strong>Tip:</strong> You can set prices in other countries automatically
+  based on current exchange rates using the <strong>auto-convert prices
+  now</strong> feature.
 </p>
 
 <p style="clear:both">
@@ -596,7 +295,7 @@
 </div>
 
 <div class="resource-widget resource-flow-layout col-13"
-  data-query="collection:distribute/googleplay/developerconsole"
+  data-query="collection:distribute/googleplay/developerconsole/related"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3"
   data-maxResults="6"></div>
diff --git a/docs/html/distribute/googleplay/googleplay_toc.cs b/docs/html/distribute/googleplay/googleplay_toc.cs
index 60da6d2..b7b59c0 100644
--- a/docs/html/distribute/googleplay/googleplay_toc.cs
+++ b/docs/html/distribute/googleplay/googleplay_toc.cs
@@ -39,19 +39,6 @@
     </div>
   </li>
   <li class="nav-section">
-    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/guide.html"
-       es-lang="Cómo tener éxito en Google Play"
-       ja-lang="Google Play で成功を手にする"
-       ko-lang="Google Play에서 성공 모색"
-       pt-br-lang="Obtendo sucesso no Google Play"
-       ru-lang="Найдите свой путь к успеху в Google Play"
-       zh-cn-lang="在 Google Play 上取得成功"
-       zh-tw-lang="在 Google Play 上尋找成功">
-           Find Success on <span style="white-space:nowrap">Google Play
-        </a>
-    </div>
-  </li>
-  <li class="nav-section">
     <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/wear.html"
        es-lang="Distribución para Android Wear"
        ja-lang="Android Wear への配布"
@@ -136,10 +123,23 @@
         </a>
     </div>
   </li>
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/guide.html"
+       es-lang="Cómo tener éxito en Google Play"
+       ja-lang="Google Play で成功を手にする"
+       ko-lang="Google Play에서 성공 모색"
+       pt-br-lang="Obtendo sucesso no Google Play"
+       ru-lang="Найдите свой путь к успеху в Google Play"
+       zh-cn-lang="在 Google Play 上取得成功"
+       zh-tw-lang="在 Google Play 上尋找成功">
+           Find Success on <span style="white-space:nowrap">Google Play
+        </a>
+    </div>
+  </li>
 </ul>
 <script type="text/javascript">
 <!--
     buildToggleLists();
     changeNavLang(getLangPref());
 //-->
-</script>
\ No newline at end of file
+</script>
diff --git a/docs/html/distribute/googleplay/guide.jd b/docs/html/distribute/googleplay/guide.jd
index 8317206..6cb8cc0 100644
--- a/docs/html/distribute/googleplay/guide.jd
+++ b/docs/html/distribute/googleplay/guide.jd
@@ -1,7 +1,8 @@
-page.title=Finding Success on Google Play
-page.metaDescription=A guide to help you find success with your app or game business on Google Play.
-meta.tags="distribute", "bestpractices"
-page.tags="google play", "business", "monetize", "engagement"
+page.title=Find Success on Google Play
+page.metaDescription=The updated guide that helps you find success with your app or game business on Google Play.
+page.tags="play,protips"
+page.timestamp=1447437450
+meta.tags="secrets, success, play, google"
 page.image=distribute/images/play_dev_guide.png
 
 @jd:body
@@ -9,63 +10,34 @@
 <p>
   We’ve created a downloadable guide to help you find success with your app or
   game business on Google Play. In it, you’ll find features, tips, and best
-  practices to help you build an effective strategy.
+  practices to help you build an effective strategy to improve the quality,
+  reach, retention, and monetization of your apps and games.
 </p>
 
-<p>
-  The guide is separated into the following sections:
-</p>
-<ul>
-  <li>
-    <strong>Publishing on Google Play</strong> &mdash; using the Google Play
-    Developer Console to distribute your app to over 1 billion Android users
-    worldwide.
-  </li>
+<a href="https://play.google.com/store/books/details?id=O2a5CgAAQBAJ&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-AC-global-none-all-co-pr-py-PartBadges-Oct1515-1">
+  <img src="{@docRoot}images/distribute/secrets_v2_banner.jpg">
+</a>
 
-  <li>
-    <strong>Quality</strong> &mdash; The fundamentals of building a great app
-    and an insight into the Google Play guidelines and policies.
-  </li>
+<div style="text-align:center">
+  <a href="https://play.google.com/store/books/details?id=O2a5CgAAQBAJ&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-AC-global-none-all-co-pr-py-PartBadges-Oct1515-1">
+  <img alt="Get it on Google Play"
+   src="https://play.google.com/intl/en_us/badges/images/books/en-play-badge-border.png"
+   style="height:60px" />
+  </a>
+</div>
 
-  <li>
-    <strong>Discoverability &amp; reach</strong> &mdash; Maximizing your app's
-    discoverability and reaching the widest audience possible.
-  </li>
-
-  <li>
-    <strong>Engagement &amp; retention</strong> &mdash; Converting
-    installations into active users and improving user retention.
-  </li>
-
-  <li>
-    <strong>Monetization</strong> &mdash; Monetization strategies to generate
-    ongoing, growing revenue streams.
-  </li>
-
-  <li>
-    <strong>Measurement with Google Analytics</strong> &mdash; Understanding
-    your users and improving your app experience, conversions, and marketing.
-  </li>
-
-  <li>
-    <strong>Going global</strong> &mdash; Launching your app in local markets
-    around the world.
-  </li>
-</ul>
-
-<p>
-  Download the guide by clicking the image below or <a href=
-  "http://goo.gl/DFjbrS">get it on Google Play</a>.
+<p><a
+  href="https://docs.google.com/forms/d/1KFE9D7NlOrxM_jzmyMeZGaczgg1xo57jBoGq0R5nnsU/viewform">Sign
+  up to be notified</a> when the guide is released in the following languages:
+  Bahasa Indonesia, Deutsch, español (Latinoamérica), le français, português do
+  Brasil, <span style="white-space: nowrap;">tiếng Việt</span>, <span style="white-space:
+  nowrap;">русский язы́к</span>, <span style="white-space: nowrap;">ไทย</span>,
+  <span style="white-space: nowrap;">한국어</span>, <span style="white-space: nowrap;">中文
+  (简体)</span>, <span style="white-space: nowrap;">中文 (繁體)</span>, and <span style="white-space:
+  nowrap;">日本語</span>.
 </p>
 
-<p>
-  We’ll release the guide in more languages in the coming months. Check back to
-  this website regularly as we post information on new features and best
-  practices to help you distribute and monetize your app.
+<p>You can also <a
+  href="{@docRoot}shareables/distribute/secrets_play/v2/web/secrets_to_app_success_v2_en.pdf">download
+  the pdf</a>.
 </p>
-  <div class="resource-widget resource-flow-layout col-16"
-    data-query="collection:play_dev_guide"
-    data-cardSizes="9x6"
-    data-maxResults="1">
-  </div>
-
diff --git a/docs/html/distribute/users/banners.jd b/docs/html/distribute/users/banners.jd
new file mode 100644
index 0000000..8a7ccc0
--- /dev/null
+++ b/docs/html/distribute/users/banners.jd
@@ -0,0 +1,64 @@
+page.title=Add An App Install Banner On Your Mobile Website
+page.metaDescription=Add a native app install banner to your mobile website and allow visitors to install your app straight from your site.
+page.image=images/cards/distribute/users/banners.png
+page.tags="banner, chrome, web"
+Xnonavpage=true
+
+@jd:body
+
+<!--
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>In this document</h2>
+    <ol>
+      <li>TOC item</li>
+    </ol>
+  </div>
+</div>
+-->
+
+<div class="figure" style="width:138px">
+  <img src="{@docRoot}images/distribute/users/banners.png"
+    srcset="{@docRoot}images/distribute/users/banners.png 1x,
+        {@docRoot}images/distribute/users/banners_2x.png 2x"
+    width="138">
+</div>
+
+<p>
+  Add a native app install banner to your mobile website and offer visitors the
+  added convenience of installing your app or game straight from your site.
+</p>
+
+<p>
+  Learn how to <a href=
+  "https://developers.google.com/web/updates/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android#native"
+  class="external-link">add a native app install banner</a> to your mobile
+  site.
+</p>
+
+<h3 id="how">How it Works</h3>
+
+<p>
+  App install banners are offered as an extension of Chrome’s ability to
+  deliver Web App install banners. You can setup this feature in a web app
+  manifest file. In the manifest you define how your app will appear on the
+  user’s system, how it should be launched, and whether its banner has priority
+  over the banner for your Web App. Then, as long as your site is delivered
+  over HTTPS, after a user visits your site on two separate days within a two
+  week period they’ll be shown your app’s install banner.
+</p>
+
+<p style="clear:both">
+</p>
+
+<div class="dynamic-grid">
+<div class="headerLine">
+<h2 id="related-resources">Related Resources</h2>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/banners/related"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+  </div>
diff --git a/docs/html/distribute/users/experiments.jd b/docs/html/distribute/users/experiments.jd
new file mode 100644
index 0000000..215d3a2
--- /dev/null
+++ b/docs/html/distribute/users/experiments.jd
@@ -0,0 +1,121 @@
+page.title=Increase installs with Store Listing Experiments
+page.metaDescription=Run experiments to find the best possible Play Store listing page.
+page.image=images/cards/distribute/users/experiments.png
+page.tags="ab testing, experiments, testing"
+Xnonavpage=true
+
+@jd:body
+
+<p>
+  First impressions matter, so having the best possible Play Store listing page
+  for your app is vital. Store Listing Experiments let you test combinations of
+  text and graphics to find the ones that bring you the most installs.
+</p>
+
+<img src="{@docRoot}images/distribute/googleplay/hero-store-listing-experiment.png"
+  srcset="{@docRoot}images/distribute/googleplay/hero-store-listing-experiment.png 1x,
+      {@docRoot}images/distribute/googleplay/hero-store-listing-experiment_2x.png 2x"
+ width="460">
+
+<p>
+  Learn how to <a href=
+  "https://support.google.com/googleplay/android-developer/answer/6227309"
+  class="external-link">get started with Store Listing Experiments.</a>
+</p>
+
+<h3 id="planning">Tips for planning a successful experiment</h3>
+<ul>
+  <li>Make sure that you have a question or objective in mind when designing
+  your experiments.
+  </li>
+
+  <li>Test one attribute at a time to get the clearest results, but test
+  similar changes in icons and feature graphics together, for example comparing
+  use of character art against objects from a game.
+  </li>
+
+  <li>Start testing with your app icon, because it can have a huge impact on
+  whether users pick your app from search results and category lists.
+  </li>
+
+  <li>Test all of your listing’s attributes; after icons, test screenshots and
+  short descriptions as they are seen by users from search results and category
+  lists. Test the feature graphic as a priority, as it has such a presence on
+  your store listing’s page.
+  </li>
+</ul>
+
+<h3 id="graphics">Tips for your graphics and text</h3>
+<ul>
+  <li>Create up to three alternatives for your hi-res icon, feature graphic,
+  screenshots, promo video, short description, and full description.
+  </li>
+
+  <li>Set up a Global experiment for graphics against your default language or
+  a Localized experiment for both text and graphics in a specific language.
+  Experiment with screenshots and their order.
+  </li>
+
+  <li>Be bold about testing different artwork, but iterate on the results to
+  confirm and improve your findings.
+  </li>
+
+  <li>Make sure short descriptions clearly demonstrate an app or game’s value
+  to users.
+  </li>
+</ul>
+
+<h3 id="success">Tips for running successful experiments</h3>
+<ul>
+  <li>Test one asset at a time, unless testing completely different designs for
+  a store listing page against one another.
+  </li>
+
+  <li>Run your experiment for at least 7 days, even if you have enough traffic
+  to get meaningful results in a few days. Depending on the percentage of your
+  audience you’re showing the experiment too and the traffic on your listings
+  page it may take anything from a few days to several weeks to get a
+  result.
+  </li>
+
+  <li>Run your experiments with 50 percent of your audience, the maximum
+  allowed, to get results faster; particularly for localized tests that may be
+  visible to only a small percentage of your users.
+  </li>
+
+  <li>Check the banner on the Experiments page to see progress. Once enough
+  data has been collected the winner is displayed and you can apply it to your
+  store listing.
+  </li>
+</ul>
+
+<p style="clear:both">
+</p>
+
+<!-- TBA
+<div class="dynamic-grid">
+<div class="headerLine">
+<h2 id="successes">See how other developers have successfully run Store
+  Listing Experiments
+</h2>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/experiments/successes"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="9"></div>
+  </div>
+-->
+
+<div class="dynamic-grid">
+<div class="headerLine">
+<h2 id="related-resources">Related Resources</h2>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/experiments/related"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x6"
+  data-maxResults="6"></div>
+  </div>
diff --git a/docs/html/distribute/users/user-acquisition.jd b/docs/html/distribute/users/user-acquisition.jd
new file mode 100644
index 0000000..3f073f5
--- /dev/null
+++ b/docs/html/distribute/users/user-acquisition.jd
@@ -0,0 +1,102 @@
+page.title=Understand Where Your Users Come From
+page.metaDescription=Use the Developer Console to identify the channels that bring the greatest volume of high-value users.
+page.image=images/cards/distribute/users/user-acquisition.jpg
+page.tags="user acquisition, reports, cohorts"
+Xnonavpage=true
+
+@jd:body
+
+<!--
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>In this document</h2>
+    <ol>
+      <li>TOC item</li>
+    </ol>
+  </div>
+</div>
+-->
+
+<p>
+  Whether you pay to acquire users or not, you want to focus your acquisition
+  efforts on the channels that bring you the greatest volume of high-value
+  users. It’s now easy to identify those channels from the User Acquisition
+  page in the Developer Console.
+</p>
+
+<img src="{@docRoot}images/distribute/googleplay/dev-console_conversion-funnel.png"
+  srcset="{@docRoot}images/distribute/googleplay/dev-console_conversion-funnel.png 1x,
+      {@docRoot}images/distribute/googleplay/dev-console_conversion-funnel_2x.png 2x"
+ width="500">
+
+<p>
+  From the performance report you can follow users — whether originating as
+  organic or paid traffic — from discovery to installation then onto their
+  purchase of your in-app products, with convenient predefined reporting
+  criteria. With the improved understanding of where your most valuable users
+  come from, you can better focus your efforts.
+</p>
+
+<p>
+  Learn more about how to <a href=
+  "https://support.google.com/googleplay/android-developer/answer/6263332"
+  class="external-link">measure your app’s user acquisition channels.</a>
+</p>
+
+<h2 id="how-to">How to use the User Acquisition performance report</h2>
+
+<ul>
+  <li>
+    <strong>Compare cohorts:</strong> In this report, a <em>cohort</em> is a
+    group of users who’ve visited your app’s store listing during a selected
+    date range. For example, if you update your app’s icon on the Play Store,
+    you’ll want to see how the change affects installs and in-app purchases.
+    You can do this by selecting cohorts before and after your app update, and
+    measure how your change impacted conversion rates.
+  </li>
+
+  <li>
+    <strong>Examine acquisition channels:</strong> For your defined cohort, you
+    can explore how user behaviour and value differ between acquisition
+    channels, such as organic Play Store traffic, AdWords campaigns, tracked
+    channels, and searches. Drill down into specific channels to explore user
+    behaviour in detail.
+  </li>
+
+  <li>
+    <strong>See users:</strong> Get stats for all the <strong>store listing
+    visitors</strong> (users who visited your app’s store listing) and
+    <strong>installers</strong>. This helps you understand how prospects are
+    converting into users.
+  </li>
+
+  <li>
+    <strong>See buyers:</strong> If you sell in-app products, the funnel report
+    can also tell you about <strong>new buyers</strong> and <strong>repeat
+    buyers</strong>. This helps you understand how quickly your in-app products
+    and subscriptions are gaining traction with users.
+  </li>
+</ul>
+
+<p class="aside">
+  <strong>Tip:</strong> If you’re directing your users to your mobile app from
+  your website, you can track conversions by adding a UTM campaign source and a
+  campaign name tag to the <a href=
+  "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-url-builder"
+  class="external-link">Google Play store URL.</a>
+</p>
+
+<p style="clear:both">
+</p>
+
+<div class="dynamic-grid">
+<div class="headerLine">
+<h2 id="related-resources">Related Resources</h2>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/useracquisition/related"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+  </div>
diff --git a/docs/html/distribute/users/users_toc.cs b/docs/html/distribute/users/users_toc.cs
index 1e4085b..f84c926 100644
--- a/docs/html/distribute/users/users_toc.cs
+++ b/docs/html/distribute/users/users_toc.cs
@@ -47,6 +47,26 @@
         </a>
     </div>
   </li>
+
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/experiments.html">
+          <span class="en">Increase installs with Store Listing Experiments</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/banners.html">
+          <span class="en">Add an App Install Banner On Your Mobile Website</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/user-acquisition.html">
+          <span class="en">Understand Where Your Users Come From</span>
+        </a>
+    </div>
+  </li>
+
 </ul>
 
 
diff --git a/docs/html/google/play/billing/billing_overview.jd b/docs/html/google/play/billing/billing_overview.jd
index 4ec4946..cc56468 100644
--- a/docs/html/google/play/billing/billing_overview.jd
+++ b/docs/html/google/play/billing/billing_overview.jd
@@ -32,6 +32,11 @@
     <li><a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">Sample
       Application (V3)</a></li>
   </ol>
+   <h2>Related Videos</h2>
+  <ol>
+    <li><a href="https://www.youtube.com/watch?v=UvCl5Xx7Z5o">Implementing
+      Freemium</a></li>
+  </ol>
 </div>
 </div>
 
diff --git a/docs/html/images/ads_hero@2x.jpg b/docs/html/images/ads_hero@2x.jpg
new file mode 100644
index 0000000..e202943
--- /dev/null
+++ b/docs/html/images/ads_hero@2x.jpg
Binary files differ
diff --git a/docs/html/images/ads_hero_17@2x.jpg b/docs/html/images/ads_hero_17@2x.jpg
new file mode 100644
index 0000000..409381a
--- /dev/null
+++ b/docs/html/images/ads_hero_17@2x.jpg
Binary files differ
diff --git a/docs/html/images/cards/admob-analytics_2x.png b/docs/html/images/cards/admob-analytics_2x.png
new file mode 100644
index 0000000..5c024b5
--- /dev/null
+++ b/docs/html/images/cards/admob-analytics_2x.png
Binary files differ
diff --git a/docs/html/images/cards/distribute/engage/beta.jpg b/docs/html/images/cards/distribute/engage/beta.jpg
new file mode 100644
index 0000000..40eb901
--- /dev/null
+++ b/docs/html/images/cards/distribute/engage/beta.jpg
Binary files differ
diff --git a/docs/html/images/cards/distribute/engage/card-game-services.png b/docs/html/images/cards/distribute/engage/card-game-services.png
new file mode 100644
index 0000000..54a3a94
--- /dev/null
+++ b/docs/html/images/cards/distribute/engage/card-game-services.png
Binary files differ
diff --git a/docs/html/images/cards/distribute/users/banners.png b/docs/html/images/cards/distribute/users/banners.png
new file mode 100644
index 0000000..ced01ae
--- /dev/null
+++ b/docs/html/images/cards/distribute/users/banners.png
Binary files differ
diff --git a/docs/html/images/cards/distribute/users/experiments.png b/docs/html/images/cards/distribute/users/experiments.png
new file mode 100644
index 0000000..06ea9ab
--- /dev/null
+++ b/docs/html/images/cards/distribute/users/experiments.png
Binary files differ
diff --git a/docs/html/images/cards/distribute/users/user-acquisition.jpg b/docs/html/images/cards/distribute/users/user-acquisition.jpg
new file mode 100644
index 0000000..8704e7a
--- /dev/null
+++ b/docs/html/images/cards/distribute/users/user-acquisition.jpg
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_developer_page.png b/docs/html/images/distribute/googleplay/about_developer_page.png
new file mode 100644
index 0000000..9e28a2f
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_developer_page.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_hero_play-opportunity.png b/docs/html/images/distribute/googleplay/about_hero_play-opportunity.png
new file mode 100644
index 0000000..97598e9
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_hero_play-opportunity.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_hero_play-opportunity_2x.png b/docs/html/images/distribute/googleplay/about_hero_play-opportunity_2x.png
new file mode 100644
index 0000000..9d0109c
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_hero_play-opportunity_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_personalized_home.png b/docs/html/images/distribute/googleplay/about_personalized_home.png
new file mode 100644
index 0000000..af35c35c
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_personalized_home.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_play_store_home.png b/docs/html/images/distribute/googleplay/about_play_store_home.png
new file mode 100644
index 0000000..6e2b52c
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_play_store_home.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_play_store_listing.png b/docs/html/images/distribute/googleplay/about_play_store_listing.png
new file mode 100644
index 0000000..985456a
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_play_store_listing.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/about_search_results.png b/docs/html/images/distribute/googleplay/about_search_results.png
new file mode 100644
index 0000000..8dbc3f4
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/about_search_results.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_cloud-test-lab.png b/docs/html/images/distribute/googleplay/dev-console_cloud-test-lab.png
new file mode 100644
index 0000000..efad065
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_cloud-test-lab.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_cloud-test-lab_2x.png b/docs/html/images/distribute/googleplay/dev-console_cloud-test-lab_2x.png
new file mode 100644
index 0000000..b60eed3
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_cloud-test-lab_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_conversion-funnel.png b/docs/html/images/distribute/googleplay/dev-console_conversion-funnel.png
new file mode 100644
index 0000000..e2d3769
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_conversion-funnel.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_conversion-funnel_2x.png b/docs/html/images/distribute/googleplay/dev-console_conversion-funnel_2x.png
new file mode 100644
index 0000000..531ed86
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_conversion-funnel_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_player-analytics.png b/docs/html/images/distribute/googleplay/dev-console_player-analytics.png
new file mode 100644
index 0000000..aa4f39e
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_player-analytics.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_player-analytics_2x.png b/docs/html/images/distribute/googleplay/dev-console_player-analytics_2x.png
new file mode 100644
index 0000000..b44e7f0
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_player-analytics_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_running-a-beta-test.png b/docs/html/images/distribute/googleplay/dev-console_running-a-beta-test.png
new file mode 100644
index 0000000..cf8ebca
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_running-a-beta-test.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_running-a-beta-test_2x.png b/docs/html/images/distribute/googleplay/dev-console_running-a-beta-test_2x.png
new file mode 100644
index 0000000..dcea50e
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_running-a-beta-test_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_statistics.png b/docs/html/images/distribute/googleplay/dev-console_statistics.png
new file mode 100644
index 0000000..4bddd1a
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_statistics.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_statistics_2x.png b/docs/html/images/distribute/googleplay/dev-console_statistics_2x.png
new file mode 100644
index 0000000..e1ab470
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_statistics_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_store-listing-experiment.png b/docs/html/images/distribute/googleplay/dev-console_store-listing-experiment.png
new file mode 100644
index 0000000..52fa217
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_store-listing-experiment.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/dev-console_store-listing-experiment_2x.png b/docs/html/images/distribute/googleplay/dev-console_store-listing-experiment_2x.png
new file mode 100644
index 0000000..ea5d0a4
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/dev-console_store-listing-experiment_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/gp-devconsole-home.png b/docs/html/images/distribute/googleplay/gp-devconsole-home.png
new file mode 100644
index 0000000..a1af0ef
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/gp-devconsole-home.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/hero-store-listing-experiment.png b/docs/html/images/distribute/googleplay/hero-store-listing-experiment.png
new file mode 100644
index 0000000..ad54c2a
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/hero-store-listing-experiment.png
Binary files differ
diff --git a/docs/html/images/distribute/googleplay/hero-store-listing-experiment_2x.png b/docs/html/images/distribute/googleplay/hero-store-listing-experiment_2x.png
new file mode 100644
index 0000000..2925aa5
--- /dev/null
+++ b/docs/html/images/distribute/googleplay/hero-store-listing-experiment_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/hero-IO15-growing-games.jpg b/docs/html/images/distribute/hero-IO15-growing-games.jpg
index c08bd71..f2f6584 100644
--- a/docs/html/images/distribute/hero-IO15-growing-games.jpg
+++ b/docs/html/images/distribute/hero-IO15-growing-games.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-acquisition-devbyte.jpg b/docs/html/images/distribute/hero-acquisition-devbyte.jpg
new file mode 100644
index 0000000..6a533bc
--- /dev/null
+++ b/docs/html/images/distribute/hero-acquisition-devbyte.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-domain-story.jpg b/docs/html/images/distribute/hero-domain-story.jpg
new file mode 100644
index 0000000..2246de0
--- /dev/null
+++ b/docs/html/images/distribute/hero-domain-story.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-dots-story.jpg b/docs/html/images/distribute/hero-dots-story.jpg
new file mode 100644
index 0000000..2791c7e
--- /dev/null
+++ b/docs/html/images/distribute/hero-dots-story.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-jelly-button.jpg b/docs/html/images/distribute/hero-jelly-button.jpg
index 032755b..3cc40f8 100644
--- a/docs/html/images/distribute/hero-jelly-button.jpg
+++ b/docs/html/images/distribute/hero-jelly-button.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-playtime-opener.jpg b/docs/html/images/distribute/hero-playtime-opener.jpg
new file mode 100644
index 0000000..fbd21bd
--- /dev/null
+++ b/docs/html/images/distribute/hero-playtime-opener.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-rogervoice-story.jpg b/docs/html/images/distribute/hero-rogervoice-story.jpg
new file mode 100644
index 0000000..2e48b55
--- /dev/null
+++ b/docs/html/images/distribute/hero-rogervoice-story.jpg
Binary files differ
diff --git a/docs/html/images/distribute/hero-secrets-to-app-success.jpg b/docs/html/images/distribute/hero-secrets-to-app-success.jpg
new file mode 100644
index 0000000..4d59e6b
--- /dev/null
+++ b/docs/html/images/distribute/hero-secrets-to-app-success.jpg
Binary files differ
diff --git a/docs/html/images/distribute/secrets_v2_banner.jpg b/docs/html/images/distribute/secrets_v2_banner.jpg
new file mode 100644
index 0000000..cec4d8e
--- /dev/null
+++ b/docs/html/images/distribute/secrets_v2_banner.jpg
Binary files differ
diff --git a/docs/html/images/distribute/users/banners.png b/docs/html/images/distribute/users/banners.png
new file mode 100644
index 0000000..44a2418
--- /dev/null
+++ b/docs/html/images/distribute/users/banners.png
Binary files differ
diff --git a/docs/html/images/distribute/users/banners_2x.png b/docs/html/images/distribute/users/banners_2x.png
new file mode 100644
index 0000000..2c1cb46
--- /dev/null
+++ b/docs/html/images/distribute/users/banners_2x.png
Binary files differ
diff --git a/docs/html/images/editorschoice_ann.png b/docs/html/images/editorschoice_ann.png
deleted file mode 100644
index c4f2c06..0000000
--- a/docs/html/images/editorschoice_ann.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/google/gps-play_games_logo.png b/docs/html/images/google/gps-play_games_logo.png
index 19692fa..9a107b2 100644
--- a/docs/html/images/google/gps-play_games_logo.png
+++ b/docs/html/images/google/gps-play_games_logo.png
Binary files differ
diff --git a/docs/html/images/google/gps-play_games_logo_2x.png b/docs/html/images/google/gps-play_games_logo_2x.png
new file mode 100644
index 0000000..fcc0c27
--- /dev/null
+++ b/docs/html/images/google/gps-play_games_logo_2x.png
Binary files differ
diff --git a/docs/html/images/gp-about-0.jpg b/docs/html/images/gp-about-0.jpg
deleted file mode 100644
index 2dd6a8c..0000000
--- a/docs/html/images/gp-about-0.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-about-listing.jpg b/docs/html/images/gp-about-listing.jpg
deleted file mode 100644
index 256c051..0000000
--- a/docs/html/images/gp-about-listing.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-about-picks1.jpg b/docs/html/images/gp-about-picks1.jpg
deleted file mode 100644
index 555bd7b..0000000
--- a/docs/html/images/gp-about-picks1.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-about-picks2.jpg b/docs/html/images/gp-about-picks2.jpg
deleted file mode 100644
index ec25e74..0000000
--- a/docs/html/images/gp-about-picks2.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-about-picks3.jpg b/docs/html/images/gp-about-picks3.jpg
deleted file mode 100644
index eb57da9..0000000
--- a/docs/html/images/gp-about-picks3.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-about-top.jpg b/docs/html/images/gp-about-top.jpg
deleted file mode 100644
index 01a2744..0000000
--- a/docs/html/images/gp-about-top.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-devconsole-home.png b/docs/html/images/gp-devconsole-home.png
deleted file mode 100644
index b29dc25..0000000
--- a/docs/html/images/gp-devconsole-home.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-rating-web.png b/docs/html/images/gp-rating-web.png
deleted file mode 100644
index 14582af..0000000
--- a/docs/html/images/gp-rating-web.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/topdev_ann.png b/docs/html/images/topdev_ann.png
deleted file mode 100644
index 9564387e..0000000
--- a/docs/html/images/topdev_ann.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/training/snackbar/snackbar_button_move.mp4 b/docs/html/images/training/snackbar/snackbar_button_move.mp4
new file mode 100644
index 0000000..0a1cefc
--- /dev/null
+++ b/docs/html/images/training/snackbar/snackbar_button_move.mp4
Binary files differ
diff --git a/docs/html/images/training/snackbar/snackbar_drive.png b/docs/html/images/training/snackbar/snackbar_drive.png
new file mode 100644
index 0000000..1483a84
--- /dev/null
+++ b/docs/html/images/training/snackbar/snackbar_drive.png
Binary files differ
diff --git a/docs/html/images/training/snackbar/snackbar_drive_2x.png b/docs/html/images/training/snackbar/snackbar_drive_2x.png
new file mode 100644
index 0000000..6d45b8c
--- /dev/null
+++ b/docs/html/images/training/snackbar/snackbar_drive_2x.png
Binary files differ
diff --git a/docs/html/images/training/snackbar/snackbar_undo_action.png b/docs/html/images/training/snackbar/snackbar_undo_action.png
new file mode 100644
index 0000000..979d127
--- /dev/null
+++ b/docs/html/images/training/snackbar/snackbar_undo_action.png
Binary files differ
diff --git a/docs/html/images/training/snackbar/snackbar_undo_action_2x.png b/docs/html/images/training/snackbar/snackbar_undo_action_2x.png
new file mode 100644
index 0000000..1f150af
--- /dev/null
+++ b/docs/html/images/training/snackbar/snackbar_undo_action_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/ask_again.png b/docs/html/images/training/wear/ask_again.png
new file mode 100644
index 0000000..33c110b
--- /dev/null
+++ b/docs/html/images/training/wear/ask_again.png
Binary files differ
diff --git a/docs/html/images/training/wear/ask_again_2x.png b/docs/html/images/training/wear/ask_again_2x.png
new file mode 100644
index 0000000..8996203
--- /dev/null
+++ b/docs/html/images/training/wear/ask_again_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/ask_in_context.png b/docs/html/images/training/wear/ask_in_context.png
new file mode 100644
index 0000000..61fa478
--- /dev/null
+++ b/docs/html/images/training/wear/ask_in_context.png
Binary files differ
diff --git a/docs/html/images/training/wear/ask_in_context_2x.png b/docs/html/images/training/wear/ask_in_context_2x.png
new file mode 100644
index 0000000..20c1f47
--- /dev/null
+++ b/docs/html/images/training/wear/ask_in_context_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/ask_up_front.png b/docs/html/images/training/wear/ask_up_front.png
new file mode 100644
index 0000000..ced2228
--- /dev/null
+++ b/docs/html/images/training/wear/ask_up_front.png
Binary files differ
diff --git a/docs/html/images/training/wear/ask_up_front_2x.png b/docs/html/images/training/wear/ask_up_front_2x.png
new file mode 100644
index 0000000..ef7eb46
--- /dev/null
+++ b/docs/html/images/training/wear/ask_up_front_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/deny.png b/docs/html/images/training/wear/deny.png
new file mode 100644
index 0000000..a1e9562
--- /dev/null
+++ b/docs/html/images/training/wear/deny.png
Binary files differ
diff --git a/docs/html/images/training/wear/deny_2x.png b/docs/html/images/training/wear/deny_2x.png
new file mode 100644
index 0000000..721c271
--- /dev/null
+++ b/docs/html/images/training/wear/deny_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/educate_in_context.png b/docs/html/images/training/wear/educate_in_context.png
new file mode 100644
index 0000000..c8ac641
--- /dev/null
+++ b/docs/html/images/training/wear/educate_in_context.png
Binary files differ
diff --git a/docs/html/images/training/wear/educate_in_context_2x.png b/docs/html/images/training/wear/educate_in_context_2x.png
new file mode 100644
index 0000000..92baead
--- /dev/null
+++ b/docs/html/images/training/wear/educate_in_context_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/educate_up_front.png b/docs/html/images/training/wear/educate_up_front.png
new file mode 100644
index 0000000..2e4fdf7
--- /dev/null
+++ b/docs/html/images/training/wear/educate_up_front.png
Binary files differ
diff --git a/docs/html/images/training/wear/educate_up_front_2x.png b/docs/html/images/training/wear/educate_up_front_2x.png
new file mode 100644
index 0000000..1f6f491
--- /dev/null
+++ b/docs/html/images/training/wear/educate_up_front_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/for_services.png b/docs/html/images/training/wear/for_services.png
new file mode 100644
index 0000000..0aaae10
--- /dev/null
+++ b/docs/html/images/training/wear/for_services.png
Binary files differ
diff --git a/docs/html/images/training/wear/for_services_2x.png b/docs/html/images/training/wear/for_services_2x.png
new file mode 100644
index 0000000..a7f92f2
--- /dev/null
+++ b/docs/html/images/training/wear/for_services_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/for_settings.png b/docs/html/images/training/wear/for_settings.png
new file mode 100644
index 0000000..fde50c7
--- /dev/null
+++ b/docs/html/images/training/wear/for_settings.png
Binary files differ
diff --git a/docs/html/images/training/wear/for_settings_2x.png b/docs/html/images/training/wear/for_settings_2x.png
new file mode 100644
index 0000000..c2daa7c
--- /dev/null
+++ b/docs/html/images/training/wear/for_settings_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/multiple_permissions.png b/docs/html/images/training/wear/multiple_permissions.png
new file mode 100644
index 0000000..65e3e08
--- /dev/null
+++ b/docs/html/images/training/wear/multiple_permissions.png
Binary files differ
diff --git a/docs/html/images/training/wear/multiple_permissions_2x.png b/docs/html/images/training/wear/multiple_permissions_2x.png
new file mode 100644
index 0000000..cbaace8
--- /dev/null
+++ b/docs/html/images/training/wear/multiple_permissions_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/open_on_phone.png b/docs/html/images/training/wear/open_on_phone.png
new file mode 100644
index 0000000..1899839
--- /dev/null
+++ b/docs/html/images/training/wear/open_on_phone.png
Binary files differ
diff --git a/docs/html/images/training/wear/open_on_phone_2x.png b/docs/html/images/training/wear/open_on_phone_2x.png
new file mode 100644
index 0000000..e5c2c96
--- /dev/null
+++ b/docs/html/images/training/wear/open_on_phone_2x.png
Binary files differ
diff --git a/docs/html/images/training/wear/phone_requests_wear.png b/docs/html/images/training/wear/phone_requests_wear.png
new file mode 100644
index 0000000..4d0b09d
--- /dev/null
+++ b/docs/html/images/training/wear/phone_requests_wear.png
Binary files differ
diff --git a/docs/html/images/training/wear/phone_requests_wear_2x.png b/docs/html/images/training/wear/phone_requests_wear_2x.png
new file mode 100644
index 0000000..1c98f4a
--- /dev/null
+++ b/docs/html/images/training/wear/phone_requests_wear_2x.png
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index fbf5497..b75b16d 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -11,7 +11,7 @@
 
 <!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
 <article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
-<a href="about/versions/marshmallow/index.html">
+<a href="https://androiddevsummit.withgoogle.com/">
   <div class="wrap" style="max-width:1100px;margin-top:0">
     <div class="cols dac-hero-content">
       <div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
@@ -19,19 +19,21 @@
       <div class="col-8of16 col-pull-7of16">
         <div class="dac-hero-tag"></div>
 
-        <h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
+        <h1 class="dac-hero-title" style="white-space:nowrap;">Android Developer Summit</h1>
         </div>
         <div class="col-6of16 col-push-1of16">
-        <p class="dac-hero-description" style="color:white"><strong>The
-        official Android 6.0 SDK is now available!</strong>
-        Explore&nbsp;what's&nbsp;new &mdash; runtime permissions,
-        Doze and App Standby power-saving features, new
-        assist technology, and more.</p>
+        <p class="dac-hero-description" style="color:white;"><span style="white-space:nowrap;"><strong>November 23-24;
+          Mountain View, CA</strong></span><br />
+        Over 16 hours of deep Android technical content, streamed live. </p>
 
-        <a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
+        <a class="dac-hero-cta" href="https://androiddevsummit.withgoogle.com/schedule">
           <span class="dac-sprite dac-auto-chevron"></span>
-          Learn more
-        </a><br>
+          See the schedule
+        </a><br />
+        <a class="dac-hero-cta" href="https://androiddevsummit.withgoogle.com/stream">
+          <span class="dac-sprite dac-auto-chevron"></span>
+          Get updates to watch live
+        </a>
       </div>
       </div>
     </div>
@@ -53,7 +55,7 @@
         <span class="dac-sprite dac-auto-chevron-large"></span>
         Browse Samples
       </a></div>
-      <div><a href="//www.youtube.com/user/androiddevelopers">
+      <div><a href="{@docRoot}/www.youtube.com/user/androiddevelopers">
         <span class="dac-sprite dac-auto-chevron-large"></span>
         Watch Videos
       </a></div>
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
index 2aa708f..0f2ba3e 100644
--- a/docs/html/jd_collections.js
+++ b/docs/html/jd_collections.js
@@ -16,10 +16,10 @@
   "index/secondary/carousel": {
     "title": "",
     "resources": [
-      "http://www.youtube.com/watch?v=0r36OJaeMo4",
-      "http://www.youtube.com/watch?v=1Iw7Tg_afKk",
-      "http://www.youtube.com/watch?v=TieksFvD-7o",
-      "http://www.youtube.com/watch?v=MCoh4Pxs_ok"
+      "http://www.youtube.com/watch?v=yJisuP94lHU",
+      "http://www.youtube.com/watch?v=rcU7VEs1hiE",
+      "http://www.youtube.com/watch?v=JFlX9rW7Epc",
+      "http://www.youtube.com/watch?v=4CqXCkcN_d4"
     ]
   },
   "index/multiscreen": {
@@ -187,10 +187,10 @@
   "distribute/landing/carousel": {
     "title": "",
     "resources": [
-      "https://www.youtube.com/watch?v=QDM52bblwlg",
-      "https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
-      "https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
-      "https://www.youtube.com/watch?v=jyO3-rF4Mu0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
+    "distribute/googleplay/guide.html",
+    "http://www.youtube.com/watch?v=JrR6o5tYMWQ",
+    "https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
+    "http://www.youtube.com/watch?v=yJisuP94lHU",
     ]
   },
   "distribute/landing/googleplay": {
@@ -308,6 +308,7 @@
       "distribute/googleplay/edu/about.html",
       "distribute/googleplay/cast.html",
       "distribute/googleplay/cardboard.html",
+      "distribute/googleplay/guide.html"
     ]
   },
   "distribute/googleplay/gpfw": {
@@ -352,6 +353,10 @@
       "distribute/users/ota-installs.html",
       "distribute/users/youtube.html",
       "distribute/users/house-ads.html",
+      "distribute/users/experiments.html",
+      "distribute/users/user-acquisition.html",
+      "distribute/users/banners.html",
+      "distribute/users/beta.html"
     ]
   },
   "distribute/engagelanding": {
@@ -365,6 +370,8 @@
       "distribute/engage/easy-signin.html",
       "distribute/analyze/build-better-apps.html",
       "distribute/engage/gcm.html",
+      "distribute/engage/beta.html"
+
     ]
   },
   "distribute/monetize": {
@@ -554,13 +561,46 @@
       "https://support.google.com/googleplay/android-developer"
     ]
   },
-  "distribute/googleplay/developerconsole": {
+  "distribute/googleplay/developerconsole/related": {
     "title": "Developer Console",
     "resources": [
       "google/play/billing/index.html",
       "https://support.google.com/googleplay/android-developer/answer/138294"
     ]
   },
+  "distribute/googleplay/beta": {
+    "title": "Alpha and Beta Testing",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/3131213",
+      "https://support.google.com/googleplay/android-developer/answer/3131213#games",
+      "distribute/googleplay/experiments.html"
+    ]
+  },
+  "distribute/googleplay/experiments/successes": {
+    "title": "Store Listing Experiment successes",
+    "resources": [
+    ]
+  },
+  "distribute/googleplay/experiments/related": {
+    "title": "Store Listing Experiments",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/6227309",
+      "https://www.youtube.com/watch?v=B6ydLpkhq04",
+      "https://support.google.com/tagmanager/answer/6003007"
+    ]
+  },
+  "distribute/googleplay/banners/related": {
+    "title": "App Install Banners",
+    "resources": [
+      "https://developers.google.com/web/updates/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android#native"
+    ]
+  },
+  "distribute/googleplay/useracquisition/related": {
+    "title": "User Acquisition",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/6263332"
+    ]
+  },
   "distribute/googleplay/cast": {
     "title": "Google Cast",
     "resources": [
@@ -996,11 +1036,13 @@
       "https://developers.google.com/cloud-messaging/android/client",
     ]
   },
-  "distribute/engage/googleplaygames": {
+  "distribute/engage/gamesservices/related": {
     "title": "",
     "resources": [
-      "google/play-services/games.html",
-      "distribute/essentials/best-practices/games.html"
+      "https://developers.google.com/games/services/",
+      "distribute/analyze/start.html",
+      "distribute/googleplay/cardboard.html",
+      "http://www.google.com/admob/"
     ]
   },
   "distribute/engage/gplus": {
@@ -1441,12 +1483,6 @@
       "training/wearables/ui/index.html"
     ]
   },
-  "play_dev_guide": {
-    "title": "",
-    "resources": [
-      "shareables/distribute/play_dev_guide_secrets_en.pdf"
-    ]
-  },
   "design/auto/auto_ui_guidelines": {
     "title": "",
     "resources": [
@@ -1643,9 +1679,9 @@
   "marshmallow/landing/resources": {
     "title": "",
     "resources": [
+       "about/versions/marshmallow/android-6.0-changes.html",
        "about/versions/marshmallow/android-6.0.html",
-       "about/versions/marshmallow/samples.html",
-       "https://developers.google.com/android/nexus/images"
+       "about/versions/marshmallow/samples.html"
     ]
   },
   "marshmallow/landing/videos": {
@@ -1675,7 +1711,8 @@
       "training/monitoring-device-state/doze-standby.html",
       "training/app-links/index.html",
       "training/articles/assistant.html",
-      "training/testing/performance.html"
+      "training/testing/performance.html",
+      "https://developers.google.com/android/nexus/images"
     ]
   },
 }
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
index 5a18d74..8e2f040 100644
--- a/docs/html/jd_extras.js
+++ b/docs/html/jd_extras.js
@@ -17,6 +17,72 @@
  /* TODO Remove standard resources from here, such as below
  */
   {
+    "title":"Measure your app’s user acquisition channels",
+    "titleFriendly":"",
+    "summary":"Get details on how to use the Developer Console User Acquisitions reports to discover where your users come from.",
+    "url":"https://support.google.com/googleplay/android-developer/answer/6263332",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Set up native app install banners in Chrome",
+    "titleFriendly":"",
+    "summary":"Get the details you need to add your native app or game to your site’s web app manifest file.",
+    "url":"https://developers.google.com/web/updates/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android#native",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Optimize your store listing pages with experiments",
+    "titleFriendly":"",
+    "summary":"You can run experiments to find the most effective graphics and localized text for your app.",
+    "url":"https://support.google.com/googleplay/android-developer/answer/6227309",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Content Experiments for Mobile Apps",
+    "titleFriendly":"",
+    "summary":"Google Analytics Content Experiments allows you to test multiple variations of a given web page.",
+    "url":"https://support.google.com/tagmanager/answer/6003007",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Store Listing Experiments for Google Play",
+    "titleFriendly":"",
+    "summary":"Learn how to use Google Play’s new store listing optimization feature to get more installs of your app.",
+    "url":"https://www.youtube.com/watch?v=B6ydLpkhq04",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"http://i1.ytimg.com/vi/B6ydLpkhq04/maxresdefault.jpg",
+    "type":"video"
+  },
+  {
+    "title":"Use alpha/beta testing & staged rollouts",
+    "titleFriendly":"",
+    "summary":"Using the Google Play Developer Console, you can choose groups of users to test different versions of your app.",
+    "url":"https://support.google.com/googleplay/android-developer/answer/3131213",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
     "title":"Quizlet Developer Story",
     "titleFriendly":"",
     "summary":"Quizlet is an extremely popular online learning tool for students. See how they optimized for the classroom with Android and the power of Google Play for Education.",
@@ -553,15 +619,47 @@
   {
     "title":"Google Play Game Services",
     "titleFriendly":"",
-    "summary":"Tools to offer a better game experience.",
-    "url":"google/play-services/games.html",
+    "summary":"Make your games social with Google Play game services. Add achievements, leaderboards, real-time multiplayer, and other popular features using the Google Play game services SDK.",
+    "url":"https://developers.google.com/games/services/",
     "group":"",
     "keywords": ["games","play games"],
     "tags": [],
     "image":"images/google/gps-play_games_logo.png",
     "type":"google"
   },
-
+  {
+    "title":"Get Started with Analytics",
+    "titleFriendly":"",
+    "summary":"Get advanced insight into how players discover and play your games.",
+    "url":"distribute/analyze/start.html",
+    "group":"",
+    "keywords": ["analytics"],
+    "tags": [],
+    "image": "images/cards/analytics-mobile_2x.jpg",
+    "type": "distribute"
+  },
+  {
+    "title":"Build VR with Google Cardboard",
+    "titleFriendly":"",
+    "summary":"Turn any phone into a virtual reality headset with a Cardboard viewer and experiment with adding virtual reality to your games with the Cardboard SDK.",
+    "url":"distribute/googleplay/cardboard.html",
+    "group":"",
+    "keywords": ["cardboard"],
+    "tags": [],
+    "image":"images/cards/card-cardboard_2x.png",
+    "type": "distribute"
+  },
+  {
+    "title":"Monetize your apps intelligently",
+    "titleFriendly":"",
+    "summary":"Generate revenue from your free games with ads tailored to match your game's look and feel.",
+    "url":"http://www.google.com/admob/",
+    "group":"",
+    "keywords": ["AdMob"],
+    "tags": [],
+    "image":"images/cards/admob-analytics_2x.png",
+    "type": "distribute"
+  },
   {
     "lang": "en",
     "group": "",
@@ -577,7 +675,6 @@
     "type": "blog",
     "titleFriendly": ""
   },
-
   {
     "lang": "en",
     "group": "",
@@ -633,13 +730,13 @@
   {
     "lang": "en",
     "group": "",
-    "tags": [],
+    "tags": ["devices", "nexus", "testing"],
     "url": "https://developers.google.com/android/nexus/images",
     "timestamp": 1194884220000,
     "image": "images/cards/card-download_16-9_2x.png",
-    "title": "System Images",
-    "summary": "Download system images for Marshmallow.",
-    "keywords": [],
+    "title": "Factory Images for Nexus Devices",
+    "summary": "System image files for Android 6.0 and other Android releases.",
+    "keywords": ["nexus, downloads"],
     "type": "support",
     "titleFriendly": ""
   },
@@ -1978,15 +2075,15 @@
   {
     "lang": "en",
     "group": "",
-    "tags": [],
-    "url": "shareables/distribute/play_dev_guide_secrets_en.pdf",
-    "timestamp": null,
-    "image": "distribute/images/play_dev_guide_b.jpg",
+    "tags": ["play,protips"],
+    "url": "shareables/distribute/secrets_play/v2/web/secrets_to_app_success_v2_en.pdf",
+    "timestamp": 1447437450,
+    "image": "images/distribute/secrets_v2_banner.jpg",
     "title": "The Secrets to App Success on Google Play",
-    "summary": "A guide to useful features, tips, and best practices that will help you grow a successful app business on Google Play.",
-    "keywords": ["distribute"],
-    "type": "PDF DOWNLOAD (11MB)",
-    "titleFriendly": ""
+    "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.",
+    "keywords": ["secrets, success, play, google"],
+    "type": "Book",
+    "category": "distribute"
   },
   {
     "lang": "en",
@@ -3636,10 +3733,31 @@
     "tags":["io15","android", "googleplay","games"],
     "keywords":["Google I/O","google play","games"],
     "type":"youtube"
-  }
+  },
+  {
+    "url":"http://www.youtube.com/watch?v=yJisuP94lHU",
+    "image": "images/distribute/hero-playtime-opener.jpg",
+    "title": "Playtime 2015: Innovation happens everywhere",
+    "type":"Video",
+    "tags":["googleplay"],
+    "summary": "Watch the opening video from Google Play's annual event series, Playtime, which celebrates inspirational developers who are changing the world around them.",
+  },
+{
+    "url":"http://www.youtube.com/watch?v=JrR6o5tYMWQ",
+    "image": "images/distribute/hero-acquisition-devbyte.jpg",
+    "title": "User acquisition and tracking on Google Play",
+    "type" : "Video",
+    "tags" : "users,googleplay,googleio",
+    "summary": "Learn how to get new users, using Universal app campaigns directly within the Google Play Developer Console to increase your installs from ads, and find out how your acquisition channels perform.",
+  },
 ]);
 
 var CAROUSEL_OVERRIDE = {
+  "distribute/googleplay/guide.html": {
+    "image": "images/distribute/hero-secrets-to-app-success.jpg",
+    "title": "The Secrets to App Success on Google Play",
+    "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.",
+  },
   "about/versions/lollipop.html": {
     "image": "images/home/hero-lollipop_2x.png",
     "heroColor": "#263238",
@@ -3647,6 +3765,41 @@
     "title": "Android 5.0 Lollipop",
     "summary": "The Android 5.0 update adds a variety of new features for your apps, such as notifications on the lock screen, an all-new camera API, OpenGL ES 3.1, the new naterial design interface, and much more.",
   },
+  "http://www.youtube.com/watch?v=yJisuP94lHU": {
+    "url":"https://www.youtube.com/watch?v=yJisuP94lHU&index=1&list=PLWz5rJ2EKKc_QRBk7Zkl5uGjR1He7vG-w",
+    "image": "images/distribute/hero-playtime-opener.jpg",
+    "title": "Playtime 2015: Innovation happens everywhere",
+    "type":"youtube",
+    "summary": "Watch the opening video from Google Play's annual event series, Playtime, which celebrates inspirational developers who are changing the world around them.",
+  },
+  "http://www.youtube.com/watch?v=rcU7VEs1hiE": {
+    "url":"http://www.youtube.com/watch?v=rcU7VEs1hiE&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c",
+    "image": "images/distribute/hero-rogervoice-story.jpg",
+    "title": "RogerVoice uses beta testing to launch on Android first",
+    "type" : "youtube",
+    "summary": "RogerVoice helps people who are hearing impaired make phone calls through voice recognition and text captions. Hear how they used material design and beta testing to create a UI that's accessible and intuitive to navigate.",
+  },
+  "http://www.youtube.com/watch?v=JFlX9rW7Epc": {
+    "url":"http://www.youtube.com/watch?v=JFlX9rW7Epc&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c",
+    "image": "images/distribute/hero-domain-story.jpg",
+    "title": "Domain increases installs by 44% with Material Design",
+    "type" : "youtube",
+    "summary": "Learn how Domain, a premier real-estate portal in Australia, drastically improved their Google Play app reviews, ratings and downloads by investing in their Android app experience.",
+  },
+  "http://www.youtube.com/watch?v=4CqXCkcN_d4": {
+    "url":"http://www.youtube.com/watch?v=4CqXCkcN_d4&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c",
+    "image": "images/distribute/hero-dots-story.jpg",
+    "title": "Dots increases installs with Store Listing Experiments",
+    "type" : "youtube",
+    "summary": "Hear how US-founded game developer, Dots, used the Store Listing Experiments feature in the Google Play Developer Console to test what icon, graphics, and text worked the best at converting visitors to installs.",
+  },
+  "http://www.youtube.com/watch?v=JrR6o5tYMWQ": {
+    "url":"http://www.youtube.com/watch?v=JrR6o5tYMWQ",
+    "image": "images/distribute/hero-acquisition-devbyte.jpg",
+    "title": "User acquisition and tracking on Google Play",
+    "type" : "youtube",
+    "summary": "Learn how to get new users, using Universal app campaigns directly within the Google Play Developer Console to increase your installs from ads, and find out how your acquisition channels perform.",
+  },
   "http://www.youtube.com/watch?v=Pd49vTkvu0U": {
     "url":"http://www.youtube.com/watch?v=Pd49vTkvu0U&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c",
     "image": "images/distribute/hero-jelly-button.jpg",
@@ -3670,12 +3823,6 @@
     "title": "How GinLemon is breaking through with Google Play",
     "summary": "Meet Vincenzo Colucci, developer and founder of GinLemon, which started as a summer holiday joke and has now become a successful global app business on Google Play based in Manfredonia, southern Italy.",
   },
-  "distribute/googleplay/guide.html": {
-    "heroColor": "#fcb94e",
-    "image": "images/distribute/hero-g-play-guidebooks_2x.png",
-    "title": "Finding success on Google Play",
-    "summary": "We’ve created a downloadable guide to help you find success with your app or game business on Google Play. In it, you’ll find features, tips, and best practices to help you build an effective strategy.",
-  },
   "http://www.youtube.com/watch?v=0r36OJaeMo4": {
     "url":"http://www.youtube.com/watch?v=0r36OJaeMo4&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c",
     "image": "images/distribute/hero-shifty-jelly.jpg",
@@ -3726,4 +3873,4 @@
     "tags":["io15"],
     "summary": "The games industry has never been more promising and full of opportunities. This talk from Google I/O 2015 covers how Google is helping developers across a broad range of existing and emerging platforms.",
   }
-};
\ No newline at end of file
+};
diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd
index 1afb0fb..f522b9a 100644
--- a/docs/html/sdk/index.jd
+++ b/docs/html/sdk/index.jd
@@ -5,28 +5,28 @@
 header.hide=1
 page.metaDescription=Download the official Android IDE and developer tools to build apps for Android phones, tablets, wearables, TVs, and more.
 
-studio.version=1.4.1.0
+studio.version=1.5.0.4
 
-studio.linux_bundle_download=android-studio-ide-141.2343393-linux.zip
-studio.linux_bundle_bytes=381078272
-studio.linux_bundle_checksum=c38eb7afec75fe529efecd2f05500f1715e82cfe
+studio.linux_bundle_download=android-studio-ide-141.2422023-linux.zip
+studio.linux_bundle_bytes=380940715
+studio.linux_bundle_checksum=25f3b2b67641ef72e54d2c74cc69fde059630b50
 
-studio.mac_bundle_download=android-studio-ide-141.2343393-mac.dmg
-studio.mac_bundle_bytes=364890127
-studio.mac_bundle_checksum=f99f7e4916b39d0248ab7278765d105a7ce342fb
+studio.mac_bundle_download=android-studio-ide-141.2422023-mac.dmg
+studio.mac_bundle_bytes=367454371
+studio.mac_bundle_checksum=9ff98b82e85081910d35b39342127cfc9071c08a
 
-studio.win_bundle_download=android-studio-ide-141.2343393-windows.zip
-studio.win_bundle_bytes=373749630
-studio.win_bundle_checksum=ac5eea9cdd0ec7f0321ad459c0420c5fa7e1b332
+studio.win_bundle_download=android-studio-ide-141.2422023-windows.zip
+studio.win_bundle_bytes=375657281
+studio.win_bundle_checksum=b427298bfc80b9f162fef3cba95a5775c86b4676
 
 
-studio.win_bundle_exe_download=android-studio-bundle-141.2343393-windows.exe
-studio.win_bundle_exe_bytes=1192115784
-studio.win_bundle_exe_checksum=de9e6172533fa02051efabb9ed3a485995582e13
+studio.win_bundle_exe_download=android-studio-bundle-141.2422023-windows.exe
+studio.win_bundle_exe_bytes=1209184992
+studio.win_bundle_exe_checksum=e44c0c7fe53ca8e8a6f3b9bdc7551c3b8ee41f30
 
-studio.win_notools_exe_download=android-studio-ide-141.2343393-windows.exe
-studio.win_notools_exe_bytes=348552720
-studio.win_notools_exe_checksum=227160920052916e538512f8ccbf49296bb2b1f2
+studio.win_notools_exe_download=android-studio-ide-141.2422023-windows.exe
+studio.win_notools_exe_bytes=351441320
+studio.win_notools_exe_checksum=41933764d0f6d232cf8c123974c80fd400f0e6ea
 
 
 
diff --git a/docs/html/sdk/installing/studio-build.jd b/docs/html/sdk/installing/studio-build.jd
old mode 100644
new mode 100755
index b68b176..54691bf
--- a/docs/html/sdk/installing/studio-build.jd
+++ b/docs/html/sdk/installing/studio-build.jd
@@ -13,7 +13,6 @@
    <li><a href="{@docRoot}sdk/installing/studio.html">
    Getting Started with Android Studio</a></li>
    <li><a href="{@docRoot}tools/studio/index.html">Android Studio Basics</a></li>
-   <li><a href="{@docRoot}sdk/installing/migrate.html">Migrating from Eclipse</a></li>
 </div>
 </div>
 
diff --git a/docs/html/tools/help/vector-asset-studio.jd b/docs/html/tools/help/vector-asset-studio.jd
index 58e53cc..491a699 100644
--- a/docs/html/tools/help/vector-asset-studio.jd
+++ b/docs/html/tools/help/vector-asset-studio.jd
@@ -34,7 +34,7 @@
 
   <h2>Dependencies and Prerequisites</h2>
   <ul>
-    <li>Gradle 1.4.0 or higher</li>
+    <li><a href="{@docRoot}tools/building/plugin-for-gradle.html">Android Plugin for Gradle</a> 1.5.0 or higher</li>
   </ul>
 
 </div>
@@ -98,7 +98,8 @@
 project; also, at build time, Gradle creates Portable Network Graphic (PNG) raster images at various
 resolutions. Gradle generates the PNG densities specified by the Domain Specific Language (DSL)
 <a href="http://google.github.io/android-gradle-dsl/1.4/com.android.build.gradle.internal.dsl.ProductFlavor.html#com.android.build.gradle.internal.dsl.ProductFlavor:generatedDensities" class="external-link">generatedDensities</a> property
-in a <code>build.gradle</code> file. To generate PNGs, the build system requires Gradle 1.4.0 or higher.</p>
+in a <code>build.gradle</code> file. To generate PNGs, the build system requires Android
+Plugin for Gradle 1.5.0 or higher.</p>
 
 <p>For Android 5.0 (API level 21) and higher, Vector Asset Studio supports all of the {@link
 android.graphics.drawable.VectorDrawable} elements. For backward compatibility with Android 4.4 (API
@@ -106,7 +107,7 @@
 
 <div class="wrap">
   <div class="cols">
-    <div class="col-1of2">
+    <div class="col-1of3">
 
 <p><code>&lt;vector></code></p>
 <ul>
@@ -119,8 +120,23 @@
 
 </div>
 
+<div class="col-1of3">
 
-<div class="col-1of2">
+<p><code>&lt;group></code></p>
+<ul>
+  <li><code>android:rotation</code></li>
+  <li><code>android:pivotX</code></li>
+  <li><code>android:pivotY</code></li>
+  <li><code>android:scaleX</code></li>
+  <li><code>android:scaleY</code></li>
+  <li><code>android:translateX</code></li>
+  <li><code>android:translateY</code></li>
+</ul>
+
+</div>
+
+
+<div class="col-1of3">
 
 <p><code>&lt;path></code></p>
 <ul>
@@ -130,6 +146,9 @@
   <li><code>android:strokeWidth</code></li>
   <li><code>android:strokeAlpha</code></li>
   <li><code>android:fillAlpha</code></li>
+  <li><code>android:strokeLineCap</code></li>
+  <li><code>android:strokeLineJoin</code></li>
+  <li><code>android:strokeMiterLimit</code></li>
 </ul>
 
 </div>
@@ -163,12 +182,12 @@
   <p>Vector Asset Studio appears.</p>
   <img src="{@docRoot}images/tools/vas-materialicon.png" />
   <li>If a <em>Need newer Android plugin for Gradle</em> dialog appears instead, correct
-  your Gradle version as follows.</li>
+  your Gradle version as follows:</li>
     <ol type="a">
       <li>Select <strong>File</strong> > <strong>Project Structure</strong>.</li>
       <li>In the <em>Project Structure</em> dialog, select <strong>Project</strong>.</li>
-      <li>In the <strong>Android Plugin Version</strong> field, change the Gradle version to
-      <strong>1.4.0</strong> or higher, and click <strong>OK</strong>.</li>
+      <li>In the <strong>Android Plugin Version</strong> field, change the Android Plugin for Gradle
+      version to <strong>1.5.0</strong> or higher, and click <strong>OK</strong>.</li>
       <p>Gradle syncs the project.</p>
       <li>In the <a href="{@docRoot}sdk/installing/create-project.html#ProjectView">Android view</a>
       of the <em>Project</em> window, right-click the <strong>res</strong> folder and select
@@ -480,7 +499,7 @@
 
 <ul>
   <li>Create one APK that includes both the vector images and the corresponding raster
-    representations. This is the easiest solution.</li>
+    representations. This solution is the simplest to implement.</li>
   <li>Create separate APKs for different API levels. When you don’t include the corresponding
     raster images in the APK for Android 5.0 (API level 21) and higher, the APK can be much smaller in
     size. For more information, see <a href="{@docRoot}google/play/publishing/multiple-apks.html">Multiple APK Support</a>.</li>
diff --git a/docs/html/tools/revisions/build-tools.jd b/docs/html/tools/revisions/build-tools.jd
old mode 100644
new mode 100755
index 1912bb2..2202649
--- a/docs/html/tools/revisions/build-tools.jd
+++ b/docs/html/tools/revisions/build-tools.jd
@@ -26,31 +26,7 @@
 
 <p>To use a specific version of the Build Tools in your application project:</p>
 
-<div class="toggle-content closed">
-<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
-  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
-  />Using Eclipse</a></p>
 
-  <div class="toggle-content-toggleme">
-  <ol>
-    <li>In the root folder of your application project, find the {@code project.properties}
-      file.</li>
-    <li>Open the file and specify the Build Tools version by adding a {@code buildtools} property
-      on a separate line:
-<pre>
-sdk.buildtools=17.0.0
-</pre>
-    </li>
-  </ol>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
-  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
-  />Using Android Studio</a></p>
-
-  <div class="toggle-content-toggleme">
   <ol>
     <li>In the root folder of your application project, find the {@code build.gradle}
       file.</li>
@@ -65,8 +41,6 @@
 </pre>
     </li>
   </ol>
-  </div>
-</div>
 
 
 <h2 id="notes">Revisions</h2>
@@ -78,6 +52,30 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>Build Tools, Revision 23.0.2</a> <em>(November 2015)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+    <ul>
+      <li>Improved the merging performance of the <code>dx</code> tool.</li>
+      <li>Fixed issues in the <a href="{@docRoot}guide/topics/renderscript/compute.html">RenderScript</a>
+        compiler for Windows.</li>
+    </ul>
+  </div>
+</div>
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>Build Tools, Revision 23.0.1</a> <em>(October 2015)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+    <p>Fixed issues in the RenderScript tools.</p>
+  </div>
+</div>
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>Build Tools, Revision 23.0.0</a> <em>(August 2015)</em>
   </p>
   <div class="toggle-content-toggleme">
diff --git a/docs/html/tools/revisions/studio.jd b/docs/html/tools/revisions/studio.jd
index e2de5b9..dec9e4b 100644
--- a/docs/html/tools/revisions/studio.jd
+++ b/docs/html/tools/revisions/studio.jd
@@ -42,6 +42,59 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>Android Studio v1.5.0</a> <em>(November 2015)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+    <p>Fixes and enhancements:</p>
+    <ul>
+    <li>Added new Memory Monitor analysis abilities to Android Monitor. When you view an HPROF file
+      captured from this monitor, the display is now more helpful so you can more quickly locate
+      problems, such as memory leaks. To use this monitor, click <strong>Android Monitor</strong> at
+      the bottom of the main window. In Android Monitor, click the <strong>Memory</strong> tab. While
+      the monitor is running, click the <strong>Dump Java Heap</strong> icon, and then click
+      <strong>Captures</strong> in the main window and double-click the file to view it. (The
+      Android Device Monitor can't be running at the same time as Android Monitor.)</li>
+    <li>Added new deep link and app link support. The Code Editor can automatically create an
+      intent filter for deep linking in the <code>AndroidManifest.xml</code> file. It can also
+      generate code to help you integrate with the
+      <a href="http://developers.google.com/app-indexing/android/publish" class="external-link">App Indexing API</a>
+      in an activity in a Java file. A deep link testing feature
+      helps you verify that a specified deep link can launch an app. In the <strong>General</strong>
+      tab of the <em>Run/Debug Configurations</em> dialog, you can specify deep link launch
+      options. You can also test App Indexing API calls in an activity by using the Android Monitor
+      <strong>logcat</strong> display. The Android <code>lint</code> tool now has warnings for
+      certain issues involving deep links and the App Indexing API.
+    </li>
+     <li>Added the ability to use short names when code-completing custom views in the Code Editor.
+    </li>
+    <li>Added support for more {@link android.graphics.drawable.VectorDrawable} elements to
+      <a href="{@docRoot}tools/help/vector-asset-studio.html">Vector Asset Studio</a>
+      for backward-compatibility. Vector Asset Studio can use these elements to convert vector
+      drawables into PNG raster images to use with Android 4.4 (API level 20) and lower.
+    </li>
+    <li>Added new <code>lint</code> checks for Android TV and Android Auto to give you
+      immediate, actionable feedback in Android Studio, along with several quick fixes. For example,
+      for Android TV, it can report and provide a quick fix for permissions, unsupported hardware,
+      <code>uses-feature</code> element, and missing banner issues. For Android Auto, it can
+      validate the correct usage in the descriptor file referred from your
+      <code>AndroidManifest.xml</code> file, report if there isn't an intent filter for the
+      <code>MediaBrowserService</code> class, and identify certain voice actions issues.
+      </li>
+    <li>Added new <code>lint</code> checks for insecure broadcast receivers,
+    <code>SSLCertificateSocketFactory</code> and <code>HostnameVerifier</code> class uses, and
+    <code>File.setReadable()</code> and <code>File.setWritable()</code> calls. It also detects
+    invalid manifest resource lookups, especially for resources that vary by configuration.
+    </li>
+    <li>Fixed a number of stability issues.
+    </li>
+  </ul>
+  </div>
+</div>
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>Android Studio v1.4.1</a> <em>(October 2015)</em>
   </p>
   <div class="toggle-content-toggleme">
@@ -72,7 +125,7 @@
     <a href="http://b.android.com/187665">Issue: 187665</a>
     </li>
   </ul>
-  </div>
+</div>
 </div>
 
 
diff --git a/docs/html/tools/support-library/setup.jd b/docs/html/tools/support-library/setup.jd
old mode 100644
new mode 100755
index 8112071..8fbcee1
--- a/docs/html/tools/support-library/setup.jd
+++ b/docs/html/tools/support-library/setup.jd
@@ -104,31 +104,6 @@
 
 <p>To add a Support Library without resources to your application project:</p>
 
-<div class="toggle-content closed">
-<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
-  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
-  />Using Eclipse</a></p>
-
-  <div class="toggle-content-toggleme">
-  <ol>
-    <li>Make sure you have downloaded the <strong>Android Support Library</strong>
-      using the <a href="#download">SDK Manager</a>.</li>
-    <li>Create a {@code libs/} directory in the root of your application project.</li>
-    <li>Copy the JAR file from your Android SDK installation directory (e.g.,
-      {@code &lt;sdk&gt;/extras/android/support/v4/android-support-v4.jar}) into your
-      application's project {@code libs/} directory.
-    <li>Right click the JAR file and select <strong>Build Path &gt; Add to Build Path</strong>.
-      </li>
-  </ol>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
-  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
-  />Using Android Studio</a></p>
-
-  <div class="toggle-content-toggleme">
     <ol>
       <li>Make sure you have downloaded the <strong>Android Support Repository</strong>
         using the <a href="#download">SDK Manager</a>.</li>
@@ -143,8 +118,6 @@
 </pre>
       </li>
     </ol>
-  </div>
-</div>
 
 
 <h3 id="libs-with-res">Adding libraries with resources</h3>
@@ -153,77 +126,6 @@
   <a href="{@docRoot}tools/support-library/features.html#v7-appcompat">v7
   appcompat</a> for action bar) to your application project:</p>
 
-<div class="toggle-content closed">
-  <p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
-  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
-  />Using Eclipse</a></p>
-    <div class="toggle-content-toggleme">
-
-<p>Create a <a href="{@docRoot}tools/projects/index.html#LibraryProjects">library
-project</a> based on the support library code:</p>
-
-<ol>
-  <li>Make sure you have downloaded the <strong>Android Support Library</strong>
-    using the <a href="#download">SDK Manager</a>.</li>
-  <li>Create a library project and ensure the required JAR files are included in the project's
-    build path:
-    <ol>
-      <li>Select <strong>File &gt; Import</strong>.</li>
-      <li>Select <strong>Existing Android Code Into Workspace</strong> and click
-        <strong>Next</strong>.</li>
-      <li>Browse to the SDK installation directory and then to the Support Library folder.
-        For example, if you are adding the {@code appcompat} project, browse to
-        <code>&lt;sdk&gt;/extras/android/support/v7/appcompat/</code>.</li>
-      <li>Click <strong>Finish</strong> to import the project. For the v7 appcompat project, you
-        should now see a new project titled <em>android-support-v7-appcompat</em>.</li>
-      <li>In the new library project, expand the {@code libs/} folder, right-click each {@code .jar}
-        file and select <strong>Build Path &gt; Add to Build Path</strong>. For example, when
-        creating the the v7 appcompat project, add both the {@code android-support-v4.jar} and
-        {@code android-support-v7-appcompat.jar} files to the build path.</li>
-      <li>Right-click the library project folder and select <strong>Build Path &gt; Configure
-        Build Path</strong>.</li>
-      <li>In the <strong>Order and Export</strong> tab, check the <code>.jar</code> files you just
-        added to the build path, so they are available to projects that depend on this library
-        project. For example, the {@code appcompat} project requires you to export both the
-        {@code android-support-v4.jar} and {@code android-support-v7-appcompat.jar} files.</li>
-      <li>Uncheck <strong>Android Dependencies</strong>.</li>
-      <li>Click <strong>OK</strong> to complete the changes.</li>
-    </ol>
-  </li>
-</ol>
-
-<p>You now have a library project for your selected Support Library that you can use with one or
-  more application projects.</p>
-
-<p>Add the library to your application project:</p>
-  <ol>
-    <li>In the Project Explorer, right-click your project and select <strong>Properties</strong>.</li>
-    <li>In the category panel on the left side of the dialog, select <strong>Android</strong>.</li>
-    <li>In the Library pane, click the <strong>Add</strong> button.</li>
-    <li>Select the library project and click <strong>OK</strong>. For example, the
-      {@code appcompat} project should be listed as <strong>android-support-v7-appcompat</strong>.
-      </li>
-    <li>In the properties window, click <strong>OK</strong>.</li>
-  </ol>
-
-<p class="note">
-  <strong>Note:</strong> If you are using the {@code android-support-v7-mediarouter} support
-  library, you should note that it depends on the {@code android-support-v7-appcompat} library.
-  In order for the v7 mediarouter library to compile, you must import both library projects into
-  your development workspace. Then follow the procedure above to add the v7 appcompat project as a
-  library to the v7 mediarouter library project.
-</p>
-
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
-    <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
-    />Using Android Studio</a></p>
-
-  <div class="toggle-content-toggleme">
     <ol>
       <li>Make sure you have downloaded the <strong>Android Support Repository</strong>
         using the <a href="#download">SDK Manager</a>.</li>
@@ -240,8 +142,6 @@
 </pre>
       </li>
     </ol>
-  </div>
-</div>
 
 
 <h2 id="using-apis">Using Support Library APIs</h2>
diff --git a/docs/html/training/articles/wear-permissions.jd b/docs/html/training/articles/wear-permissions.jd
new file mode 100644
index 0000000..5f226e4
--- /dev/null
+++ b/docs/html/training/articles/wear-permissions.jd
@@ -0,0 +1,323 @@
+page.title=Requesting Permissions on Android Wear
+page.tags="Permissions"
+
+page.article=true
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+<h2>In this document</h2>
+<ol class="nolist">
+  <li><a href="#scenarios">Permission Scenarios</a></li>
+  <li><a href="#requesting">Requesting Permissions</a></li>
+  <li><a href="#services">Permissions for Services</a></li>
+  <li><a href="#settings">Settings</a></li>
+</ol>
+<!-- Required platform, tools, add-ons, devices, knowledge, etc. -->
+<h2>Dependencies and prerequisites</h2>
+<ul>
+  <li><a href="{@docRoot}about/versions/marshmallow/index.html">Android 6.0</a>
+  (API Level 23) or higher on the wearable and accompanying device</li>
+  <li><a href="{@docRoot}google/play-services/index.html">Google Play
+services</a> 8.3 or higher</li>
+  <li>An <a href="{@docRoot}wear/index.html">Android Wear</a> device</li>
+</ul>
+<h2>See also</h2>
+<ul>
+  <li><a href="{@docRoot}guide/topics/security/permissions.html">System Permissions</a></li>
+  <li><a href="{@docRoot}training/permissions/index.html">Working with System Permissions</a></li>
+</ul>
+</div></div>
+
+<p><a href="{@docRoot}about/versions/marshmallow/index.html">Android 6.0</a> (API level 23)
+introduces a new <a href="{@docRoot}training/permissions/requesting.html">permissions model</a>,
+bringing some changes that are specific to Wear, and other changes that apply to all Android-powered
+devices.</p>
+
+<p>The user must now grant permissions to Wear apps separately from the handset versions of the
+apps. Previously, when a user installed a Wear app, it automatically inherited the set of
+permissions that the user had granted to the handset version of the app. However, from Android 6.0
+(API level 23), the Wear app no longer inherits these permissions. Thus, for example,
+a user might grant a handset app permission to use location data, and subsequently
+have to grant the same permission to the Wear version of the app.</p>
+
+<p>For both Wear and handset apps, the Android 6.0 (API level 23) permissions model also
+streamlines app installation and upgrade by eliminating the requirement that the user grant upfront
+every permission an app may ever need. Instead, the app does not request permissions until it
+actually needs them.</p>
+
+<p class="note"><strong>Note: </strong> For an app to use the new permissions model, it must
+specify a value of {@code 23} for both
+<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code uses-sdk-element}</a>
+and <a href="{@docRoot}tools/building/configuring-gradle.html">{@code compileSdkVersion}</a>.</p>
+
+<p>The rest of this document discusses how to use the Android 6.0 (API level 23) permissions model
+when developing Android Wear apps.</p>
+
+<h2 id="scenarios">Permission Scenarios</h2>
+
+<p>Broadly speaking, there are four scenarios you may encounter when requesting
+<a href="{@docRoot}guide/topics/security/permissions.html#normal-dangerous">dangerous permissions</a>
+on Android Wear:</p>
+
+<ul>
+   <li>The <em>Wear app</em> requests permissions for an app running on the <em>wearable</em>
+   device.</li>
+
+   <li>The <em>Wear app</em> requests permissions for an app running on the <em>handset</em>.</li>
+
+   <li>The <em>handset app</em> requests permissions for an app running on the
+   <em>wearable</em> device.</li>
+
+   <li>The wearable app uses a <em>different permission model</em> from its handset counterpart.
+   </li>
+</ul>
+
+<p>The rest of this section explains each of these scenarios. For more detailed information
+about requesting permissions, see <a href="#requesting">Requesting Permissions</a>.</p>
+
+<h3 id="wear-app-wear-perm">Wear app requests permission for an app running on the wearable
+device</h3>
+
+<p>When the Wear app requests a permission for an app running on the wearable device, the system
+displays a dialog to prompt the user for that permission. An app or service can only call the
+{@link android.support.v4.app.ActivityCompat#requestPermissions requestPermissions()}
+method from an activity. If the user interacts with your app
+<a href="#services">via a service</a>, such as
+a watch face, the service must open an activity before requesting the permission.</p>
+
+<p>Your app requests permissions in context when it’s clear why the
+permissions are needed to perform a given operation. If it's obvious that your app requires
+certain permissions, your app can prompt for them on launch. If it may not be so obvious,
+you may choose to provide additional education before prompting for a permission.</p>
+
+<p>If an app or watch face requires more than one permission at a time,
+permission requests appear one after the other.</p>
+
+<img src="{@docRoot}images/training/wear/multiple_permissions.png"
+srcset="{@docRoot}images/training/wear/multiple_permissions.png 1x,
+{@docRoot}images/training/wear/multiple_permissions_2x.png 2x"
+alt="Multiple permission screens, one after another." width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 1.</strong> Permission screens appearing in succession.
+</p>
+
+<p class="note"><strong>Note:</strong> From Android 6.0 (API level 23), Android Wear
+automatically syncs Calendar, Contact, and Location data to the Wear device. As a result, this
+scenario is the applicable one when Wear requests this data.</p>
+
+<h3>Wear app requests handset permission</h3>
+
+<p>When the Wear app requests a handset permission, the
+Wear app must send the user to the handset to accept the permission. There, the handset app can
+provide additional education to the user via an activity. The activity should include two buttons:
+one for granting, and one for denying, the permission.</p>
+
+<img src="{@docRoot}images/training/wear/open_on_phone.png"
+srcset="{@docRoot}images/training/wear/open_on_phone.png 1x,
+{@docRoot}images/training/wear/open_on_phone_2x.png 2x"
+alt="The Wear app sends the user to the handset to grant permission." width="700"
+height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 2.</strong> Sending the user to the handset to grant permission.
+</p>
+<h3>Handset app requests wearable permission</h3>
+
+<p>When the user is in a handset app and the app requires a wearable permission, the
+handset app must send the user to the wearable to accept the permission.
+The handset app uses the
+{@link android.support.v4.app.ActivityCompat#requestPermissions requestPermissions()}
+method on the wearable to trigger the system permissions dialog.</p>
+
+<img src="{@docRoot}images/training/wear/phone_requests_wear.png"
+srcset="{@docRoot}images/training/wear/phone_requests_wear.png 1x,
+{@docRoot}images/training/wear/phone_requests_wear_2x.png 2x"
+alt="The handset app sends the user to the wearable to grant permission."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 3.</strong> Sending the user to the wearable to grant permission.
+</p>
+
+<h3>Mismatching permission models between wearable and handset app</h3>
+
+<p>If your handset app begins using the Android 6.0 (API level 23) model but your
+wearable app does not, the system downloads the Wear app, but does not install it.
+The first time the user launches the app, the system prompts them to grant all pending permissions.
+Once they do so, it installs the app.
+If your app, for example a watch face, does not have a launcher, the system displays a
+stream notification asking the user to grant the permissions the app needs.
+</p>
+
+<h2 id="requesting">Permission-Request Patterns</h2>
+
+<p>There are different patterns for requesting permission from users. In order of
+priority, they are:</p>
+
+<ul>
+   <li><a href="#aic">Ask in context</a> when the permission is obviously necessary for a specific
+   functionality, but is not necessary for the app to run at all.</li>
+
+   <li><a href="#eic">Educate in context</a> when the reason for requesting the permission is
+   not obvious, and the permission is not necessary for the app to run at all.</li>
+
+   <li><a href="#auf">Ask up front</a> when the need for the permission is obvious, and the
+   permission is required in order for the app to run at all.</li>
+
+   <li><a href="#euf">Educate up front</a> when the need for the permission is not obvious, but
+   the permission is required in order for the app to run at all.</li>
+</ul>
+
+<h3 id="aic">Ask in context</h3>
+
+<p>Your app should request permissions when it’s clear why they are needed in order to perform a
+given operation. Users are more likely to grant a permission when they understand its connection to
+the feature they want to use.</p>
+
+<p>For example, an app may require a user’s location in order to show nearby
+places of interest. When the user taps to search for nearby places, the app can
+immediately request the location permission, because there is a clear
+relationship between searching for nearby places and the need for the location
+permission. The obviousness of this relationship makes it unnecessary for the app to display
+additional education screens.</p>
+
+<img src="{@docRoot}images/training/wear/ask_in_context.png"
+srcset="{@docRoot}images/training/wear/ask_in_context.png 1x,
+{@docRoot}images/training/wear/ask_in_context_2x.png 2x"
+alt="The app requests permission when it's obviously necessary."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 4.</strong> Asking in context.
+
+<h3 id="eic">Educate in context</h3>
+
+<p>If necessary, you may choose to provide additional education before prompting
+for a permission. Again, your app should do this in context of a specific
+action, if it’s unclear why your app needs access to the requested permission
+in order to complete that action.</p>
+
+<p>Figure 5 shows an example of in-context education. The app does not require permissions
+in order to start the timer, but an inline educational cue shows that part of the
+activity (location detection) is locked. When the user taps the cue, a permission-request screen
+appears, allowing the user to unlock location-detection.</p>
+
+<p>You can use the {@link
+  android.support.v4.app.ActivityCompat#shouldShowRequestPermissionRationale
+  shouldShowRequestPermissionRationale()} method to help your app decide whether to provide more
+  information. For additional details, see <a
+  href="{@docRoot}training/permissions/requesting.html#explain">Requesting Permissions
+  at Run Time</a>.</p>
+
+
+<img src="{@docRoot}images/training/wear/educate_in_context.png"
+srcset="{@docRoot}images/training/wear/educate_in_context.png 1x,
+{@docRoot}images/training/wear/educate_in_context_2x.png 2x"
+alt="When the need for the permission arises, the app explains why the permission is necessary."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 5.</strong> Educating in context.
+
+<h3 id="auf">Ask up front</h3>
+
+<p>If your app clearly requires a permission in order to work at all, you can prompt for that
+permission when the user launches the app. For example, a maps app clearly requires access
+to the device’s location to run its expected activities. No further education
+is necessary for this permission.</p>
+
+<img src="{@docRoot}images/training/wear/ask_up_front.png"
+srcset="{@docRoot}images/training/wear/ask_up_front.png 1x,
+{@docRoot}images/training/wear/ask_up_front_2x.png 2x"
+alt="If the app obviously needs a permission to run at all, it can ask for it immediately on
+launch."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 6.</strong> Asking up front.
+
+
+<h3 id="euf">Educate up front</h3>
+
+<p>In some cases, the app requires a permission for basic functionality, but the need for that
+permission is not obvious. In these cases, when the user first
+starts the app or sets a watch face, the app or watch face may choose to educate the user and
+ask for the permission.</p>
+
+<img src="{@docRoot}images/training/wear/educate_up_front.png"
+srcset="{@docRoot}images/training/wear/educate_up_front.png 1x,
+{@docRoot}images/training/wear/educate_up_front_2x.png 2x"
+alt="When requesting a permission on launch, the app can explain why it needs the permission."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 7.</strong> Educating up front.
+
+<h3 id="nope">Handling Rejection</h3>
+
+<p>If a user denies a requested permission that is not critical to an intended
+activity, do not block them from continuing the activity.  If certain parts of
+the activity are disabled by the denied permission, provide visual, actionable
+feedback. Figure 8 shows the use of a lock icon to indicate that a feature is
+locked because the user did not grant permission to use it.</p>
+
+<img src="{@docRoot}images/training/wear/deny.png"
+srcset="{@docRoot}images/training/wear/deny.png 1x,
+{@docRoot}images/training/wear/deny_2x.png 2x"
+alt="When the user denies permission, a lock icon is shown alongside the associated feature."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 8.</strong> Lock icon, showing a feature is locked because of denied permission.
+</p>
+<p>When a previously denied wearable permission dialog appears a second
+time, it includes a <strong>Deny, don't show again</strong> option. If the user
+chooses this option, then the only way for them to allow this permission in the
+future is to go into the wearable's Settings app.</p>
+
+<img src="{@docRoot}images/training/wear/ask_again.png"
+srcset="{@docRoot}images/training/wear/ask_again.png 1x,
+{@docRoot}images/training/wear/ask_again_2x.png 2x"
+alt="The system offers to stop requesting permission."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 9.</strong> Offering not to show the permission-request screen anymore.
+
+<h2 id="services">Permissions for Services</h2>
+
+<p>As mentioned above, only an activity can call the
+{@link android.support.v4.app.ActivityCompat#requestPermissions requestPermissions()}
+method, so if the user interacts with your app via a service,
+for example a watch face, the service must open a background activity before requesting
+the permission. This activity could provide additional education, or it could simply
+be an invisible activity that brings up the system dialog.</p>
+
+<p>If your wearable app runs a service that is not a watch face, and the user does not launch
+an app in which it might make sense to request a permission,
+you can post an educational notification on the wearable. The notification can
+provide an action to open an activity that then triggers the system permissions
+dialog.</p>
+
+<p class="note"><strong>Note:</strong> This is the only acceptable use of a stream notification
+for permissions requests.</p>
+
+<img src="{@docRoot}images/training/wear/for_services.png"
+srcset="{@docRoot}images/training/wear/for_services.png 1x,
+{@docRoot}images/training/wear/for_services_2x.png 2x"
+alt="The user may need to grant a permission when indirectly interacting with an app, via a
+service."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 10.</strong> A service requesting permission.
+
+<h2 id="settings">Settings</h2>
+
+<p>As with the handset, the user can change a Wear app’s permissions in Settings at any time.
+Therefore, when the user tries to do something that requires a
+permission, the app should always first call the
+{@link android.support.v4.content.ContextCompat#checkSelfPermission(android.content.Context,java.lang.String) checkSelfPermission()}
+method to see if the app currently has permission to perform this operation. The app should perform
+this check even if it knows the user has previously granted that permission, since the
+user might have subsequently revoked that permission.</p>
+
+<img src="{@docRoot}images/training/wear/for_settings.png"
+srcset="{@docRoot}images/training/wear/for_settings.png 1x,
+{@docRoot}images/training/wear/for_settings_2x.png 2x"
+alt="The user can change permissions through the Settings app."
+width="700" height="" id="permission-flow" />
+<p class="img-caption">
+  <strong>Figure 11.</strong> Changing settings via the Settings app.
diff --git a/docs/html/training/building-wearables.jd b/docs/html/training/building-wearables.jd
index 5fd59e9..9044928 100644
--- a/docs/html/training/building-wearables.jd
+++ b/docs/html/training/building-wearables.jd
@@ -23,6 +23,6 @@
       </p>
     </div>
     <div class="col-1of2">
-      <iframe width="300" height="169" src="//www.youtube.com/embed/t2JaW-8WDok?utm_source=dac&utm_medium=video&utm_content=andfuntrain&utm_campaign=udacint?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe>
+      <iframe width="300" height="169" src="//www.youtube.com/embed/t2JaW-8WDok?utm_source=dac&utm_medium=video&utm_content=build_wear&utm_campaign=udacint?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe>
   </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/docs/html/training/improving-layouts/reusing-layouts.jd b/docs/html/training/improving-layouts/reusing-layouts.jd
index 87431d3..8c63afb 100644
--- a/docs/html/training/improving-layouts/reusing-layouts.jd
+++ b/docs/html/training/improving-layouts/reusing-layouts.jd
@@ -43,7 +43,7 @@
 <p>Reusing layouts is particularly powerful as it allows you create reusable complex layouts. For
 example, a yes/no button panel, or custom progress bar with description text.
 It also means that any elements of your application that are common across multiple layouts can be
-extracted, managed separately, then included in each layout. So while 
+extracted, managed separately, then included in each layout. So while
 you can create individual UI components by writing a custom {@link android.view.View}, you can
 do it even more easily by re-using a layout file.</p>
 
@@ -56,14 +56,14 @@
 
 <pre>
 &lt;FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width=”match_parent”
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="&#64;color/titlebar_bg">
 
     &lt;ImageView android:layout_width="wrap_content"
-               android:layout_height="wrap_content" 
-               android:src="&#64;drawable/gafricalogo" />
-&lt;/FrameLayout>
+               android:layout_height="wrap_content"
+               android:src="&#64;drawable/gafricalogo" /&gt;
+&lt;/FrameLayout&gt;
 </pre>
 
 <p>The root {@link android.view.View} should be exactly how you'd like it to appear in each
@@ -80,18 +80,18 @@
 
 <pre>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical" 
-    android:layout_width=”match_parent”
-    android:layout_height=”match_parent”
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
     android:background="&#64;color/app_bg"
-    android:gravity="center_horizontal">
+    android:gravity="center_horizontal"&gt;
 
-    <strong>&lt;include layout="&#64;layout/titlebar"/></strong>
+    <strong>&lt;include layout="&#64;layout/titlebar"/&gt;</strong>
 
-    &lt;TextView android:layout_width=”match_parent”
+    &lt;TextView android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:text="&#64;string/hello"
-              android:padding="10dp" />
+              android:padding="10dp" /&gt;
 
     ...
 
@@ -103,10 +103,10 @@
 example:</p>
 
 <pre>
-&lt;include android:id=”&#64;+id/news_title”
-         android:layout_width=”match_parent”
-         android:layout_height=”match_parent”
-         layout=”@layout/title”/>
+&lt;include android:id="&#64;+id/news_title"
+         android:layout_width="match_parent"
+         android:layout_height="match_parent"
+         layout="@layout/title"/&gt;
 </pre>
 
 <p>However, if you want to override layout attributes using
@@ -130,17 +130,17 @@
 {@code &lt;merge&gt;} element as the root view for the re-usable layout. For example:</p>
 
 <pre>
-&lt;merge xmlns:android="http://schemas.android.com/apk/res/android">
+&lt;merge xmlns:android="http://schemas.android.com/apk/res/android"&gt;
 
     &lt;Button
-        android:layout_width="fill_parent" 
+        android:layout_width="fill_parent"
         android:layout_height="wrap_content"
-        android:text="@string/add"/>
+        android:text="@string/add"/&gt;
 
     &lt;Button
-        android:layout_width="fill_parent" 
+        android:layout_width="fill_parent"
         android:layout_height="wrap_content"
-        android:text="@string/delete"/>
+        android:text="@string/delete"/&gt;
 
 &lt;/merge>
 </pre>
diff --git a/docs/html/training/in-app-billing/preparing-iab-app.jd b/docs/html/training/in-app-billing/preparing-iab-app.jd
index 17cd0d51..ca33008 100644
--- a/docs/html/training/in-app-billing/preparing-iab-app.jd
+++ b/docs/html/training/in-app-billing/preparing-iab-app.jd
@@ -30,18 +30,35 @@
 </div>
 </div>
 
+<a class="notice-developers-video wide"
+href="https://www.youtube.com/watch?v=UvCl5Xx7Z5o">
+<div>
+    <h3>Video</h3>
+    <p>Implementing Freemium</p>
+  </div>
+  </a>
+
 <p>Before you can start using the In-app Billing service, you'll need to add the library that contains the In-app Billing Version 3 API to your Android project. You also need to set the permissions for your application to communicate with Google Play. In addition, you'll need to establish a connection between your application and  Google Play. You should also verify that the In-app Billing API version that you are using in your application is supported by Google Play.</p>
 
 <h2 id="GetSample">Download the Sample Application</h2>
 <p>In this training class, you will use a reference implementation for the In-app Billing Version 3 API called the {@code TrivialDrive} sample application. The sample includes convenience classes to quickly set up the In-app Billing service, marshal and unmarshal data types, and handle In-app Billing requests from the main thread of your application.</p>
 <p>To download the sample application:</p>
 <ol>
-<li>Open the <a href="{@docRoot}tools/help/sdk-manager.html">Android SDK Manager</a>.</li>
-<li>In the SDK Manager, expand the {@code Extras} section.</li>
-<li>Select <strong>Google Play Billing Library</strong>.</li>
-<li>Click <strong>Install packages</strong> to complete the download.</li>
+<li>Open Android Studio and then close any open projects until you are
+presented with the welcome screen.</li>
+<li>Choose <strong>Import an Android code sample</strong> from the
+  <strong>Quick Start</strong> list on the right side the window.</li>
+<li>Type {@code Trivial Drive} into the search bar and select the
+  <strong>Trivial Drive</strong> sample.</li>
+<li>Follow the rest of the instructions in the <strong>Import Sample</strong>
+  wizard to import the sample to a directory of your choosing. The sample code
+  is in the <strong>TrivialDrive</strong> subdirectory of the repository.</li>
 </ol>
-<p>The sample files will be installed to {@code &lt;sdk&gt;/extras/google/play_billing/}.</p>
+
+<p>Alternatively, you can use {@code git} to manually clone
+ the repository from <a
+ href="https://github.com/googlesamples/android-play-billing"
+ class="external-link">https://github.com/googlesamples/android-play-billing</a></p>
 
 <h2 id="AddToDevConsole">Add Your Application to the Developer Console</h2>
 <p>The Google Play Developer Console is where you publish your In-app Billing application and  manage the various digital goods that are available for purchase from your application. When you create a new application entry in the Developer Console, it automatically generates a public license key for your application. You will need this key to establish a trusted connection from your application to the Google Play servers. You only need to generate this key once per application, and don’t need to repeat these steps when you update the APK file for your application.</p>
diff --git a/docs/html/training/managing-audio/audio-focus.jd b/docs/html/training/managing-audio/audio-focus.jd
index 6dcaa7f..8d820db 100644
--- a/docs/html/training/managing-audio/audio-focus.jd
+++ b/docs/html/training/managing-audio/audio-focus.jd
@@ -11,7 +11,7 @@
 @jd:body
 
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>This lesson teaches you to</h2>
@@ -27,21 +27,21 @@
   <li><a href="{@docRoot}guide/topics/media/mediaplayer.html">Media Playback</a></li>
 </ul>
 
-</div> 
 </div>
- 
+</div>
+
 
 <p>With multiple apps potentially playing audio it's important to think about how they should
 interact. To avoid every music app playing at the same time, Android uses audio focus to moderate
 audio playback&mdash;only apps that hold the audio focus should play audio.</p>
 
-<p>Before your app starts playing audio it should request&mdash;and receive&mdash;the audio focus. 
+<p>Before your app starts playing audio it should request&mdash;and receive&mdash;the audio focus.
 Likewise, it should know how to listen for a loss of audio focus and respond appropriately when that
 happens.</p>
 
- 
-<h2 id="RequestFocus">Request the Audio Focus</h2> 
- 
+
+<h2 id="RequestFocus">Request the Audio Focus</h2>
+
 <p>Before your app starts playing any audio, it should hold the audio focus for the stream
 it will be using. This is done with a call to {@link android.media.AudioManager#requestAudioFocus
 requestAudioFocus()} which returns
@@ -55,7 +55,7 @@
 <p>The following snippet requests permanent audio focus on the music audio stream. You should
 request the audio focus immediately before you begin playback, such as when the user presses
 play or the background music for the next game level begins.</p>
-  
+
 <pre>
 AudioManager am = mContext.getSystemService(Context.AUDIO_SERVICE);
 ...
@@ -66,7 +66,7 @@
                                  AudioManager.STREAM_MUSIC,
                                  // Request permanent focus.
                                  AudioManager.AUDIOFOCUS_GAIN);
-   
+
 if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
     am.registerMediaButtonEventReceiver(RemoteControlReceiver);
     // Start playback.
@@ -80,7 +80,7 @@
 this allows any interupted app to continue playback.</p>
 
 <pre>
-// Abandon audio focus when playback complete    
+// Abandon audio focus when playback complete
 am.abandonAudioFocus(afChangeListener);
 </pre>
 
@@ -97,7 +97,7 @@
                              AudioManager.STREAM_MUSIC,
                              // Request permanent focus.
                              AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);
-   
+
 if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
     // Start playback.
 }
@@ -111,7 +111,7 @@
 registered when requesting focus.</p>
 
 
-<h2 id="HandleFocusLoss">Handle the Loss of Audio Focus</h2> 
+<h2 id="HandleFocusLoss">Handle the Loss of Audio Focus</h2>
 
 <p>If your app can request audio focus, it follows that it will in turn lose that focus when another
 app requests it. How your app responds to a loss of audio focus depends on the manner of that
@@ -139,26 +139,27 @@
 unregisters our media button event receiver and stops monitoring audio focus changes.<p>
 
 <pre>
-OnAudioFocusChangeListener afChangeListener = new OnAudioFocusChangeListener() {
-    public void onAudioFocusChange(int focusChange) {
-        if (focusChange == AUDIOFOCUS_LOSS_TRANSIENT
-            // Pause playback
-        } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
-            // Resume playback 
-        } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
-            am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
-            am.abandonAudioFocus(afChangeListener);
-            // Stop playback
+AudioManager.OnAudioFocusChangeListener afChangeListener =
+    new AudioManager.OnAudioFocusChangeListener() {
+        public void onAudioFocusChange(int focusChange) {
+            if (focusChange == AUDIOFOCUS_LOSS_TRANSIENT) {
+                // Pause playback
+            } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
+                // Resume playback
+            } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
+                am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
+                am.abandonAudioFocus(afChangeListener);
+                // Stop playback
+            }
         }
-    }
-};
+    };
 </pre>
- 
+
 <p>In the case of a transient loss of audio focus where ducking is permitted, rather than pausing
 playback, you can "duck" instead.</p>
 
 
-<h2 id="DUCK">Duck!</h2> 
+<h2 id="DUCK">Duck!</h2>
 
 <p>Ducking is the process of lowering your audio stream output volume to make transient audio from
 another app easier to hear without totally disrupting the audio from your own application.</p>
diff --git a/docs/html/training/snackbar/action.jd b/docs/html/training/snackbar/action.jd
new file mode 100644
index 0000000..58a18a5
--- /dev/null
+++ b/docs/html/training/snackbar/action.jd
@@ -0,0 +1,94 @@
+page.title=Adding an Action to a Message
+page.tags="Snackbar" "action" "popup"
+helpoutsWidget=true
+trainingnavtop=true
+
+@jd:body
+
+<div id="tb-wrapper">
+  <div id="tb">
+
+<!--
+    <h2>This lesson teaches you to</h2>
+
+    <ol>
+      <li>
+        <a href="#id">heading</a>
+      </li>
+
+      <li>
+        <a href="#id">heading</a>
+      </li>
+    </ol>
+-->
+
+    <h2>See Also</h2>
+    <ul>
+      <li><a href="{@docRoot}guide/topics/ui/ui-events.html">
+          Input Events</a></li>
+    </ul>
+
+
+  </div>
+</div>
+
+<p>
+  You can add an action to a {@link android.support.design.widget.Snackbar},
+  allowing the user to respond to your message. If you add an action to a
+  {@link android.support.design.widget.Snackbar}, the
+  {@link android.support.design.widget.Snackbar} puts a button
+  next to the message text. The user can trigger your action by pressing the
+  button. For example, an email app might put an <em>undo</em> button on its
+  "email archived" message; if the user clicks the <em>undo</em> button, the
+  app takes the email back out of the archive.
+</p>
+
+<img src="{@docRoot}images/training/snackbar/snackbar_undo_action_2x.png"
+  srcset="{@docRoot}images/training/snackbar/snackbar_undo_action.png 1x,
+      {@docRoot}images/training/snackbar/snackbar_undo_action_2x.png 2x"
+  width="400" alt="">
+
+<p class="img-caption">
+  <strong>Figure 1.</strong> This Snackbar has an <strong>Undo</strong>
+  button, which restores the item that was just removed.
+</p>
+
+<p>
+  To add an action to a {@link android.support.design.widget.Snackbar} message,
+  you need to define a listener object that implements the {@link
+  android.view.View.OnClickListener} interface. The system calls your
+  listener's {@link android.view.View.OnClickListener#onClick onClick()} method
+  if the user clicks on the message action. For example, this snippet shows a
+  listener for an undo action:
+</p>
+
+<pre>public class MyUndoListener implements View.OnClickListener{
+
+    &amp;Override
+    public void onClick(View v) {
+
+        // Code to undo the user's last action
+    }
+}</pre>
+
+<p>
+  Use one of the
+  {@link android.support.design.widget.Snackbar#setAction(int, android.view.View.OnClickListener)
+  SetAction()} methods to attach the listener to your {@link
+  android.support.design.widget.Snackbar}. Be sure to attach the listener
+  before you call {@link android.support.design.widget.Snackbar#show show()},
+  as shown in this code sample:
+</p>
+
+<pre>Snackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),
+                                R.string.email_archived, Snackbar.LENGTH_SHORT);
+<strong>mySnackbar.setAction(R.string.undo_string, new MyUndoListener());</strong>
+mySnackbar.show();</pre>
+
+<p class="note">
+  <strong>Note:</strong> A {@link android.support.design.widget.Snackbar}
+  automatically goes away after a short time, so you can't count on the user
+  seeing the message or having a chance to press the button. For this reason,
+  you should consider offering an alternate way to perform any {@link
+  android.support.design.widget.Snackbar} action.
+</p>
diff --git a/docs/html/training/snackbar/index.jd b/docs/html/training/snackbar/index.jd
new file mode 100644
index 0000000..312f10c
--- /dev/null
+++ b/docs/html/training/snackbar/index.jd
@@ -0,0 +1,94 @@
+page.title=Showing Pop-Up Messages
+page.tags="Snackbar","Toast"
+helpoutsWidget=true
+trainingnavtop=true
+startpage=true
+
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>Dependencies and prerequisites</h2>
+<ul>
+  <li><a href="{@docRoot}tools/support-library/features.html#design">Design
+    Support Library</a></li>
+</ul>
+
+
+<h2>You should also read</h2>
+<ul>
+  <li><a href="{@docRoot}training/implementing-navigation/index.html">
+    Implementing Effective Navigation</a></li>
+  <li><a href="https://www.google.com/design/spec/components/snackbars-toasts.html">
+    Material Design: Snackbars &amp; toasts</a></li>
+</ul>
+
+</div>
+</div>
+
+<p>
+  There are many situations where you might want your app to show a quick
+  message to the user, without necessarily waiting for the user to respond.
+  For example, when a user performs an action like sending an email or deleting
+  a file, your app should show a quick confirmation to the user. Often the user
+  doesn't need to respond to the message. The message needs to be prominent
+  enough that the user can see it, but not so prominent that it prevents the
+  user from working with your app.
+</p>
+
+<p>
+  Android provides the {@link android.support.design.widget.Snackbar} widget
+  for this common use case.
+  A {@link android.support.design.widget.Snackbar} provides a quick pop-up
+  message to the user. The current activity remains visible and interactive
+  while the {@link android.support.design.widget.Snackbar} is displayed. After a
+  short time, the Snackbar automatically dismisses itself.
+</p>
+
+<p>
+  This class teaches you how to use {@link
+  android.support.design.widget.Snackbar} to show pop-up messages.
+</p>
+
+<div class="figure" style="width:400px">
+  <img src="{@docRoot}images/training/snackbar/snackbar_drive_2x.png"
+    srcset="{@docRoot}images/training/snackbar/snackbar_drive.png 1x,
+        {@docRoot}images/training/snackbar/snackbar_drive_2x.png 2x"
+    width="400" alt="">
+  <p class="img-caption">
+    <strong>Figure 1.</strong> A {@link android.support.design.widget.Snackbar}
+    shows a message at the bottom of the
+    activity, but the rest of the activity is still usable.
+  </p>
+</div>
+
+<p class="note">
+  <strong>Note:</strong> The {@link
+  android.support.design.widget.Snackbar} class supersedes {@link
+  android.widget.Toast}. While {@link android.widget.Toast} is currently still
+  supported, {@link android.support.design.widget.Snackbar} is now the
+  preferred way to display brief, transient messages to the user.
+</p>
+
+<h2>Lessons</h2>
+
+<dl>
+  <dt>
+    <b><a href="showing.html">Using a Snackbar to Show a Message</a></b>
+  </dt>
+
+  <dd>
+    Learn how to use a {@link android.support.design.widget.Snackbar} to display
+    a brief message to the user.
+  </dd>
+
+  <dt>
+    <b><a href="action.html">Adding an Action to a Message</a></b>
+  </dt>
+
+  <dd>
+    Learn how to add an action to a message, allowing the user to respond to
+    the message.
+  </dd>
+</dl>
diff --git a/docs/html/training/snackbar/showing.jd b/docs/html/training/snackbar/showing.jd
new file mode 100644
index 0000000..c178c0b
--- /dev/null
+++ b/docs/html/training/snackbar/showing.jd
@@ -0,0 +1,204 @@
+page.title=Building and Displaying a Pop-Up Message
+page.tags="Snackbar" "popup" "pop-up"
+helpoutsWidget=true
+trainingnavtop=true
+
+@jd:body
+
+<div id="tb-wrapper">
+  <div id="tb">
+
+    <h2>This lesson teaches you to</h2>
+
+    <ol>
+      <li><a href="#coordinator">Use a CoordinatorLayout</a></li>
+      <li><a href="#display">Display a Message</a></li>
+    </ol>
+
+    <h2>You should also read</h2>
+    <ul>
+      <li><a href="{@docRoot}tools/support-library/setup.html"
+    >Support Library Setup</a></li>
+    </ul>
+  </div>
+</div>
+
+
+<p>
+  You can use a {@link android.support.design.widget.Snackbar} to display a brief
+  message to the user. The message automatically goes away after a short
+  period. A {@link android.support.design.widget.Snackbar} is ideal
+  for brief messages that the user doesn't necessarily need to act on. For
+  example, an email app could use a {@link
+  android.support.design.widget.Snackbar} to tell the user that the app
+  successfully sent an email.
+</p>
+
+<h2 id="coordinator">Use a CoordinatorLayout</h2>
+
+<p>
+  A {@link android.support.design.widget.Snackbar} is attached to a view. The
+  {@link android.support.design.widget.Snackbar} provides basic functionality
+  if it is attached to any object derived from the {@link android.view.View}
+  class, such as any of the common layout objects. However, if the
+  {@link android.support.design.widget.Snackbar}
+  is attached to a {@link android.support.design.widget.CoordinatorLayout}, the
+  {@link android.support.design.widget.Snackbar} gains additional features:
+</p>
+
+<ul>
+  <li>The user can dismiss the {@link android.support.design.widget.Snackbar}
+  by swiping it away.
+  </li>
+
+  <li>The layout moves some other UI elements when the {@link
+  android.support.design.widget.Snackbar} appears. For example, if the layout
+  has a {@link android.support.design.widget.FloatingActionButton}, the layout
+  moves the button up when it shows a {@link
+  android.support.design.widget.Snackbar}, instead of drawing the {@link
+  android.support.design.widget.Snackbar} on top of the button. You can see how
+  this looks in Figure 1.
+  </li>
+</ul>
+
+<p>
+  The {@link android.support.design.widget.CoordinatorLayout} class provides a superset
+  of the functionality of {@link android.widget.FrameLayout}. If your app
+  already uses a {@link android.widget.FrameLayout}, you can just replace that
+  layout with a {@link android.support.design.widget.CoordinatorLayout} to
+  enable the full {@link android.support.design.widget.Snackbar} functionality.
+  If your app uses other layout objects, the simplest thing to do is wrap your
+  existing layout elements in a {@link
+  android.support.design.widget.CoordinatorLayout}, as in this example:
+</p>
+
+<pre>&lt;android.support.design.widget.CoordinatorLayout
+    android:id="@+id/myCoordinatorLayout"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"&gt;
+
+    &lt;!-- Here are the existing layout elements, now wrapped in
+         a CoordinatorLayout --&gt;
+    &lt;LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"&gt;
+
+        &lt;!-- …Toolbar, other layouts, other elements… --&gt;
+
+    &lt;/LinearLayout>
+
+&lt;/android.support.design.widget.CoordinatorLayout&gt;</pre>
+
+<p>
+  Make sure to set an <code>android:id</code> tag for your {@link
+  android.support.design.widget.CoordinatorLayout}. You need the layout's ID
+  when you display the message.
+</p>
+
+<div class="framed-nexus5-port-span-5" id="video-coord">
+  <video class="play-on-hover" autoplay loop
+    alt="If the Snackbar is attached to a CoordinatorLayout, the layout
+        moves other elements up when it shows the Snackbar.">
+  <!-- Preferred video size 216x384 (portrait) -->
+    <source src="{@docRoot}images/training/snackbar/snackbar_button_move.mp4">
+  </video>
+</div>
+
+<p class="img-caption">
+  <strong>Figure 1.</strong> The {@link android.support.design.widget.CoordinatorLayout}
+  moves the {@link android.support.design.widget.FloatingActionButton} up
+  when the {@link android.support.design.widget.Snackbar} appears.
+</p>
+
+<h2 id="display">
+  Display a Message
+</h2>
+
+<p>
+  There are two steps to displaying a message. First, you create a {@link
+  android.support.design.widget.Snackbar} object with the message text. Then,
+  you call that object's {@link android.support.design.widget.Snackbar#show
+  show()} method to display the message to the user.
+</p>
+
+<h3 id="create-snackbar">Creating a Snackbar object</h3>
+
+<p>
+  Create a {@link android.support.design.widget.Snackbar} object by
+  calling the static {@link android.support.design.widget.Snackbar#make
+  Snackbar.make()} method. When you create the {@link
+  android.support.design.widget.Snackbar}, you specify both the message it
+  displays, and the length of time to show the message:
+</p>
+
+<pre>Snackbar mySnackbar = Snackbar.make(viewId, stringId, duration);</pre>
+
+<dl>
+  <dt>
+    <em>viewId</em>
+  </dt>
+
+  <dd>
+    The view to attach the {@link android.support.design.widget.Snackbar} to.
+    The method actually searches up the view hierarchy from the passed
+    <em>viewId</em> until it reaches either a {@link
+    android.support.design.widget.CoordinatorLayout}, or the window decor's
+    content view. Ordinarily, it's simplest to just pass the ID of the {@link
+    android.support.design.widget.CoordinatorLayout} enclosing your content.
+  </dd>
+
+  <dt>
+    <em>stringId</em>
+  </dt>
+
+  <dd>
+    The resource ID of the message you want to display. This can be formatted
+    or unformatted text.
+  </dd>
+
+  <dt>
+    <em>duration</em>
+  </dt>
+
+  <dd>
+    The length of time to show the message. This can be either {@link
+    android.support.design.widget.Snackbar#LENGTH_SHORT LENGTH_SHORT} or {@link
+    android.support.design.widget.Snackbar#LENGTH_LONG LENGTH_LONG}.
+  </dd>
+</dl>
+
+<h3 id="show-snackbar">Showing the message to the user</h3>
+
+<p>
+  Once you have created the {@link android.support.design.widget.Snackbar},
+  call its {@link android.support.design.widget.Snackbar#show show()} method to
+  display the {@link android.support.design.widget.Snackbar} to the user:
+</p>
+
+<pre>mySnackbar.show();</pre>
+
+<p>
+  The system does not show multiple {@link
+  android.support.design.widget.Snackbar} objects at the same time, so if the
+  view is currently displaying another {@link
+  android.support.design.widget.Snackbar}, the system queues your {@link
+  android.support.design.widget.Snackbar} and displays it after the current
+  {@link android.support.design.widget.Snackbar} expires or is dismissed.
+</p>
+
+<p>
+  If you just want to show a message to the user and won't need to call any of
+  the {@link android.support.design.widget.Snackbar} object's utility methods,
+  you don't need to keep the reference to the {@link
+  android.support.design.widget.Snackbar} after you call {@link
+  android.support.design.widget.Snackbar#show show()}. For this reason, it's
+  common to use method chaining to create and show a {@link
+  android.support.design.widget.Snackbar} in one statement:
+</p>
+
+<pre>Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent,
+                        Snackbar.LENGTH_SHORT)
+        .show();</pre>
diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs
index 85733bf..b16b569 100644
--- a/docs/html/training/training_toc.cs
+++ b/docs/html/training/training_toc.cs
@@ -1008,6 +1008,21 @@
            "How to detect location data on Android Wear devices."
           >Detecting Location</a>
       </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/wear-permissions.html"
+           description=
+           "How to request permissions on Android Wear devices."
+          >Requesting Permissions</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/wearables/wearable-sounds.html"
+           description=
+           "How to use the speaker on Android Wear devices."
+          >Using the Speaker</a>
+      </li>
+
     </ul>
   </li>
   <!-- End Building for wearables -->
@@ -1464,6 +1479,24 @@
         </ul>
       </li>
 
+            <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/snackbar/index.html"
+             description=
+             "How to use the support library's Snackbar widget to display a
+             brief pop-up message."
+            >Showing Pop-Up Messages</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/snackbar/showing.html"
+            >Building and Displaying a Pop-Up Message</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/snackbar/action.html"
+            >Adding an Action to a Message</a>
+          </li>
+        </ul>
+      </li>
+
       <li class="nav-section">
         <div class="nav-section-header">
           <a href="<?cs var:toroot ?>training/custom-views/index.html"
diff --git a/docs/html/training/tv/index.jd b/docs/html/training/tv/index.jd
index 081680a..4a6bcb8 100644
--- a/docs/html/training/tv/index.jd
+++ b/docs/html/training/tv/index.jd
@@ -10,3 +10,20 @@
 
 <p class="note"><strong>Note:</strong> For details on how to publish your TV apps in Google Play,
 see <a href="{@docRoot}distribute/googleplay/tv.html">Distribute to Android TV</a>.</p>
+
+<div class="wrap">
+  <div class="cols">
+    <div class="col-1of2">
+      <p>If you prefer to learn through interactive video training, check out this online course
+      about extending your apps to work with Android TV.</p>
+      <p><a href="https://www.udacity.com/course/ud875B" class="button">
+        Start the video course</a>
+      </p>
+    </div>
+    <div class="col-1of2">
+      <iframe width="300" height="169"
+      src="//www.youtube.com/embed/anJtq2rtrA8?autohide=1&amp;showinfo=0"
+      frameborder="0" allowfullscreen="" style="float: right; margin: 0 0 20px 20px;"></iframe>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/docs/html/training/tv/start/layouts.jd b/docs/html/training/tv/start/layouts.jd
index 2b190b4..4ca77d0 100644
--- a/docs/html/training/tv/start/layouts.jd
+++ b/docs/html/training/tv/start/layouts.jd
@@ -117,25 +117,43 @@
   This behavior is generally referred to as <em>overscan</em>.
 </p>
 
-<p>
-  Avoid screen elements being clipped due to overscan and by incorporating a 10% margin
-  on all sides of your layout. This translates into a 48dp margin on the left and right edges and
-  a 27dp margin on the top and bottom of your base layouts for activities. The following
-  example layout demonstrates how to set these margins in the root layout for a TV app:
+<p>Screen elements that must be visible to the user at all times should be positioned within the
+overscan safe area. Adding a 5% margin of 48dp on the left and right edges and 27dp on the top and
+bottom edges to a layout ensures that screen elements in that layout will be within the overscan
+safe area.
+</p>
+
+<p>Background screen elements that the user doesn't directly interact with should not be adjusted or
+clipped to the overscan safe area. This approach ensures that background screen elements look
+correct on all screens.
+</p>
+
+<p>The following example shows a root layout that can contain background elements, and a nested
+child layout that has a 5% margin and can contain elements within the overscan safe area:
 </p>
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:id="@+id/base_layout"
-  android:layout_width="match_parent"
-  android:layout_height="match_parent"
-  android:orientation="vertical"
-  android:layout_marginTop="27dp"
-  android:layout_marginLeft="48dp"
-  android:layout_marginRight="48dp"
-  android:layout_marginBottom="27dp" &gt;
-&lt;/LinearLayout&gt;
+&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+   android:layout_width="match_parent"
+   android:layout_height="match_parent"
+   &gt;
+
+   &lt;!-- Screen elements that can render outside the overscan safe area go here --&gt;
+
+   &lt;!-- Nested RelativeLayout with overscan-safe margin --&gt;
+   &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+       android:layout_width="match_parent"
+       android:layout_height="match_parent"
+       android:layout_marginTop="27dp"
+       android:layout_marginBottom="27dp"
+       android:layout_marginLeft="48dp"
+       android:layout_marginRight="48dp"&gt;
+
+      &lt;!-- Screen elements that need to be within the overscan safe area go here --&gt;
+
+   &lt;/RelativeLayout&gt;
+&lt;/RelativeLayout&gt;
 </pre>
 
 <p class="caution">
diff --git a/docs/html/training/tv/start/start.jd b/docs/html/training/tv/start/start.jd
index e55e202..743b61b 100644
--- a/docs/html/training/tv/start/start.jd
+++ b/docs/html/training/tv/start/start.jd
@@ -228,6 +228,27 @@
   design guide.
 </p>
 
+<h3 id="transition-color">Change the launcher color</h3>
+
+<p>When a TV app launches, the system displays an animation that resembles an expanding, filled
+  circle. To customize the color of this animation, set the <code>android:colorPrimary</code>
+  attribute of your TV app or activity to a specific color. You should also set two additional
+  transition overlap attributes to <code>true</code>, as shown in the following snippet from a
+  theme resource XML file:</p>
+
+<pre>
+&lt;resources&gt;
+    &lt;style ... &gt;
+      &lt;item name="android:colorPrimary"&gt;&#64;color/primary&lt;/item&gt;
+      &lt;item name="android:windowAllowReturnTransitionOverlap"&gt;true&lt;/item&gt;
+      &lt;item name="android:windowAllowEnterTransitionOverlap"&gt;true&lt;/item&gt;
+    &lt;/style&gt;
+&lt;/resources&gt;
+</pre>
+
+<p>For more information about working with themes and styles, see
+<a href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a>.</p>
+
 <h2 id="tv-libraries">Add TV Support Libraries</h3>
 
 <p>
diff --git a/docs/html/training/wearables/wearable-sounds.jd b/docs/html/training/wearables/wearable-sounds.jd
new file mode 100644
index 0000000..3c3c135
--- /dev/null
+++ b/docs/html/training/wearables/wearable-sounds.jd
@@ -0,0 +1,63 @@
+page.title=Using Speakers on Wearables
+
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+<h2>This lesson teaches you to</h2>
+<ol>
+  <li><a href="#Detect">Detect the Speaker</a></li>
+  <li><a href="#Play">Play Sounds</a></li>
+</ol>
+<h2>You should also read</h2>
+<ul>
+  <li><a href="{@docRoot}design/wear/watchfaces.html">Watch Faces for Android Wear</a></li>
+</ul>
+</div>
+</div>
+
+<p>Some Android Wear devices include speakers, enabling them to incorporate sound into their
+apps and offer an extra dimension of engagement with the user. A speaker-equipped Wear device might
+trigger a clock or timer alarm, complete with audio notification. Games on Wear become become more
+entertaining by offering not just sight, but sound.</p>
+
+<p>This page describes how apps on Wear devices running Android 6.0 (API level 23) can use
+familiar Android APIs to play sounds through the device speaker.</p>
+
+<h2 id="Detect">Detect the Speaker</h2>
+
+<p>A Wear app must first detect whether the wearable device has a speaker. In the following example,
+the app uses the {@link android.media.AudioManager#getDevices(int) getDevices() } method in
+conjunction with the value of {@link android.content.pm.PackageManager#FEATURE_AUDIO_OUTPUT} to
+confirm that the device is equipped with a speaker.</p>
+
+<pre>
+PackageManager packageManager = context.getPackageManager();
+AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+
+// Check whether the device has a speaker.
+if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+    // Check FEATURE_AUDIO_OUTPUT to guard against false positives.
+    if (!packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT)) {
+        return false;
+    }
+
+    AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
+    for (AudioDeviceInfo device : devices) {
+        if (device.getType() == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER) {
+            return true;
+        }
+    }
+}
+return false;
+</pre>
+
+<h2 id="Play">Play Sounds</h2>
+
+<p>Once you've detected the speaker, the process for playing sound on Android Wear is the
+same as for a handset or other device. For more information, see
+<a href="{@docRoot}guide/topics/media/mediaplayer.html">Media Playback</a>.</p>
+
+<p>If you also want to record audio from the microphone on the wearable, your app must also get
+permission to use the microphone. To learn more, see
+<a href="{@docRoot}training/articles/wear-permissions.html">Permissions on Android Wear.</a></p>
\ No newline at end of file
diff --git a/docs/image_sources/distribute/googleplay/about_developer_page_original.png b/docs/image_sources/distribute/googleplay/about_developer_page_original.png
new file mode 100644
index 0000000..4ccbfe9
--- /dev/null
+++ b/docs/image_sources/distribute/googleplay/about_developer_page_original.png
Binary files differ
diff --git a/docs/image_sources/distribute/googleplay/about_personalized_home_orig.png b/docs/image_sources/distribute/googleplay/about_personalized_home_orig.png
new file mode 100644
index 0000000..a5214d6
--- /dev/null
+++ b/docs/image_sources/distribute/googleplay/about_personalized_home_orig.png
Binary files differ
diff --git a/docs/image_sources/distribute/googleplay/about_play_store_home_original.png b/docs/image_sources/distribute/googleplay/about_play_store_home_original.png
new file mode 100644
index 0000000..3a4cba4
--- /dev/null
+++ b/docs/image_sources/distribute/googleplay/about_play_store_home_original.png
Binary files differ
diff --git a/docs/image_sources/distribute/googleplay/about_play_store_listing_original.png b/docs/image_sources/distribute/googleplay/about_play_store_listing_original.png
new file mode 100644
index 0000000..63d6e9b
--- /dev/null
+++ b/docs/image_sources/distribute/googleplay/about_play_store_listing_original.png
Binary files differ
diff --git a/docs/image_sources/distribute/googleplay/about_search_results_orig.png b/docs/image_sources/distribute/googleplay/about_search_results_orig.png
new file mode 100644
index 0000000..af775d3
--- /dev/null
+++ b/docs/image_sources/distribute/googleplay/about_search_results_orig.png
Binary files differ
diff --git a/docs/image_sources/training/snackbar/snackbar_drive_original.png b/docs/image_sources/training/snackbar/snackbar_drive_original.png
new file mode 100644
index 0000000..7094a11
--- /dev/null
+++ b/docs/image_sources/training/snackbar/snackbar_drive_original.png
Binary files differ
diff --git a/docs/image_sources/training/snackbar/snackbar_undo_action_original.png b/docs/image_sources/training/snackbar/snackbar_undo_action_original.png
new file mode 100644
index 0000000..ec50c137
--- /dev/null
+++ b/docs/image_sources/training/snackbar/snackbar_undo_action_original.png
Binary files differ