Merge "Clean up sdk/sdk_vars.cs file b/28744510" into mnc-mr-docs
am: 379e28db22
* commit '379e28db228f2c0102ec41925600155c058a1ea7':
Clean up sdk/sdk_vars.cs file b/28744510
Change-Id: I4b262eca7ca315d1ae0d51bd77ec2bcf35cadb77
diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd
index ff7acc9..2203f71 100644
--- a/docs/html/google/play/billing/billing_admin.jd
+++ b/docs/html/google/play/billing/billing_admin.jd
@@ -8,10 +8,11 @@
<h2>In this document</h2>
<ol>
<li><a href="#billing-list-setup">Creating a Product List</a></li>
+ <li><a href="#pricing-template">Pricing Templates</a></li>
<li><a href="#billing-purchase-type">Choosing a Product Type</a></li>
- <li><a href="#billing-testing-setup">Setting up Test Accounts</a></li>
<li><a href="#billing-refunds">Handling Refunds</a></li>
<li><a href="#billing-refunds">Working with Order Numbers</a></li>
+ <li><a href="#billing-testing-setup">Setting up Test Accounts</a></li>
<li><a href="#billing-support">Where to Get Support</a></li>
</ol>
@@ -44,7 +45,19 @@
<p>The Google Play Developer Console provides a product list for each of your published
applications. You can sell an item using Google Play's in-app billing feature only if the item is
listed on an application's product list. Each application has its own product list; you cannot sell
-items that are listed in another application's product list.</p>
+items that appear on another application's product list.</p>
+
+<div class="figure-right">
+ <figure id="fig-iap">
+ <img src="{@docRoot}images/in-app-billing/in_app_products.png" width="700"
+ alt="The Mythical Journey app lists two in-app products, Invisibility Potion and Sleeping Potion.">
+ <figcaption>
+ <b>Figure 1. </b>You can access an application's product list by
+ selecting the <strong>In-app Products</strong> link in the main Apps
+ navigation.
+ </figcaption>
+ </figure>
+</div>
<p>You can access an application's product list by clicking the <strong>In-App Products</strong>
link in applications listed in your developer account (see
@@ -58,25 +71,17 @@
you are selling in your application. It does not store any digital content. You are responsible for
storing and delivering the digital content that you sell in your applications.</p>
-<div style="margin:1em;">
-<img style="border:1px solid #ddd;padding-bottom:.5em" src="{@docRoot}images/in-app-billing/billing_product_list.png" xheight="548" id="figure1" />
-<p class="img-caption" style="padding-left:.5em;">
- <strong>Figure 1.</strong> You can access an application's product list by clicking the
- <strong>In-App Products</strong> link in the main Apps navigation.
-</p>
-</div>
-
<p>You can create a product list for any published application, or any
application in the alpha or beta channels, that's been
uploaded and saved to the Developer Console. However, you must have a Google payments merchant
account and the application's manifest must include the <code>com.android.vending.BILLING</code>
permission. If an application's manifest does not include this permission, you will be able to edit
-existing items in the product list but you will not be able to add new items to the list. For more
+existing items in the product list, but you won't be able to add new items to the list. For more
information about this permission, see
<a href="{@docRoot}google/play/billing/billing_integrate.html#billing-permission">Updating Your
Application's Manifest</a>.</p>
-<p class="note"><strong>Note:</strong> Previously you could test an app by
+<p class="note"><strong>Note:</strong> Previously, you could test an app by
uploading an unpublished "draft" version. This functionality is no longer
supported; instead, you must publish it to the alpha or beta distribution
channel. For more information, see <a
@@ -97,7 +102,9 @@
product list for testing purposes. The CSV file method is useful if your application has a large
number of in-app items.</p>
-<p class="note"><strong>Note:</strong> Batch upload of product lists containing subscriptions is not yet supported.</p>
+<p class="note"><strong>Note:</strong> Batch upload of product lists containing subscriptions is not yet supported.
+Also, you cannot perform a batch upload containing changes to in-app products that are linked to a
+<a href="#pricing-template">pricing template</a>.</p>
<h3 id="billing-form-add">Adding items one at a time to a product list</h3>
@@ -107,39 +114,67 @@
<li><a href="http://play.google.com/apps/publish">Log in</a> to your publisher account.</li>
<li>In the <strong>All Applications</strong> panel, click on the
app name, then select <strong>In-app Products</strong>.</li>
- <li>Click <strong>Add new product</strong> (see figure 2) and provide details about the item you are
- selling and then click <strong>Save</strong> or <strong>Publish</strong>.</li>
+ <li>Click <strong>Add new product</strong> (see figure 2) and provide the product type and ID for the item you are
+ selling. Click <strong>Continue</strong>.</li>
+ <li>Enter additional information about the item, then click <strong>Save</strong> or <strong>Publish</strong>.
</ol>
-<div style="margin:1em;">
-<img style="border:1px solid #ddd;padding-bottom:.5em;" src="{@docRoot}images/in-app-billing/billing_add.png" height="300" id="figure2" />
-<p class="img-caption" style="padding-left:.5em;">
- <strong>Figure 2.</strong> The Add New Product page lets you add items to an
- application's product list.
-</p>
+<div class="figure-right">
+ <figure id="fig-anp">
+ <img src="{@docRoot}images/in-app-billing/add_new_product.png" width="300"
+ alt="Adding a managed product with a Product ID of basic_sleeping_potion.">
+ <figcaption>
+ <b>Figure 2. </b>The <em>Add New Product</em> page lets you
+ provide basic information about a paid app or in-app product.
+ </figcaption>
+ </figure>
</div>
-<p>You must enter the following information for each item in a product list:</p>
+<div class="figure-right">
+ <figure id="fig-nmp">
+ <img src="{@docRoot}images/in-app-billing/new_managed_product.png" width="700"
+ alt="">
+ <figcaption>
+ <b>Figure 3. </b>The <em>New Managed Product</em> page lets you finish
+ adding items to an app’s product list.
+ </figcaption>
+ </figure>
+</div>
+
+<div class="figure-right">
+ <figure id="fig-elp">
+ <img src="{@docRoot}images/in-app-billing/edit_local_prices.png" width="700"
+ alt="An item that costs 1.99 in USD usually costs a different amount in AUD,
+ EUR, or BOB. Some countries also add tax to the price.">
+ <figcaption>
+ <b>Figure 4. </b>Specifying additional currencies for an in-app product.
+ </figcaption>
+ </figure>
+</div>
+
+<p>You must enter the following information for each item in a product list (see
+ figures 2 and 3):</p>
<ul>
<li><strong>In-app Product ID</strong>
<p>Product IDs are unique across an application's namespace. A product ID must start with a
lowercase letter or a number, and must be composed using only lowercase letters (a-z), numbers
- (0-9), underlines (_), and dots (.). The product ID "android.test" is reserved, as are all
- product IDs that start with "android.test."</p>
- <p>In addition, you cannot modify an item's product ID after it is created, and you cannot reuse
+ (0-9), underscores (_), and dots (.). The product ID <code>"android.test"</code> is reserved, as are all
+ product IDs that start with <code>"android.test"</code>.</p>
+ <p class="note"><strong>Note: </strong>Be sure to plan your product ID namespace carefully. You
+ cannot modify an item's product ID after it is created, and you cannot reuse
a product ID.</p>
</li>
<li><strong>Product Type</strong>
- <p>The product type can be <strong>Managed per user account</strong>,
- <strong>Unmanaged</strong>, or <strong>Subscription</strong>. You can never
+ <p>The product type can be <strong>Managed product</strong> or <strong>Subscription</strong>. You cannot
change an item's product type after you set it. For more information, see
- <a href="#billing-purchase-type">Choosing a product type</a> later in this
- document.</p>
+ <a href="#billing-purchase-type">Choosing a product type</a>.</p>
+ <p class="note"><strong>Note: </strong>For subscription items, note that you cannot change the
+ item's price once you have published it.</p>
</li>
<li><strong>Publishing State</strong>
<p>An item's publishing state can be <strong>Published</strong> or <strong>Unpublished
</strong>. To be visible to a user during checkout, an item's publishing state must be set to
- <strong>Published</strong> and the item's application must be published on Google Play.</p>
+ <strong>Published</strong>, and the item's application must be published on Google Play.</p>
<p class="note"><strong>Note:</strong> This is not true for test accounts. An item is visible to
a test account if the application is not published and the item is published. See <a
href="{@docRoot}google/play/billing/billing_testing.html#billing-testing-real">Testing In-app
@@ -147,12 +182,12 @@
</li>
<li><strong>Languages and Translations</strong>
<p>You can provide localized titles and descriptions for your in-app
- products using the Add Translations button. If you want Google Play to translate
- your title and description for you, based on the title and description in the
- default language, just click the languages that you want to offer. If you want
- to provide custom translations in specific languages, you can also do that. By
- default, an in-app product inherits its default language from the parent
- application.</p>
+ products by selecting <strong>Add Translations</strong>. If you want Google
+ Play to translate your title and description for you, based on the title and
+ description in the default language, just choose the languages that you
+ want to offer. If you want to provide custom translations in specific
+ languages, you can also do that. By default, an in-app product inherits its
+ default language from the parent application.</p>
</li>
<li><strong>Title</strong>
<p>The title is a short descriptor for the item. For example, "Sleeping potion."
@@ -166,36 +201,19 @@
up to 80 characters in length.</p>
</li>
<li><strong>Price</strong>
- <p>You must provide a default price in your home currency. You can also provide prices in other
- currencies, but you can do this only if a currency's corresponding country is listed as a
- target country for your application. You can specify target countries on the Edit Application
- page in the Google Play developer console.</p>
- <p>To specify prices in other currencies, you can manually enter the price for each
- currency or you can click <strong>Auto Fill</strong> and let Google Play do a one-time
- conversion from your home currency to the currencies you are targeting (see figure 3).</p>
- <p>For subscription items, note that you can not change the item's price once you have published
- it.</p>
+ <p>Provide a price in your home currency, or link the price to an existing
+ pricing template (see figure 4). Based on the price you enter or the prices
+ from the pricing template, the system autofills country-specific prices for
+ different currencies. These generated prices use today's exchange rates and
+ locally-relevant pricing patterns.</p>
+ <p>You can also change prices for other currencies manually, but you can do
+ this only if a currency is used in one of the target countries for your
+ application. You can specify target countries for your app on the
+ <strong>Pricing & Distribution</strong> page in the Google Play
+ Developer Console.</p>
</li>
</ul>
-<div style="margin:1em;">
-<img style="border:1px solid #ddd;padding-bottom:.5em"
- src="{@docRoot}images/in-app-billing/billing_list_form_2.png"
- xheight="1226" id="figure3" />
-<p class="img-caption" style="padding-left:.5em;">
- <strong>Figure 3.</strong> Specifying additional currencies for an in-app product.
-</p>
-</div>
-
-<p>For more information about product IDs and product lists, see <a
-href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1072599">
-Creating In-App Product IDs</a>. For more information about pricing, see <a
-href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1153485">
-In-App Billing Pricing</a>.</p>
-
-<p class="note"><strong>Note</strong>: Be sure to plan your product ID namespace. You cannot reuse
-or modify product IDs after you save them.</p>
-
<h3 id="billing-bulk-add">Adding a batch of items to a product list</h3>
<p>To add a batch of items to a product list using a CSV file, you first need to create your CSV
@@ -203,17 +221,48 @@
manually through the In-app Products UI (see <a href="#billing-form-add">Adding items one at a time
to a product list</a>).
-<p>If you are importing and exporting CSV files with in-app products, please
-keep tax-inclusive pricing in mind. If you use auto-fill, you can provide a
-tax-exclusive default price and tax-inclusive prices will be auto-filled. If you
+<p>If you are importing and exporting CSV files with in-app products, keep
+country-specific pricing in mind. If you use auto-fill, you can provide a
+tax-exclusive default price, and tax-inclusive prices will be auto-filled. If you
do not use auto-fill, prices you provide must include tax.</p>
<p class="note"><strong>Note:</strong> Batch upload of product lists containing
-subscriptions is not yet supported.</p>
+subscriptions is not yet supported. Also, you cannot perform a batch upload
+containing changes to in-app products that are linked to a
+<a href="#pricing-template">pricing template</a>.</p>
-The CSV file uses commas (,) and semi-colons (;) to separate data values.
-Commas are used to separate primary data values, and semi-colons are used to separate subvalues. For
-example, the syntax for the CSV file is as follows:</p>
+
+
+<p>To import the items that are specified in your CSV file, do the following:</p>
+
+<ol>
+ <li><a href="http://play.google.com/apps/publish">Log in</a> to your publisher account.</li>
+ <li>In the <strong>All Applications</strong> panel, click on the app
+ name, then select <strong>In-app Products</strong>.</li>
+ <li>On the In-app Products List page, click <strong>Import/Export</strong>
+ > <strong>Import in-app products from CSV file</strong>, then select your
+ CSV file.
+ <p>The CSV file must be on your local computer or on a local disk that is connected to your
+ computer.</p>
+ </li>
+ <li>Select the <strong>Overwrite</strong> checkbox if you want to overwrite existing items in
+ your product list.
+ <p>This option overwrites values of existing items only if the value of the <em>product_id</em>
+ in the CSV file matches the In-app Product ID for an existing item in the product list.
+ Overwriting doesn't delete items that are on a product list but not present in the CSV
+ file.</p>
+ </li>
+</ol>
+
+<p>You can also export an existing product list to a CSV file by clicking <strong>Export to CSV
+</strong> on the In-app Product List page. This is useful if you have manually added items to
+a product list and you want to start managing the product list through a CSV file.</p>
+
+<h4 id="billing-bulk-format">Formatting batches of items</h4>
+
+<p>The CSV file uses commas (,) and semi-colons (;) to separate data values.
+Commas are used to separate primary data values, and semi-colons are used to
+separate subvalues. For example, the syntax for the CSV file is as follows:</p>
<p>"<em>product_id</em>","<em>publish_state</em>","<em>purchase_type</em>","<em>autotranslate</em>
","<em>locale</em>; <em>title</em>; <em>description</em>","<em>autofill</em>","<em>country</em>;
@@ -266,36 +315,39 @@
<li><em>title</em>
<p>This is equivalent to the Title setting in the In-app Products UI. If the <em>title</em>
contains a semicolon, it must be escaped with a backslash (for example, "\;"). A backslash
- should also be escaped with a backslash (for example, "\\">.</p>
+ should also be escaped with a backslash (for example, "\\").</p>
</li>
<li><em>description</em>
<p>This is equivalent to the Description in the In-app Products UI. If the <em>description</em>
contains a semicolon, it must be escaped with a backslash (for example, "\;"). A backslash
- should also be escaped with a backslash (for example, "\\">.</p>
+ should also be escaped with a backslash (for example, "\\").</p>
</li>
<li><em>autofill</em>
<p>This is equivalent to clicking <strong>Auto Fill</strong> in the In-app Products UI. Can be
<code>true</code> or <code>false</code>. The syntax for specifying the <em>country</em>
and <em>price</em> varies depending on which <em>autofill</em> setting you use.</p>
<p>If <em>autofill</em> is set to <code>true</code>, you need to specify only the default
- price in your home currency and you must use this syntax:</p>
+ price in your home currency, and you must use this syntax:</p>
<p>"true","<em>default_price_in_home_currency</em>"
<p>If <em>autofill</em> is set to <code>false</code>, you need to specify a <em>country</em>
- and a <em>price</em> for each currency and you must use the following syntax:</p>
+ and a <em>price</em> for each currency, and you must use the following syntax:</p>
<p>"false", "<em>home_country</em>; <em>default_price_in_home_currency</em>; <em>country_2</em>;
<em>country_2_price</em>; <em>country_3</em>; <em>country_3_price</em>; ..."</p>
+ <p class="note"><strong>Note: </strong>If you use an <em>autofill</em> value of <code>false</code>
+ and set country prices manually, you must incorporate country-specific
+ pricing patterns, including tax rates, into the prices you provide.</p>
</li>
<li><em>country</em>
<p>The country for which you are specifying a price. You can only list countries that your
application is targeting. The country codes are two-letter uppercase
- ISO country codes (such as "US") as defined by
+ ISO country codes (such as "US"), as defined by
<a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-2</a>.</p>
</li>
<li><em>price</em>
<p>This is equivalent to the Price in the In-app Products UI. The price must be specified in
micro-units. To convert a currency value to micro-units, you multiply the real value by
1,000,000.
- For example, if you want to sell an in-app item for $1.99 you specify 1990000 in the
+ For example, if you want to sell an in-app item for $1.99, you specify <code>1990000</code> in the
<em>price</em> field.</p>
</li>
</ul>
@@ -373,32 +425,352 @@
</tr>
</table>
-<p>To import the items that are specified in your CSV file, do the following:</p>
+<h2 id="pricing-template">
+ Pricing Templates
+</h2>
+
+<p>
+ If you sell multiple apps at the same price—or multiple in-app products at
+ the same price across one or more apps—you can add <em>pricing
+ templates</em>. These templates make it easier to manage shared prices.
+</p>
+
+<h3 id="add-pricing-template">
+ Adding a pricing template
+</h3>
+
+<p>
+ When creating a template, you can provide new pricing information, or you can
+ apply pricing information from an existing paid app or in-app product.
+</p>
+
+<div class="figure-right">
+ <figure id="fig-npt">
+ <img src="{@docRoot}images/in-app-billing/new_pricing_template.png"
+ srcset="{@docRoot}images/in-app-billing/new_pricing_template.png 1x, {@docRoot}images/in-app-billing/new_pricing_template_2x.png 2x"
+ width="400" alt="A template with the name Basic inventory uses a price of
+ USD 0.99.">
+ <figcaption>
+ <b>Figure 5. </b>The <em>Pricing template</em> page, where you add pricing
+ details for the new template you're creating.
+ </figcaption>
+ </figure>
+</div>
+
+<p>
+ To add a pricing template, do the following:
+</p>
<ol>
- <li><a href="http://play.google.com/apps/publish">Log in</a> to your publisher account.</li>
- <li>In the <strong>All Applications</strong> panel, click on the app
- name, then select <strong>In-app Products</strong>.</li>
- <li>On the In-app Products List page, click <strong>Import/Export</strong>
- > <strong>Import in-app products from CSV file</strong>, then select your
- CSV file.
- <p>The CSV file must be on your local computer or on a local disk that is connected to your
- computer.</p>
+ <li>
+ <a href="http://play.google.com/apps/publish">Log in</a> to your publisher
+ account.
</li>
- <li>Select the <strong>Overwrite</strong> checkbox if you want to overwrite existing items in
- your product list.
- <p>This option overwrites values of existing items only if the value of the <em>product_id</em>
- in the CSV file matches the In-app Product ID for an existing item in the product list.
- Overwriting does not delete items that are on a product list but not present in the CSV
- file.</p>
+
+ <li>In the <strong>Settings</strong> panel, select <strong>Pricing
+ template</strong>.
+ </li>
+
+ <li>
+ <p>
+ If you are adding your first pricing template, the <strong>Add a Pricing
+ Template</strong> banner appears. Select <strong>Add template</strong> to
+ create a new template. The <strong>Pricing Template</strong> page
+ appears.
+ </p>
+
+ <p>
+ Otherwise, you see a list of your pricing templates. Select <strong>New
+ pricing template</strong>. The <strong>Pricing Template</strong> page
+ appears.
+ </p>
+ </li>
+
+ <li>
+ <p>
+ Provide details about the template. These details include the name, the
+ price, and whether to include tax as part of your country-specific
+ prices.
+ </p>
+ <p>
+ Based on the price and tax option you provide, the Developer Console
+ generates prices for international currencies using today's exchange
+ rates and country-specific pricing patterns.
+ </p>
+ </li>
+ <li>Select <strong>Create template</strong> to finish adding the template.
</li>
</ol>
-<p>You can also export an existing product list to a CSV file by clicking <strong>Export to CSV
-</strong> on the In-app Product List page. This is useful if you have manually added items to
-a product list and you want to start managing the product list through a CSV file.</p>
+<h3 id="link-pricing-template">
+ Linking a pricing template
+</h3>
-<h3 id="billing-purchase-type">Choosing a Product Type</h3>
+<p>
+ You can link shared prices across paid apps or in-app products to a pricing
+ template. To complete the linking process, use either the template's
+ <em>Linked Items</em> tab or the Price section within a paid app or in-app
+ product's pricing page.
+</p>
+
+<p class="note">
+ <strong>Note:</strong> Since a subscription within your app has a constant
+ price, you cannot link a subscription with a pricing template. You can,
+ however, import the prices from a template and apply them to a new
+ subscription.
+</p>
+
+<h4>
+ Linking a pricing template or paid app to an in-app product
+</h4>
+
+<p>
+ After you create a pricing template, you can link the prices of in-app
+ products and paid apps to that template. After completing this linking
+ process, any changes you make to the pricing template are applied to the
+ prices of items that you've linked to the template.
+</p>
+
+<div class="figure-right">
+ <figure id="fig-lpt">
+ <img src="{@docRoot}images/in-app-billing/link_pricing_template.png"
+ width="700" alt="The Sleeping Potion in-app product is linked to the Basic
+ Inventory item, but the Invisibility Potion is not.">
+ <figcaption>
+ <b>Figure 6. </b>Use the Linked Items tab of the
+ <em>Pricing Template</em> page to change which in-app products and paid
+ apps are linked to a pricing template.
+ </figcaption>
+ </figure>
+</div>
+
+<p>
+ To link a pricing template to an in-app product, do the following:
+</p>
+
+<ol>
+ <li>
+ <a href="http://play.google.com/apps/publish">Log in</a> to your publisher
+ account.
+ </li>
+
+ <li>In the <strong>Settings</strong> panel, select <strong>Pricing
+ template</strong>. The <strong>Pricing Template</strong> page appears,
+ showing the list of pricing templates you have created for your account.
+ </li>
+
+ <li>Choose the pricing template that you want to link to an in-app product,
+ then select the <em>Linked Items</em> tab. A page appears, showing options to
+ link your pricing template to in-app products and paid apps.
+ </li>
+
+ <li>In the Link In-App Products section of the page, enter or choose the name
+ of an app. This app should contain the in-app product that you want to link
+ to your pricing template.
+ </li>
+
+ <li>Based on the app that you selected, you see a list of in-app products
+ that are active and are not yet linked to a pricing template. Select the
+ in-app product that you want to link to the pricing template by selecting the
+ <strong>Link</strong> button that appears in the same row as the in-app
+ product.
+ </li>
+
+ <li>The price of the in-app product is now linked to your pricing template.
+ Any changes you make to the prices within your pricing template affect the
+ prices of the linked in-app product.
+ </li>
+</ol>
+
+<p>
+ To link a pricing template to the price of a paid app, you follow a similar
+ process. On the pricing template's <em>Linked Items</em> tab, choose a paid
+ app in the Link Paid Apps section.
+</p>
+
+<h4>
+ Linking an in-app product or paid app with a pricing template
+</h4>
+
+<p>
+ After you create a paid app or in-app product, you can link its pricing
+ information to a pricing template.
+</p>
+
+<div class="figure-right">
+ <figure id="fig-spt">
+ <img src="{@docRoot}images/in-app-billing/select_pricing_template.png"
+ width="700" alt="">
+ <figcaption>
+ <b>Figure 7. </b>Choosing a pricing template to link to a particular
+ in-app product or paid app.
+ </figcaption>
+ </figure>
+</div>
+
+<p>
+ To link an in-app product to a pricing template, do the following:
+</p>
+
+<ol>
+ <li>
+ <a href="http://play.google.com/apps/publish">Log in</a> to your publisher
+ account.
+ </li>
+
+ <li>In the <strong>All Applications</strong> panel, choose the app that
+ contains the in-app product that you want to link to a pricing template.
+ </li>
+
+ <li>Within the app's panel, choose the <strong>In-app Products</strong>
+ sub-panel.
+ </li>
+
+ <li>Choose the in-app product that you want to link to a pricing template.
+ The <em>Managed Product Details</em> page appears.
+ </li>
+
+ <li>In the Pricing section, choose the pricing template that you want to link
+ to the price of this in-app product (see figure 7).
+ </li>
+
+ <li>The price of the in-app product is now linked to the pricing template you
+ selected. Any changes you make to the prices within your pricing template
+ affect the prices of this in-app product.
+ </li>
+</ol>
+
+<p>
+ To link the price of a paid app to a pricing template, you follow a similar
+ process within the app's <strong>Pricing & Distribution</strong>
+ sub-panel.
+</p>
+
+<h3 id="delete-linked-item">
+ Deleting an item that is linked to a pricing template
+</h3>
+
+<p>
+ As your app evolves, you may find it useful to remove older versions of
+ in-app products or apps, some of which may be linked to pricing templates. To
+ delete an in-app product or app that is linked to a pricing template, simply
+ remove it by completing the following steps. You don't need to unlink the
+ in-app product or app from the pricing template beforehand.
+</p>
+
+<h4>
+ Deleting an in-app product that is linked to a template
+</h4>
+
+<div class="figure-right">
+ <figure id="fig-diap">
+ <img src="{@docRoot}images/in-app-billing/delete_iap.png"
+ width="700" alt="">
+ <figcaption>
+ <b>Figure 8. </b>Deleting an in-app product that is linked to a pricing
+ template.
+ </figcaption>
+ </figure>
+</div>
+
+<p>
+ To delete an in-app product that is linked to a template, do the following:
+</p>
+
+<ol>
+ <li>
+ <a href="http://play.google.com/apps/publish">Log in</a> to your publisher
+ account.
+ </li>
+
+ <li>In the Google Play Developer Console, navigate to the app that contains
+ the in-app product you want to delete.
+ </li>
+
+ <li>Open the app's <strong>In-app Products</strong> page.
+ </li>
+
+ <li>Choose the in-app product that you want to delete.
+ </li>
+
+ <li>Select the button that indicates whether the in-app product is active or
+ inactive (enclosed in a box within figure 8). The drop-down menu includes a
+ <strong>Delete</strong> option.
+ </li>
+ <li>Select <strong>Delete</strong>, then select <strong>Yes</strong> in the
+ confirmation dialog that appears.
+ </li>
+</ol>
+
+<h4>
+ Deleting a paid app that is linked to a template
+</h4>
+
+<div class="figure-right">
+ <figure id="fig-upa">
+ <img src="{@docRoot}images/in-app-billing/unpublish_paid_app.png"
+ width="700" alt="">
+ <figcaption>
+ <b>Figure 9. </b>Unpublishing an app that has already been published and is
+ linked to a pricing template.
+ </figcaption>
+ </figure>
+</div>
+
+<p>
+ To delete a paid app that is linked to a template, do the following:
+</p>
+
+<ol>
+ <li>
+ <a href="http://play.google.com/apps/publish">Log in</a> to your publisher
+ account.
+ </li>
+
+ <li>In the Google Play Developer Console, choose the app that you want to
+ delete.
+ </li>
+
+ <li>Choose either <strong>Unpublish app</strong> (enclosed in a box within
+ figure 9) if you have already published the app, or
+ <strong>Delete app</strong> if your app is still in the "draft" state.
+ </li>
+ <li>Confirm your choice in the dialog that appears.
+ </li>
+</ol>
+
+<h3 id="delete-pricing-template">
+ Deleting a pricing template
+</h3>
+
+<p>
+ If you no longer need a pricing template, you can delete it by completing the
+ following steps:
+</p>
+
+<ol>
+ <li>
+ <a href="http://play.google.com/apps/publish">Log in</a> to your publisher
+ account.
+ </li>
+
+ <li>In the <strong>Settings</strong> panel, select <strong>Pricing
+ template</strong>. The <strong>Pricing Template</strong> page appears,
+ showing the list of pricing templates you have created for your account.
+ </li>
+
+ <li>Select the pricing template that you wish to delete.
+ </li>
+
+ <li>In the <em>Linked Items</em> tab on the pricing template details page,
+ unlink the pricing template from all in-app products and paid apps.
+ </li>
+
+ <li>Select <strong>Delete template</strong>.
+ </li>
+</ol>
+
+<h2 id="billing-purchase-type">Choosing a Product Type</h3>
<p>An item's product type controls how Google Play manages the purchase of the item. There are
several product types, including "managed per user account", "unmanaged," and "subscription." However,
@@ -408,8 +780,7 @@
<p>For details, refer to the documentation for <a
href="{@docRoot}google/play/billing/api.html#producttype">In-app Billing Version
-3</a> or <a href="{@docRoot}google/play/billing/v2/api.html#producttype">In-app
-Billing Version 2</a>.
+3</a>.
<h2 id="billing-refunds">Handling Refunds</h2>
@@ -496,26 +867,31 @@
<h3 id="license_key">Getting an app's license key</h3>
<p>The Google Play Developer Console provides a public licensing key for each
-app. To get the key for an app, follow these steps:</p>
+app.</p>
+
+<div class="figure-right">
+ <figure id="fig-bak">
+ <img src="{@docRoot}images/in-app-billing/billing_app_key.png"
+ width="700" alt="">
+ <figcaption>
+ <b>Figure 10. </b>You can find the license key for each app in the
+ <strong>Services & APIs</strong> panel.
+ </figcaption>
+ </figure>
+</div>
+
+<p>To get the key for an app, follow these steps:</p>
<ol>
<li>Open the <strong>All Applications</strong> panel.</li>
<li>Click on the app name, then select <strong>Services & APIs</strong>.</li>
<li>Scroll down to the <strong>Your License Key for this Application</strong>
-field to locate the key for the app, as shown in the figure below.</li>
+field to locate the key for the app, as shown in figure 10.</li>
</ol>
<p>Previously, the Developer Console provided a single public key per developer
account. To transition apps to the new per-app public key, the Developer Console
set the app-specific key as the former developer key. This ensures compatibility
for apps that depend on the (former) developer key. </p>
-<div style="margin:1em;">
-<img style="border:1px solid #ddd;padding-bottom:.5em" src="{@docRoot}images/in-app-billing/billing_app_key.png" xheight="510" id="figure4" />
-<p class="img-caption" style="padding-left:.5em;">
- <strong>Figure 4.</strong> You can find the license key for each app in the
- <strong>Services & APIs</strong> panel.
-</p>
-</div>
-
<h2 id="billing-support">Where to Get Support</h2>
<p>If you have questions or encounter problems while implementing In-app Billing, contact the
diff --git a/docs/html/google/play/billing/billing_overview.jd b/docs/html/google/play/billing/billing_overview.jd
index cc56468..2954a83 100644
--- a/docs/html/google/play/billing/billing_overview.jd
+++ b/docs/html/google/play/billing/billing_overview.jd
@@ -122,7 +122,7 @@
<h2 id="console">Google Play Developer Console</h2>
<p>The Developer Console is where you can publish your
-In-app Billing application, and manage the various in-app products that are
+In-app Billing application and manage the various in-app products that are
available for purchase from your application.</p>
<p>You can create a product list of
digital goods that are associated with your application, including items for
@@ -130,6 +130,14 @@
information such as the item’s unique product ID (also called its SKU), product
type, pricing, description, and how Google Play should handle and track
purchases for that product.</p>
+<p>If you sell several of your apps or in-app products at the same price, you
+can add <em>pricing templates</em> to manage these price points from a
+centralized location. When using pricing templates, you can include the local
+tax within the prices you provide, or you can provide prices and have the system
+add local taxes to these prices. You can make changes to the prices in your
+templates—such as refreshing the exchange rates for certain
+countries—and your changes are applied to the apps and in-app products
+that you link to the template.</p>
<p>You can also create test accounts to authorize
access for testing applications that are unpublished.</p>
<p>To learn how to use the Developer Console to configure your in-app
diff --git a/docs/html/google/play/billing/billing_reference.jd b/docs/html/google/play/billing/billing_reference.jd
index 45ec785..95ab8e5 100644
--- a/docs/html/google/play/billing/billing_reference.jd
+++ b/docs/html/google/play/billing/billing_reference.jd
@@ -139,7 +139,8 @@
<td>{@code price_amount_micros}</td>
<td>Price in micro-units, where 1,000,000 micro-units equal one unit of the
currency. For example, if {@code price} is {@code "€7.99"}, {@code
- price_amount_micros} is {@code "7990000"}.</td>
+ price_amount_micros} is {@code "7990000"}. This value represents the
+ localized, rounded price for a particular currency.</td>
</tr>
<tr>
<td>{@code price_currency_code}</td>
diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd
index b2e9fe4..795aceb 100644
--- a/docs/html/google/play/billing/index.jd
+++ b/docs/html/google/play/billing/index.jd
@@ -14,6 +14,16 @@
<div class="sidebox">
<h2><strong>New in In-App Billing</strong></h2>
<ul>
+ <li><strong>Rounded Pricing</strong>—After developers set prices for the
+ apps and in-app products that they distribute to multiple countries, the
+ system automatically sets local prices for different currencies using
+ today’s exchange rates and country-specific pricing patterns. To satisfy
+ specific pricing needs, developers can also adjust these prices manually.</li>
+ <li><strong>Pricing Templates</strong>—Developers can add pricing
+ templates and link these templates to app prices or in-app product prices.
+ These templates include local prices across all markets. By using a
+ template, developers can apply price changes in bulk to all items linked to
+ that template.</li>
<li><strong>In-app Promotions</strong>—Developers can create promo codes
which users can redeem for content or features.</li>
<li><strong>Prorated Subscription Prices</strong>—Content providers can
@@ -29,33 +39,13 @@
<li><strong>Subscription Upgrade/Downgrade</strong>—A user can
subscribe to a higher or lower tier of subscription while their current
subscription is active. The old subscription is canceled, and the unused
- portion is applied on a pro-rated basis to the new subscription.</li>
+ portion is applied on a prorated basis to the new subscription.</li>
<li><strong>Manual Subscription Renewal</strong>—A user can purchase
a subscription at the current rate while their existing subscription is
still active. The existing subscription is extended by the appropriate
period.</li>
<li><strong>IAB Sandbox</strong>—The In-app Billing Sandbox now supports
testing subscription purchases.</li>
- <li><strong>As of January 2015, the In-App Billing v2 API is shut down.
- If your app is still using In-app Billing
- v2, please migrate to the v3 API as soon as possible.</strong></li>
- <li><strong>Seasonal subscriptions</strong>—You can now set up a
- recurring <a href="billing_subscriptions.html#user-billing">seasonal
- subscription</a> that starts and ends on the same date each year (for
- example, a sports subscription that starts every September 1 and ends every
- April 10).</li>
- <li><strong>Deferred subscription billing</strong>—You can
- <a href="billing_subscriptions.html#deferred-billing">defer</a> a
- subscriber's next billing date until the date you choose. The user still has
- access to the content but is not charged during the deferral period.</li>
- <li><strong>Weekly subscriptions</strong>—You can now set up a
- recurring <a href="billing_subscriptions.html#user-billing">subscription</a>
- that bills the user every week.</li>
- <li><strong>Payment grace period</strong>—If a subscriber misses a
- subscription payment due to an expired credit card, you can define a
- <a href="billing_subscriptions.html#grace-period">grace period</a>
- to the continue the subscription until payment is successful.</li>
-
</ul>
</div>
</div>
@@ -101,5 +91,5 @@
implementation.</dd>
<dt><strong><a href="{@docRoot}google/play/billing/billing_admin.html">Administering
In-app Billing</a></strong></dt>
- <dd>Learn how to set up your product list, register test accounts, and handle refunds.</dd>
+ <dd>Learn how to set up your product list, add pricing templates, register test accounts, and handle refunds.</dd>
</dl>
diff --git a/docs/html/images/in-app-billing/add_new_product.png b/docs/html/images/in-app-billing/add_new_product.png
new file mode 100644
index 0000000..2281ec0
--- /dev/null
+++ b/docs/html/images/in-app-billing/add_new_product.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/billing_add.png b/docs/html/images/in-app-billing/billing_add.png
deleted file mode 100644
index 1ca448d..0000000
--- a/docs/html/images/in-app-billing/billing_add.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/in-app-billing/billing_app_key.png b/docs/html/images/in-app-billing/billing_app_key.png
index bff8500..4c5300e 100644
--- a/docs/html/images/in-app-billing/billing_app_key.png
+++ b/docs/html/images/in-app-billing/billing_app_key.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/billing_list_form_2.png b/docs/html/images/in-app-billing/billing_list_form_2.png
deleted file mode 100644
index 33f17c9..0000000
--- a/docs/html/images/in-app-billing/billing_list_form_2.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/in-app-billing/billing_product_list.png b/docs/html/images/in-app-billing/billing_product_list.png
deleted file mode 100644
index dabdcb9..0000000
--- a/docs/html/images/in-app-billing/billing_product_list.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/in-app-billing/delete_iap.png b/docs/html/images/in-app-billing/delete_iap.png
new file mode 100644
index 0000000..bbaea9e
--- /dev/null
+++ b/docs/html/images/in-app-billing/delete_iap.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/edit_local_prices.png b/docs/html/images/in-app-billing/edit_local_prices.png
new file mode 100644
index 0000000..2b76548
--- /dev/null
+++ b/docs/html/images/in-app-billing/edit_local_prices.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/in_app_products.png b/docs/html/images/in-app-billing/in_app_products.png
new file mode 100644
index 0000000..04031cc
--- /dev/null
+++ b/docs/html/images/in-app-billing/in_app_products.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/link_pricing_template.png b/docs/html/images/in-app-billing/link_pricing_template.png
new file mode 100644
index 0000000..cf762a8
--- /dev/null
+++ b/docs/html/images/in-app-billing/link_pricing_template.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/new_managed_product.png b/docs/html/images/in-app-billing/new_managed_product.png
new file mode 100644
index 0000000..bdccc96
--- /dev/null
+++ b/docs/html/images/in-app-billing/new_managed_product.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/new_pricing_template.png b/docs/html/images/in-app-billing/new_pricing_template.png
new file mode 100644
index 0000000..8525787
--- /dev/null
+++ b/docs/html/images/in-app-billing/new_pricing_template.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/new_pricing_template_2x.png b/docs/html/images/in-app-billing/new_pricing_template_2x.png
new file mode 100644
index 0000000..ce4094b
--- /dev/null
+++ b/docs/html/images/in-app-billing/new_pricing_template_2x.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/select_pricing_template.png b/docs/html/images/in-app-billing/select_pricing_template.png
new file mode 100644
index 0000000..fa8c7b6
--- /dev/null
+++ b/docs/html/images/in-app-billing/select_pricing_template.png
Binary files differ
diff --git a/docs/html/images/in-app-billing/unpublish_paid_app.png b/docs/html/images/in-app-billing/unpublish_paid_app.png
new file mode 100644
index 0000000..a36d8ce
--- /dev/null
+++ b/docs/html/images/in-app-billing/unpublish_paid_app.png
Binary files differ
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
index 57e0f7b..815a7f6 100644
--- a/docs/html/jd_collections.js
+++ b/docs/html/jd_collections.js
@@ -169,6 +169,22 @@
"preview/features/tv-recording-api.html"
]
},
+ "wear/preview/landing": {
+ "title": "",
+ "resources": [
+ "wear/preview/api-overview.html",
+ "wear/preview/downloads.html",
+ "wear/preview/start.html"
+ ]
+ },
+ "wear/preview/landing/resources": {
+ "title": "",
+ "resources": [
+ "wear/preview/features/complications.html",
+ "wear/preview/features/notifications.html",
+ "wear/preview/features/ui-nav-actions.html"
+ ]
+ },
"google/landing/services": {
"title": "",
"resources": [
diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js
index 7ad755c..77947b7 100644
--- a/docs/html/jd_extras_en.js
+++ b/docs/html/jd_extras_en.js
@@ -4933,6 +4933,22 @@
"training/wearables/ui/index.html"
]
},
+ "wear/preview/landing": {
+ "title": "",
+ "resources": [
+ "preview/api-overview.html",
+ "preview/download.html",
+ "preview/setup-sdk.html"
+ ]
+ },
+ "wear/preview/landing/resources": {
+ "title": "",
+ "resources": [
+ "design/wear/index.html",
+ "training/building-wearables.html",
+ "training/wearables/ui/index.html"
+ ]
+ },
"design/auto/auto_ui_guidelines": {
"title": "",
"resources": [
diff --git a/docs/html/preview/api-overview.jd b/docs/html/preview/api-overview.jd
index 4a7b879..09227f2 100644
--- a/docs/html/preview/api-overview.jd
+++ b/docs/html/preview/api-overview.jd
@@ -24,6 +24,7 @@
<li><a href="#number-blocking">Number-blocking</a></li>
<li><a href="#call_screening">Call screening</a></li>
<li><a href="#multi-locale_languages">Locales and languages</a></li>
+ <li><a href="#emoji">New Emojis</a></li>
<li><a href="#icu4">ICU4J APIs in Android</a></li>
<li><a href="#gles_32">OpenGL ES 3.2 API</a></li>
<li><a href="#android_tv_recording">Android TV recording</a></li>
@@ -35,9 +36,11 @@
<li><a href="#default_trusted_ca">Default Trusted CA</a></li>
<li><a href="#apk_signature_v2">APK signature scheme v2</a></li>
<li><a href="#scoped_directory_access">Scoped directory access</a></li>
- <li><a href="#launcher_shortcuts">Launcher shortcuts</a></li>
+ <li><a href="#keyboard_shortcuts_helper">Keyboard Shortcuts Helper</a></li>
+ <li><a href="#sustained_performance_api">Sustained Performance API</a></li>
<li><a href="#print_svc">Print service enhancements</a></li>
<li><a href="#virtual_files">Virtual Files</a></li>
+ <li><a href="#framemetrics_api">FrameMetricsListener API</a></li>
</ol>
</div>
</div>
@@ -114,6 +117,13 @@
</li>
<li>
+ <strong>Message style customization</strong>: You can customize more of the
+ user interface labels associated with your notifications using the
+ <code>MessageStyle</code> class. You can configure the message, conversation
+ title, and content view.
+ </li>
+
+ <li>
<strong>Bundled notifications</strong>: The system can group messages
together, for example by message topic, and display the group. A user can
take actions, such as Dismiss or Archive, on them in place. If you’ve
@@ -347,7 +357,7 @@
<p>
Vulkan is only available to apps on devices with Vulkan-capable hardware,
- such as Nexus 5X and Nexus 6P. We're working closely with our
+ such as Nexus 5X, Nexus 6P, and Nexus Player. We're working closely with our
partners to bring Vulkan to more devices as soon as possible.
</p>
@@ -472,6 +482,49 @@
should follow, see <a href="{@docRoot}preview/features/multilingual-support.html"
>Multilingual Support</a>.</p>
+
+<h2 id="emoji">New Emojis</h2>
+
+<p>
+ Android N introduces additional emojis and emoji-related features including
+ skin tone emojis and support for variation
+ selectors. If your app supports emojis,
+ follow the guidelines below to take advantage of these emoji-related features.
+</p>
+
+<ul>
+ <li>
+ <strong>Check that a device contains an emoji before inserting it.</strong>
+ To check which emojis are present in the
+ system font, use the {@link android.graphics.Paint#hasGlyph(String)} method.
+ </li>
+ <li>
+ <strong>Check that an emoji supports variation selectors.</strong>
+ Variation selectors allow you to
+ present certain emojis in color or in black-and-white.
+ On mobile devices, apps should represent emojis in color rather than black-and-white. However,
+ if your app displays emojis inline with text, then it should use the black-and-white variation.
+ To determine whether an emoji has a variation, use the variation selector.
+ For a complete list of characters with variations, review the
+ <em>emoji variation sequences</em> section of the
+ <a class="external-link"
+ href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">
+ Unicode documentation on variations</a>.
+ </li>
+ <li>
+ <strong>Check that an emoji supports skin tone.</strong> Android N allows users to modify the
+ rendered skin tone of emojis to their preference. Keyboard apps should provide visual
+ indications for emojis that have multiple skin tones and should allow users to
+ select the skin tone that they prefer. To determine which system emojis have
+ skin tone modifiers, use the {@link android.graphics.Paint#hasGlyph(String)}
+ method. You can determine which emojis use skin tones by reading the
+ <a class="external-link"
+ href="http://unicode.org/emoji/charts/full-emoji-list.html">
+ Unicode documentation</a>.
+ </li>
+</ul>
+
+
<h2 id="icu4">ICU4J APIs in Android</h2>
<p>
@@ -614,7 +667,7 @@
meet the needs of those users.</p>
<p>For more information, see <code>android.accessibilityservice.GestureDescription</code>
- in the downloadable <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.</p>
+ in the downloadable <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.</p>
<h2 id="direct_boot">Direct boot</h2>
@@ -622,7 +675,7 @@
<p>Direct boot improves device startup times and lets registered
apps have limited functionality even after an unexpected reboot.
For example, if an encrypted device reboots while the user is sleeping,
-registered alarms, messages and incoming calls can now continue notify
+registered alarms, messages and incoming calls can now continue to notify
the user as normal. This also means accessibility services can also be
available immediately after a restart.</p>
@@ -724,18 +777,54 @@
<h2 id="apk_signature_v2">APK signature scheme v2</h2>
-<p>The PackageManager class now supports verifying apps using the APK
-signature scheme v2. The APK signature scheme v2 is a whole-file signature scheme
-that significantly improves verification speed and strengthens integrity
- guarantees by detecting any unauthorized changes to APK files.</p>
+<p>
+ Android N introduces APK Signature Scheme v2, a new app-signing scheme that
+ offers faster app install times and more protection against unauthorized
+ alterations to APK files. By default, Android Studio 2.2 and the Android
+ Plugin for Gradle 2.2 sign your app using both APK Signature Scheme v2 and
+ the traditional signing scheme, which uses JAR signing.
+</p>
-<p>To maintain backward-compatibility, an APK must be signed with the v1 signature
-scheme (JAR signature scheme) before being signed with the v2 signature scheme.
-With the v2 signature scheme, verification fails if you sign the APK with an
- additional certificate after signing with the v2 scheme. </p>
+<p>
+ Although we recommend applying APK Signature Scheme v2 to your app, this new
+ scheme is not mandatory. If your app doesn't build properly when using APK
+ Signature Scheme v2, you can disable the new scheme. The disabling process
+ causes Android Studio 2.2 and the Android Plugin for Gradle 2.2 to sign your
+ app using only the traditional signing scheme. To sign with only the
+ traditional scheme, open the module-level <code>build.gradle</code> file, then
+ add the line <code>v2SigningEnabled false</code> to your release signing
+ configuration:
+</p>
-<p>APK signature scheme v2 support will be available later in the N Developer
-Preview.</p>
+<pre>
+ android {
+ ...
+ defaultConfig { ... }
+ signingConfigs {
+ release {
+ storeFile file("myreleasekey.keystore")
+ storePassword "password"
+ keyAlias "MyReleaseKey"
+ keyPassword "password"
+ <strong>v2SigningEnabled false</strong>
+ }
+ }
+ }
+</pre>
+
+<p class="caution"><strong>Caution: </strong> If you sign your app using APK
+ Signature Scheme v2 and make further changes to the app, the app's signature
+ is invalidated. For this reason, use tools such as <code>zipalign</code>
+ before signing your app using APK Signature Scheme v2, not after.
+</p>
+
+<p>
+ For more information, read the Android Studio documents that describe how to
+ <a href="{@docRoot}studio/tools/publishing/app-signing.html#release-mode">
+ sign an app</a> in Android Studio and how to <a href=
+ "{@docRoot}studio/tools/building/configuring-gradle.html#signing"> configure
+ the build file for signing apps</a> using the Android Plugin for Gradle.
+</p>
<h2 id="scoped_directory_access">Scoped directory access</h2>
@@ -758,60 +847,51 @@
<a href="{@docRoot}preview/features/scoped-folder-access.html">Scoped
Directory Access</a> developer documentation.</p>
-<h2 id="launcher_shortcuts">
- Launcher shortcuts
-</h2>
+<h2 id="keyboard_shortcuts_helper">Keyboard Shortcuts Helper</h2>
<p>
- Android N allows apps to define action-specific shortcuts which can be
- displayed in the launcher. These <em>launcher shortcuts</em> let your users
- quickly start common or recommended tasks within your app. Each shortcut
- contains an <a href=
- "{@docRoot}guide/components/intents-filters.html">intent</a>, which links the
- shortcut to a specific action in your app. Examples of these actions include:
+In Android N, the user can press Meta+/ to trigger a Keyboard Shortcuts
+screen that displays all shortcuts available both from the system and from
+the app in focus. These are retrieved automatically from the app’s menu if
+available, but developers can provide their own fine-tuned shortcuts lists
+for the screen. This is done simply by overriding the following method
+in {@code Activity.java}:
</p>
-<ul>
- <li>Navigating users to a particular location in a mapping app.
- </li>
-
- <li>Sending messages to a friend in a communication app.
- </li>
-
- <li>Playing the next episode of a TV show in a media app.
- </li>
-
- <li>Loading the last save point in a gaming app.
- </li>
-</ul>
-
-<p>
- Your app can create up to five <em>dynamic shortcuts</em>. When users perform
- a gesture over your app's launcher icon, these shortcuts appear. By dragging
- the shortcuts onto the launcher, users can make persistent copies of the
- shortcuts, called <em>pinned shortcuts</em>. Users can create an unlimited
- number of pinned shortcuts for each app.
-</p>
-
-<p class="note">
- <strong>Note:</strong> Although other apps can't access your shortcut data,
- the launcher <strong>does</strong> have access to this data. Therefore, the
- shortcuts you create should conceal sensitive user information.
-</p>
-
-<p>
- You can use this command to view your app's shortcuts:
-</p>
-
-<pre class="no-pretty-print">
-$ adb shell dumpsys shortcut
+<pre>
+public void onProvideKeyboardShortcuts(
+ List<KeyboardShortcutGroup> data, Menu menu, int deviceId)
</pre>
<p>
- To update all shortcuts and to delete dynamic shortcuts, use the appropriate
- methods that the Launcher Shortcut API provides. For more details about this
- API, see <code>android.content.pm.ShortcutManager</code> in the downloadable
- <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.
+To trigger the Keyboard Shortcuts Helper from anywhere in your app,
+call {@code requestKeyboardShortcutsHelper} for the relevant activity.
+</p>
+
+<h2 id="sustained_performance_api">Sustained Performance API</h2>
+
+<p>
+Performance can fluctuate dramatically for long-running apps, because the
+system throttles system-on-chip engines as device components reach their
+temperature limits. This fluctuation presents a moving target for app
+developers creating high-performance, long-running apps.
+</p>
+
+<p>
+To address these limitations, Android N includes support for
+<em>sustained performance mode</em>, enabling OEMs to provide hints on
+device-performance capabilities for long-running applications. App developers
+can use these hints to tune applications for a predictable,
+consistent level of device performance over long periods of time.
+</p>
+
+<p>
+App developers can try out this new API in the N Developer Preview on
+Nexus 6P devices only. To use this feature,
+set the sustained performance window flag for the window
+you want to run in sustained performance mode. Set this flag using the
+{@code setSustainedPerformanceMode(boolean)} method. The system automatically
+disables this mode when the window is no longer in focus.
</p>
<h2 id="print_svc">Print Service Enhancements</h2>
@@ -855,6 +935,51 @@
"{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.
</p>
+<h2 id="framemetrics_api">FrameMetricsListener API</h2>
+
+<p>
+The FrameMetricsListener API allows an app to monitor its UI rendering
+performance by exposing a streaming pubsub API to transfer frame
+timing info for the app's current window. The data returned is
+equivalent to that displayed by {@code adb shell dumpsys gfxinfo framestats},
+but is not limited to the past 120 frames.
+</p>
+
+<p>
+You can use FrameMetricsListener to measure interaction-level UI
+performance in production, without a USB connection. This API
+allows collection of data at a much higher granularity than does
+{@code adb shell dumpsys gfxinfo}. This higher granularity is possible because
+the system can collect data for particular interactions in the app; the system
+need not capture a global summary of the entire app’s
+performance, or clear any global state. You can use this
+capability to gather performance data and catch regressions in UI performance
+for real use cases within an app.
+</p>
+
+<p>
+The API provides a callback interface to be implemented and
+registered on the window that you wish to monitor:
+</p>
+
+<pre>
+ public interface FrameMetricsListener {
+ void onMetricsAvailable(Window window, FrameMetrics frameMetrics,
+ int dropCountSinceLastInvocation);
+ }
+</pre>
+
+<p>
+The API returns a FrameMetrics object, which contains timing data that
+the rendering subsystem reports for various milestones in a frame lifecycle.
+The supported metrics are: {@code UNKNOWN_DELAY_DURATION},
+{@code INPUT_HANDLING_DURATION}, {@code ANIMATION_DURATION},
+{@code LAYOUT_MEASURE_DURATION}, {@code DRAW_DURATION}, {@code SYNC_DURATION},
+{@code COMMAND_ISSUE_DURATION}, {@code SWAP_BUFFERS_DURATION},
+{@code TOTAL_DURATION}, and {@code FIRST_DRAW_FRAME}
+</p>
+
+
<h2 id="virtual_files">Virtual Files</h2>
<p>
@@ -936,4 +1061,4 @@
For more information about accessing user files, see the
<a href="{@docRoot}guide/topics/providers/document-provider.html">Storage
Access Frameworks guide</a>.
-</p>
\ No newline at end of file
+</p>
diff --git a/docs/html/preview/features/data-saver.jd b/docs/html/preview/features/data-saver.jd
index ba8f165..c4cab18 100644
--- a/docs/html/preview/features/data-saver.jd
+++ b/docs/html/preview/features/data-saver.jd
@@ -12,10 +12,16 @@
<ol>
<li>
<a href="#status">Checking Data Saver Preferences</a>
+ <ol>
+ <li>
+ <a href="#request-whitelist">Requesting whitelist permissions</a>
+ </li>
+ </ol>
</li>
<li>
- <a href="#monitor-changes">Monitoring Changes to Data Saver Preferences</a>
+ <a href="#monitor-changes">Monitoring Changes to Data Saver
+ Preferences</a>
</li>
<li>
@@ -124,6 +130,27 @@
}
</pre>
+<h3 id="request-whitelist">
+ Requesting whitelist permissions
+</h3>
+
+<p>
+ If your app needs to use data in the background, it can request whitelist
+ permissions by sending a
+ <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code>
+ intent containing a URI of your app's package name: for example,
+ <code>package:MY_APP_ID</code>.
+</p>
+
+<p>
+ Sending the intent and URI launches the <strong>Settings</strong> app and
+ displays data usage settings for your app. The user can then decide whether
+ to enable background data for your app. Before you send this intent, it is
+ good practice to first ask the user if they want to launch the
+ <strong>Settings</strong> app for the purpose of enabling background data
+ usage.
+</p>
+
<h2 id="monitor-changes">
Monitoring Changes to Data Saver Preferences
</h2>
@@ -131,9 +158,8 @@
<p>
Apps can monitor changes to Data Saver preferences by creating a {@link
android.content.BroadcastReceiver} to listen for {@code
- ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} ({@code
- "android.net.conn.RESTRICT_BACKGROUND_CHANGED"}) and dynamically registering
- the receiver with {@link android.content.Context#registerReceiver
+ ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} and dynamically
+ registering the receiver with {@link android.content.Context#registerReceiver
Context.registerReceiver()}. When an app receives this broadcast, it should
<a href="#status">check if the new Data Saver preferences affect its
permissions</a> by calling {@code
diff --git a/docs/html/preview/features/notification-updates.jd b/docs/html/preview/features/notification-updates.jd
index 7ee0954..c405360 100644
--- a/docs/html/preview/features/notification-updates.jd
+++ b/docs/html/preview/features/notification-updates.jd
@@ -16,6 +16,7 @@
<li><a href="#direct">Direct Reply</a></li>
<li><a href="#bundle">Bundled Notifications</a></li>
<li><a href="#custom">Custom Views</a></li>
+ <li><a href="#style">Message Style</a></li>
</ol>
</div>
@@ -203,6 +204,16 @@
android.support.v4.app.RemoteInput}, you can update the reply history
using the {@code setRemoteInputHistory()} method.
</p>
+
+<p>
+ The notification must be either updated or cancelled after the app has
+ received remote input. When the user replies to a remote update
+ using Direct Reply,
+ do not cancel the notification. Instead, update the notification to display the user's reply. You can update the notification using a
+ <code>MessagingStyle</code>, or you can append the user's reply to the remote
+ input history.
+</p>
+
<h2 id="bundle">Bundled Notifications</h2>
<p>Android N provides developers with a new way to represent
@@ -233,6 +244,12 @@
group.
</p>
+<p class="note">
+ <strong>Note:</strong> If the same app sends four or more notifications
+ and does not specify a grouping, the
+ system automatically groups them together.
+</p>
+
<p>To learn how to add notifications to a group, see
<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Add
Each Notification to a Group</a>.</p>
@@ -348,7 +365,7 @@
{@code DecoratedCustomViewStyle()} method.</p>
<pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
.setSmallIcon(R.drawable.ic_stat_player)
.setLargeIcon(albumArtBitmap))
.setCustomContentView(contentView);
@@ -356,3 +373,26 @@
.build();
</pre>
+
+<h2 id="style">Messaging Style</h2>
+<p>
+ Android N introduces a new API for customizing the style of a notification.
+ Using the <code>MessageStyle</code> class, you can change several of the
+ labels displayed on the notification, including the conversation title,
+ additional messages, and the content view for the notification.
+</p>
+
+<p>
+ The following code snippet demonstrates how to customize a notification's
+ style using the <code>MessageStyle</code> class.
+</p>
+
+<pre>
+ Notification notification = new Notification.Builder()
+ .setStyle(new Notification.MessagingStyle("Me")
+ .setConversationTitle("Team lunch")
+ .addMessage("Hi", timestamp1, null) // Pass in null for user.
+ .addMessage("What's up?", timestamp2, "Coworker")
+ .addMessage("Not much", timestamp3, null)
+ .addMessage("How about lunch?", timestamp4, "Coworker"));
+</pre>
\ No newline at end of file
diff --git a/docs/html/preview/features/scoped-folder-access.jd b/docs/html/preview/features/scoped-folder-access.jd
index 814692d..06dd665 100644
--- a/docs/html/preview/features/scoped-folder-access.jd
+++ b/docs/html/preview/features/scoped-folder-access.jd
@@ -44,6 +44,12 @@
all available volumes, including removable media volumes, use
<code>StorageManager.getVolumesList()</code>.</p>
+<p>If you have information about a specific file, use
+<code>StorageManager.getStorageVolume(File)</code> to get the
+<code>StorageVolume</code> that contains the file. Call
+<code>createAccessIntent()</code> on this <code>StorageVolume</code> to access
+the external storage directory for the file.</p>
+
<p>
On secondary volumes, such as external SD cards, pass in null when calling
<code>StorageVolume.createAccessIntent()</code> to request access to the entire
diff --git a/docs/html/preview/features/tv-recording-api.jd b/docs/html/preview/features/tv-recording-api.jd
index b62dd46..65ab340 100644
--- a/docs/html/preview/features/tv-recording-api.jd
+++ b/docs/html/preview/features/tv-recording-api.jd
@@ -37,7 +37,23 @@
<h2 id="supporting">Indicating Support for Recording</h2>
-<p>To tell the system that your TV input service supports recording, follow
+<p>To tell the system that your TV input service supports recording, set
+the <code>android:canRecord</code> attribute in your service metadata XML file
+to <code>true</code>:
+</p>
+
+<pre>
+<tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+ <b>android:canRecord="true"</b>
+ android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" />
+</pre>
+
+<p>For more information on the service metadata file, see
+<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Declare Your TV Input
+Service in the Manifest</a>.
+</p>
+
+<p>Alternatively, you can indicate recording support in your code using
these steps:</p>
<ol>
@@ -48,7 +64,7 @@
<code>setCanRecord(true)</code> before calling <code>build()</code> to
indicate your service supports recording.</li>
<li>Register your <code>TvInputInfo</code> object with the system by calling
-<code>TvInputService.updateTvInputInfo()</code>.</li>
+<code>TvInputManager.updateTvInputInfo()</code>.</li>
</ol>
<h2 id="recording">Recording a Session</h2>
diff --git a/docs/html/preview/support.jd b/docs/html/preview/support.jd
index f0da709..55f95d6 100644
--- a/docs/html/preview/support.jd
+++ b/docs/html/preview/support.jd
@@ -8,7 +8,8 @@
<p>
Two primary support channels are available to you when developing and testing
with the Android N Developer Preview: Please file bugs at <a href=
- "https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a> for
+ "https://developer.android.com/preview/bug"
+ >https://developer.android.com/preview/bug</a> for
device-specific, system, and Google App bugs. For issues in other apps,
please contact the developer directly.
</p>
@@ -16,6 +17,90 @@
<p>To discuss issues or ideas with other developers working with Android N, join the
<a href="{@docRoot}preview/dev-community">Developer Preview Google+ community</a>.</p>
+<h2 id="dp3">Developer Preview 3</h2>
+
+<div class="wrap">
+ <div class="cols">
+ <div class="col-6of12">
+ <p>
+ <em>Date: April 2016<br>
+ Builds: TODO<br>
+ Emulator support: x86 & ARM (32/64-bit)<br>
+ Google Play services: TODO</em>
+ </p>
+ </div>
+ </div>
+</div>
+
+<h3 id="new">New in DP3</h3>
+
+
+<h4 id="api-changes">API changes</h4>
+
+<dl>
+ <dt><a href="{@docRoot}preview/api-overview.html#number-blocking"
+ >Number-blocking</a></dt>
+ <dd>If an unauthorized user attempts to block or unblock a number, the operation
+ now fails with {@link java.lang.SecurityException}. (Previously, the
+ operation threw {@link java.lang.UnsupportedOperationException}.)</dd>
+
+ <dt><a href="{@docRoot}preview/api-overview.html#tile_api">Quick
+ Settings Tile API</a></dt>
+ <dd>Tile mode is now controlled by the activity's metadata. (Previously, tile
+ mode was controlled by the return value of
+ <code>TileService.onTileAdded()</code>.) For more information, see
+ <code>TileService.META_DATA_ACTIVE_TILE</code> in the downloadable
+ <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.
+ </dd>
+</dl>
+
+<h4 id="dp2-fixes">Fixes for issues reported by developers</h4>
+
+<p>
+ A number of issues reported by developers have been fixed, including:
+</p>
+
+<ul>
+ <li>TODO</li>
+</ul>
+
+<h3 id="general">General advisories</h3>
+
+<p>
+ This Developer Preview release is for <strong>app developers only</strong>
+ and is designed for use in compatibility testing and early development only.
+ Please be aware of these general notes about the release:
+</p>
+
+<ul>
+
+ <li>TODO</li>
+</ul>
+
+<h3 id="ki">Known Issues</h3>
+
+<p>TODO</p>
+
+<h4>Device-specific issues</h4>
+
+<p>TODO</p>
+
+<dl>
+ <dt>
+ <strong>Device Name</strong>
+ </dt>
+
+ <dd>
+ Issue 1
+ </dd>
+
+ <dd>
+ Issue 2
+ </dd>
+</dl>
+
+<!-- DP2 Release Notes Archive -->
+
<h2 id="dp2">Developer Preview 2</h2>
<div class="wrap">
@@ -31,7 +116,7 @@
</div>
</div>
-<h3 id="new">New in DP2</h3>
+<h3 id="dp2-new">New in DP2</h3>
<ul>
<li>Platform support for Vulkan, a new 3D rendering API that provides
@@ -87,7 +172,7 @@
</li>
</ul>
-<h3 id="general">General advisories</h3>
+<h3 id="dp2-general">General advisories</h3>
<p>
This Developer Preview release is for <strong>app developers only</strong>
@@ -145,7 +230,7 @@
</li>
</ul>
-<h3 id="ki">Known Issues</h3>
+<h3 id="dp2-ki">Known Issues</h3>
<h4>Performance and battery</h4>
@@ -393,7 +478,7 @@
<h3 id="dp1-platform">Platform Issues</h3>
-<h4 id="performance">Performance and battery</h4>
+<h4>Performance and battery</h4>
<ul>
<li>System and app performance is known to be <strong>periodically slow /
@@ -416,7 +501,7 @@
</li>
</ul>
-<h4 id="microphone">Microphone</h4>
+<h4>Microphone</h4>
<ul>
<li>The system may incorrect persists the microphone mute state across apps and reboots. If you mute the microphone in an app and the state is persisted, open any app that has microphone mute controls and unmute the microphone.</li>
@@ -552,19 +637,20 @@
</li>
</ul>
-<h4 id="keyboard">Keyboard</h4>
+<h4 >Keyboard</h4>
<ul>
-<li>Bluetooth pairing between keyboards and Android devices may be unstable. </li>
+ <li>Bluetooth pairing between keyboards and Android devices may be unstable.
+ </li>
</ul>
-<h4 id="video">Video</h4>
+<h4 >Video</h4>
<ul>
<li>Video playback may lag and show interruptions.</li>
</ul>
-<h4 id="wifi">Wi-Fi</h4>
+<h4>Wi-Fi</h4>
<ul>
<li>Wi-Fi has undergone some refactoring which may change API corner case
@@ -577,7 +663,7 @@
</li>
</ul>
-<h4 id="direct">Direct boot</h4>
+<h4>Direct boot</h4>
<ul>
<li>NFC doesn't function until first unlock.
@@ -607,7 +693,7 @@
</li>
</ul>
-<h4 id="pip">Picture-in-picture for Android TV</h4>
+<h4>Picture-in-picture for Android TV</h4>
<ul>
<li>The PIP integration in the Recents UI is not finalized, and is subject to
@@ -624,7 +710,7 @@
</li>
</ul>
-<h4 id="bugs">Bug reports</h4>
+<h4>Bug reports</h4>
<ul>
<li>Bug reports do not always complete successfully (as a workaround,
@@ -633,7 +719,7 @@
</li>
</ul>
-<h4 id="split">Split-screen Multi-window</h4>
+<h4>Split-screen Multi-window</h4>
<ul>
<li>Apps may experience crashes and unexpected UI behavior when put into
@@ -656,7 +742,7 @@
</li>
</ul>
-<h4 id="ime">Input method</h4>
+<h4>Input method</h4>
<ul>
<li>Google Keyboard unexpectedly falls back to the generic Google keyboard
@@ -670,26 +756,31 @@
</li>
</ul>
-
-<h4 id="accessibility">Accessibility</h4>
+<h4>Accessibility</h4>
<ul>
- <li>TalkBack exhibits issues with features including Notifications, Quick Settings Tiles and Multi-window display that may cause system crashing or lack of spoken feedback from TalkBack. Future releases of the preview will address these issues.</li>
+ <li>TalkBack exhibits issues with features including Notifications, Quick
+ Settings Tiles and Multi-window display that may cause system crashing or
+ lack of spoken feedback from TalkBack. Future releases of the preview will
+ address these issues.
+ </li>
</ul>
-<h3 id="device-sp">Device-Specific Notes and Issues</h3>
+<h3 id="dp1-device-sp">Device-Specific Notes and Issues</h3>
-<h4 id="player">Nexus Player</h4>
+<h4>Nexus Player</h4>
<ul>
-<li>Video playback, app compatibility and stability issues are expected on Nexus Player in this release of the Preview.</li>
+ <li>Video playback, app compatibility and stability issues are expected on
+ Nexus Player in this release of the Preview.
+ </li>
</ul>
-<h4 id="pixelc">Pixel C</h4>
+<h4>Pixel C</h4>
<ul>
<li>Multi-window resizing may cause crashing.</li>
</ul>
-<h4 id="n9">Nexus 9</h4>
+<h4>Nexus 9</h4>
<ul>
<li>Nexus 9 devices may not start after receiving an over-the-air (OTA) update
via the Android Beta Program. To recover from this issue, you can try
diff --git a/docs/html/wear/preview/_book.yaml b/docs/html/wear/preview/_book.yaml
new file mode 100644
index 0000000..285073c
--- /dev/null
+++ b/docs/html/wear/preview/_book.yaml
@@ -0,0 +1,27 @@
+toc:
+- title: Wear Developer Preview
+ path: /wear/preview/index.html
+
+- title: Program Overview
+ path: /wear/preview/program.html
+
+- title: API Overview
+ path: /wear/preview/api-overview.html
+ section:
+ - title: Expanded Notifications
+ path: /wear/preview/features/notifications.html
+ - title: Complications
+ path: /wear/preview/features/complications.html
+ - title: Wear Navigation and Actions
+ path: /wear/preview/features/ui-nav-actions.html
+ - title: Bridging for Notifications
+ path: /wear/preview/features/bridger.html
+
+- title: Downloads
+ path: /wear/preview/downloads.html
+
+- title: Get Started
+ path: /wear/preview/start.html
+
+- title: License Agreement
+ path: /wear/preview/license.html
diff --git a/docs/html/wear/preview/api-overview.jd b/docs/html/wear/preview/api-overview.jd
new file mode 100644
index 0000000..bf18c16
--- /dev/null
+++ b/docs/html/wear/preview/api-overview.jd
@@ -0,0 +1,124 @@
+page.title=Preview API Overview
+meta.tags="wear", "wear-preview"
+page.tags="wear"
+page.image=images/cards/card-n-apis_2x.png
+@jd:body
+
+
+
+
+<div id="qv-wrapper">
+<div id="qv">
+ <h2>Key developer features</h2>
+ <ol>
+ <ul style="list-style-type:none;">
+ <li><a href="#stand-alone">Stand Alone Devices</a>
+ <ol>
+ <li><a href="#wear-apk">Wear-Specific APKs</a></li>
+ <li><a href="#network">Network Access</a></li>
+ <li><a href="#auth">Authentication</a></li>
+ </ol>
+ </li>
+ <li><a href="#notify">Notifications and Interactions</a>
+ <ol>
+ <li><a href="#appoid">Appoids with Chat Templates</a></li>
+ <li><a href="#smart-replies">Smart Replies</a></li>
+ <li><a href="#remote-input">Remote Input</a></li>
+ <li><a href="#imf">Input Method Framework</a></li>
+ </ol>
+ </li>
+ <li><a href="#ui">User Interface Improvements</a>
+ <ol>
+ <li><a href="#complicatiosn">Complications</a></li>
+ <li><a href="#drawers">Navigation and Action Drawers</a></li>
+ <li><a href="#button-loc">Button Locations</a></li>
+ </ol>
+ </li>
+ </ol>
+</div>
+</div>
+
+
+
+<p>
+ The Android Wear Preview API is still in active development, but you can try
+ it now as part of the Wear 2.0 Developer Preview. The sections below
+ highlight some of the new features for Wear developers.
+</p>
+
+
+<h2 id="stand-alone">Stand Alone Devices</h2>
+
+<p>Description of developer theme</p>
+
+<h3 id="wear-apk">Wear-Specific APKs</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="network">Network Access</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="auth">Authentication</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+
+
+<h2 id="notify">Notifications and Interactions</h2>
+
+<p>Description of developer theme</p>
+
+<h3 id="appoid">Appoids with Chat Templates</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="smart-replies">Smart Replies</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="remote-input">Remote Input</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="imf">Input Method Framework</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+
+
+<h2 id="ui">User Interface Improvements</h2>
+
+<p>Description of developer theme</p>
+
+<h3 id="complicatiosn">Complications</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="drawers">Navigation and Action Drawers</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
+
+<h3 id="button-loc">Button Locations</h3>
+
+<p>Description of feature</p>
+
+<p>Sample implementation of feature</p>
diff --git a/docs/html/wear/preview/downloads.jd b/docs/html/wear/preview/downloads.jd
new file mode 100644
index 0000000..10c1377
--- /dev/null
+++ b/docs/html/wear/preview/downloads.jd
@@ -0,0 +1,457 @@
+page.title=Preview Downloads
+meta.tags="wear-preview", "system image", "download"
+page.tags="wear"
+page.image=images/cards/card-n-downloads_2x.png
+
+@jd:body
+
+<div style="position:relative; min-height:600px">
+
+ <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
+
+ <p class="sdk-terms-intro">Before downloading and installing components of
+ the Android Wear Preview SDK, you must agree to the following terms and
+ conditions.</p>
+
+ <h2 class="norule">Terms and Conditions</h2>
+
+ <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
+This is the Android Wear SDK Preview License Agreement (the “License Agreement”).
+
+1. Introduction
+
+1.1 The Android Wear SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 “Android-compatible” means any Android implemation that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
+
+1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the Preview solely to develop applications for compatible implementations of Android.
+
+3.2 You may not use this Preview to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this Preview is not used for that purpose.
+
+3.3 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.4 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+ </div><!-- sdk terms -->
+
+
+
+ <div id="sdk-terms-form">
+ <p>
+ <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
+ <label id="agreeLabel" for="agree">I have read and agree with the above terms and conditions</label>
+ </p>
+ <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
+ </div>
+
+
+ </div><!-- end TOS -->
+
+
+ <div id="landing">
+
+<div id="qv-wrapper">
+ <div id="qv">
+ <h2>In this document</h2>
+ <ol>
+ <li><a href="#device-preview">Set up a hardware device</a>
+ <ol>
+ <li><a href="#flash">Flash a device</a></li>
+ <li><a href="#revertDevice">Uninstalling the Preview</a></li>
+ </ol>
+ </li>
+ <li><a href="#setupAVD">Set up an emulator</a></li>
+ </ol>
+ </div>
+</div>
+
+<p>
+ To run and test your app with the Wear Developer Preview, you need to set up
+ a runtime environment. You can do that in either of these ways:
+</p>
+
+<ul>
+ <li>Install a Wear Preview system image on a supported hardware device,</li>
+ <li>Set up an Android emulator running the Wear Developer Preview</li>
+</ul>
+
+<p>
+ If you want an environment for basic compatibility testing of your app on the
+ new platform, all you need is your current APK and a hardware device or
+ emulator. You don't necessarily need to update your full development
+ environment to do basic testing.
+</p>
+
+<p>
+ If you want to modify your app to target the Wear Preview or use the Wear
+ Preview APIs, you need to set up a development environment that's updated
+ to support the Wear Preview. For more information, see
+ <a href="{@docRoot}wear/preview/start.html">Get Started with Wear Preview</a>.
+</p>
+
+
+<h2 id="downloads">Download Files</h2>
+
+
+
+<h3 id="docs-dl">Reference documentation</h3>
+
+<p>
+ Detailed information about the Wear Preview APIs is available in the
+ reference documentation, which you can download from the following table.
+ This package contains an abridged, offline version of the Android developer
+ web site, and includes an updated API reference for the Wear Preview APIs
+ and an API difference report.
+</p>
+
+<table>
+ <tr>
+ <th scope="col">Documentation</th>
+ <th scope="col">Checksums</th>
+ </tr>
+ <tr>
+ <td style="white-space: nowrap">
+ <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip"
+ >n-preview-1-docs.zip</a></td>
+ <td width="100%">
+ MD5: 4ab33ccbe698f46f125cc5b807cf9c2f<br>
+ SHA-1: 6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+ </td>
+ </tr>
+<table>
+
+<h3 id="images-dl">Device system images</h3>
+
+<p>
+ The following device system images can be used to update a compatible device
+ with the Wear Preview for testing. For information on installing these
+ images, see <a href="#device-preview">Set up a Hardware Device</a>.
+</p>
+
+<table>
+ <tr>
+ <th scope="col">Device</th>
+ <th scope="col">Download / Checksums</th>
+ </tr>
+
+ <tr id="sprat">
+ <td>Gear Live <br>"sprat"</td>
+ <td><a href="#top" onclick="onDownload(this)"
+ >sprat-XXXXX-preview-d86c7559.tgz</a><br>
+ MD5: d84b6c31a7754e505149594887b3481a<br>
+ SHA-1: d86c7559c93724cca6af91040b012c48529f2c94
+ </td>
+ </tr>
+
+</table>
+
+
+
+<h2 id="device-preview">Set up a Hardware Device</h2>
+
+<p>
+ The Wear Developer Preview offers system updates for a range of hardware devices
+ that you can use for testing your app, from phones to tablets and TV.
+</p>
+
+
+
+<h3 id="flash">Flash a device</h3>
+
+<p>
+ At any time you can download the latest Developer Preview system image and
+ manually flash it to your device. See the table below to download the system
+ image for your test device. Manually flashing a device is useful if you need
+ precise control over the test environment or need to reinstall frequently,
+ such as for automated testing.
+</p>
+
+<p>
+ Installing a system image on a device <strong>removes all data from the
+ device</strong>, so you should back up your data first.
+</p>
+
+<p>
+ After you back up your device data and download the system image below that
+ matches your device, follow the instructions at <a href=
+ "https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
+ to flash the image onto your device.
+</p>
+
+
+<h3 id="revertDevice">Uninstalling the Preview</h3>
+
+<p>
+ If you want to uninstall the preview from a device, you can do so in one of
+ these ways: </p>
+ <ul>
+ <li><strong>Obtain a factory spec system image</strong> and then manually
+ flash it to the device.
+ <ul>
+ <li>For <strong>Nexus devices and Pixel C devices</strong>, see
+ the <a href="http://developers.google.com/android/nexus/images">Factory Images
+ for Nexus Devices</a> page for downloads. </li>
+ <li>For <strong>other devices</strong>, please contact the device manufacturer
+ directly. Alternatively, if the device is supported
+ in the Android Beta Program, you can enroll the device in the
+ program and then un-enroll it (see below).</li>
+ </ul>
+ </li>
+ <li><strong>Un-enroll the device from Android Beta Program</strong>. If the
+ device is enrolled in the <a href="https://g.co/androidbeta">Android Beta
+ Program</a>, regardless of device, you can simply un-enroll it from the program.
+ <p>
+ The device will receive an OTA update to the most recent production version
+ of Android available for that device (for example, Android 6.0 Marshmallow).
+ The update requires a full device reset, so user data on the device will be
+ removed. Make sure to <strong>back up important data</strong> before
+ un-enrolling a device.
+ </p>
+ </li>
+</ul>
+
+<p class="note"><strong>Note:</strong>
+ Uninstalling a Developer Preview system image prior to
+ the end of the program requires a full device reset and removes all user data
+ on the device.
+</p>
+
+
+<h2 id="setupAVD">Set up an emulator</h2>
+
+<p>To use the Android Emulator to run the Wear Preview, you need to
+download the Wear Preview SDK and create a virtual device for the
+emulator.</p>
+
+<p>First, download the Wear Preview SDK as follows (if you
+already got it while <a href="{@docRoot}preview/setup-sdk.html">setting up
+to develop for Android N</a>, you can skip this part):
+
+<ol>
+ <li>In Android Studio, open the Settings dialog
+ (<strong>File > Settings</strong> on Windows/Linux, or
+ <strong>Android Studio > Preferences</strong> on Mac). In the left
+ panel, select <strong>Appearance & Behavior >
+ System Settings > Android SDK</strong>.
+
+ <li>Click the <strong>SDK Platforms</strong> tab, then select the
+ <strong>Wear Preview</strong> check box.</li>
+
+ <li>Click the <strong>SDK Tools</strong> tab, then select the
+ <strong>Android SDK Build Tools</strong>, <strong>Android SDK
+ Platform-Tools</strong>, and <strong>Android SDK Tools</strong> check
+ boxes.
+ </li>
+
+ <li>Click <strong>OK</strong> and accept the license
+ agreements for any packages to be installed.
+ </li>
+</ol>
+
+<p>You should now have <strong>Android SDK Built-Tools 24.0 0 rc1</strong>,
+<strong>Platform-Tools 24.0.0 rc1</strong>, and <strong>SDK Tools
+25.0.9</strong>. If you do not update the SDK Tools to 25.0.9, then you won't
+be able to run the x86_64 system images for Android N.</p>
+
+
+<p>Now create a virtual device with the Wear Preview system image:</p>
+
+<ol>
+ <li>Open the AVD Manager by selecting <strong>Tools > Android >
+ AVD Manager</strong>.</li>
+ <li>Click <strong>Create Virtual Device</strong>.</li>
+ <li>Select a device such as Nexus 5X, Nexus 6P, Nexus 9, or Android TV,
+ then click <strong>Next</strong>.</li>
+ <li>Select the <strong>N</strong> system image (with the
+ <strong>x86</strong> ABI), then click <strong>Next</strong>.
+ (Only x86 system images are currently supported with the Android Emulator
+for the Wear Preview.)
+ <li>Complete the rest of the AVD configuration and click
+ <strong>Finish</strong>.</li>
+</ol>
+
+<p>You can now launch the Android Emulator with the Wear Preview AVD.</p>
+
+<p>
+For the best experience in the Android Emulator, install
+Android Studio 2.2 Preview, which supports the <a
+href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0 Beta</a>
+with much faster performance compared to the Emulator in
+Android Studio 1.5.</p>
+
+<p>For more information about creating virtual devices, see <a href=
+ "{@docRoot}tools/devices/index.html">Managing Virtual Devices</a>.
+</p>
+
+
+
+ </div><!-- landing -->
+
+</div><!-- relative wrapper -->
+
+
+
+<script>
+ var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/wear/preview/";
+ function onDownload(link) {
+
+ $("#downloadForRealz").html("Download " + $(link).text());
+ $("#downloadForRealz").attr('href', urlRoot + $(link).text());
+
+ $("#tos").fadeIn('fast');
+ $("#landing").fadeOut('fast');
+
+ return true;
+ }
+
+
+ function onAgreeChecked() {
+ /* verify that the TOS is agreed */
+ if ($("input#agree").is(":checked")) {
+ /* reveal the download button */
+ $("a#downloadForRealz").removeClass('disabled');
+ } else {
+ $("a#downloadForRealz").addClass('disabled');
+ }
+ }
+
+ function onDownloadForRealz(link) {
+ if ($("input#agree").is(':checked')) {
+ /*
+ $("#tos").fadeOut('fast');
+ $("#landing").fadeIn('fast');
+ */
+
+ ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
+
+ /*
+ location.hash = "";
+ */
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ $(window).hashchange( function(){
+ if (location.hash == "") {
+ location.reload();
+ }
+ });
+
+</script>
diff --git a/docs/html/wear/preview/features/complications.jd b/docs/html/wear/preview/features/complications.jd
new file mode 100644
index 0000000..3d88f3a
--- /dev/null
+++ b/docs/html/wear/preview/features/complications.jd
@@ -0,0 +1,7 @@
+page.title=Watch Face Complications
+meta.tags="wear", "wear-preview", "complications"
+page.tags="wear"
+
+@jd:body
+
+<p>stub</p>
\ No newline at end of file
diff --git a/docs/html/wear/preview/features/ime.jd b/docs/html/wear/preview/features/ime.jd
new file mode 100644
index 0000000..dc4adf1
--- /dev/null
+++ b/docs/html/wear/preview/features/ime.jd
@@ -0,0 +1,7 @@
+page.title=Wear Input Method Framework
+meta.tags="wear", "wear-preview", "input-method", "ime"
+page.tags="wear"
+
+@jd:body
+
+<p>stub</p>
\ No newline at end of file
diff --git a/docs/html/wear/preview/features/notifications.jd b/docs/html/wear/preview/features/notifications.jd
new file mode 100644
index 0000000..21a77c2
--- /dev/null
+++ b/docs/html/wear/preview/features/notifications.jd
@@ -0,0 +1,7 @@
+page.title=Expanded Notifications
+meta.tags="wear", "wear-preview", "notifications"
+page.tags="wear"
+
+@jd:body
+
+<p>stub</p>
\ No newline at end of file
diff --git a/docs/html/wear/preview/features/ui-nav-actions.jd b/docs/html/wear/preview/features/ui-nav-actions.jd
new file mode 100644
index 0000000..ad61b98
--- /dev/null
+++ b/docs/html/wear/preview/features/ui-nav-actions.jd
@@ -0,0 +1,7 @@
+page.title=Wear Navigation and Actions
+meta.tags="wear", "wear-preview", "navigation", "action"
+page.tags="wear"
+
+@jd:body
+
+<p>stub</p>
\ No newline at end of file
diff --git a/docs/html/wear/preview/images/hero-1x.png b/docs/html/wear/preview/images/hero-1x.png
new file mode 100644
index 0000000..5dcc847
--- /dev/null
+++ b/docs/html/wear/preview/images/hero-1x.png
Binary files differ
diff --git a/docs/html/wear/preview/images/hero-2x.png b/docs/html/wear/preview/images/hero-2x.png
new file mode 100644
index 0000000..19a60cd
--- /dev/null
+++ b/docs/html/wear/preview/images/hero-2x.png
Binary files differ
diff --git a/docs/html/wear/preview/index.jd b/docs/html/wear/preview/index.jd
new file mode 100644
index 0000000..3f3a30a
--- /dev/null
+++ b/docs/html/wear/preview/index.jd
@@ -0,0 +1,106 @@
+page.title=Android Wear 2.0 Developer Preview
+page.tags="wear","wear-preview"
+meta.tags="wear","preview"
+fullpage=true
+forcelocalnav=true
+header.hide=1
+footer.hide=1
+@jd:body
+
+<script>
+ $(document).ready(function() {
+ if (useUpdatedTemplates) {
+ $("#useUpdatedTemplates").css("display","block");
+ } else {
+ $("#useOldTemplates").css("display","block");
+ }
+ })
+</script>
+
+<section class="dac-expand dac-hero dac-light" style="background-color:#DCEDC8">
+ <div class="wrap" style="max-width:1100px;margin-top:0">
+ <div class="cols dac-hero-content" style="padding-bottom:1em;">
+
+ <div class="col-7of16 col-push-9of16" style="padding-left:2em">
+ <h1 class="dac-hero-title">Android Wear 2.0 Developer Preview</h1>
+ <p class="dac-hero-description">
+ Get ready for the next version of Android Wear!
+ Support stand-alone Wear devices and apps.
+ Create enhanced user interaction and glanceable experiences.
+ Test your apps on Wear devices.
+ </p>
+
+ <a class="dac-hero-cta" href="{@docRoot}wear/preview/program.html">
+ <span class="dac-sprite dac-auto-chevron"></span>
+ Learn more
+ </a>
+ </div>
+ <div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
+ <img class="dac-hero-image" src="{@docRoot}wear/preview/images/hero-1x.png"
+ srcset="{@docRoot}wear/preview/images/hero-1x.png 1x,
+ {@docRoot}wear/preview/images/hero-2x.png 2x">
+ </div>
+ </div>
+ <div class="dac-section dac-small">
+ <div class="resource-widget resource-flow-layout col-16"
+ data-query="collection:wear/preview/landing"
+ data-cardSizes="6x2"
+ data-maxResults="6"></div>
+ </div>
+ </div>
+</section>
+
+<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+ <div class="wrap dac-offset-parent">
+ <a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
+ <i class="dac-sprite dac-arrow-down-gray"></i>
+ </a>
+ <ul class="dac-actions">
+ <li class="dac-action">
+ <a class="dac-action-link" href="{@docRoot}wear/preview/bug">
+ <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
+ Report an issue
+ </a>
+ </li>
+ <li class="dac-action">
+ <a class="dac-action-link" href="http://g.co/androidweardev">
+ <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
+ Join developer community
+ </a>
+ </li>
+ </ul>
+ </div><!-- end .wrap -->
+</div><!-- end .dac-actions -->
+
+<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
+ <div class="wrap dac-offset-parent">
+
+ <div class="actions">
+ <div><a href="{@docRoot}wear/preview/bug">
+ <span class="dac-sprite dac-auto-chevron-large"></span>
+ Report an issue
+ </a></div>
+ <div><a href="http://g.co/androidweardev">
+ <span class="dac-sprite dac-auto-chevron-large"></span>
+ Join developer community
+ </a></div>
+ </div><!-- end .actions -->
+ </div><!-- end .wrap -->
+</div>
+
+<section class="dac-section dac-light"><div class="wrap">
+ <h1 class="dac-section-title">Resources</h1>
+ <div class="dac-section-subtitle">
+ Essential information to help you get your apps ready for the next version of Android Wear.
+ </div>
+
+ <div class="resource-widget resource-flow-layout col-16"
+ data-query="collection:wear/preview/landing/resources"
+ data-cardSizes="6x6"
+ data-items-per-page="6"
+ data-maxResults="15"
+ data-initial-results="6"></div>
+
+ </div>
+</section>
+
diff --git a/docs/html/wear/preview/license.jd b/docs/html/wear/preview/license.jd
new file mode 100644
index 0000000..e7a7547
--- /dev/null
+++ b/docs/html/wear/preview/license.jd
@@ -0,0 +1,145 @@
+page.title=License Agreement
+
+@jd:body
+
+<p>
+To get started with the Android Wear SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android Wear SDK, subject to change, that you use at your own risk. The Android Wear SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+</p>
+
+<p>
+This is the Android Wear SDK Preview License Agreement (the “License Agreement”).
+</p>
+<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
+1. Introduction
+
+1.1 The Android Wear SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 “Android-compatible” means any Android implemation that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
+
+1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the Preview solely to develop applications for compatible implementations of Android.
+
+3.2 You may not use this Preview to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this Preview is not used for that purpose.
+
+3.3 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.4 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+
+</div>
\ No newline at end of file
diff --git a/docs/html/wear/preview/preview_toc.cs b/docs/html/wear/preview/preview_toc.cs
new file mode 100644
index 0000000..f96bf1f
--- /dev/null
+++ b/docs/html/wear/preview/preview_toc.cs
@@ -0,0 +1,132 @@
+<ul id="nav">
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/overview.html"
+ es-lang="Información general del programa"
+ ja-lang="プログラム概要"
+ ko-lang="프로그램 개요"
+ pt-br-lang="Visão geral do programa"
+ ru-lang="Обзор программы"
+ zh-cn-lang="计划概览"
+ zh-tw-lang="程式總覽">
+ Program Overview</a></div>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/support.html">
+ Support and Release Notes</a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/setup-sdk.html"
+ es-lang="Configurar el SDK de la versión preliminar"
+ ja-lang="Preview SDK のセットアップ"
+ ko-lang="미리 보기 SDK 설정하기"
+ pt-br-lang="Configuração do Preview SDK"
+ ru-lang="Настройка пакета SDK Preview"
+ zh-cn-lang="设置预览版 SDK"
+ zh-tw-lang="設定預覽版 SDK">
+ Set Up to Develop</a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/download.html">
+ Test on a Device</a></div>
+ </li>
+
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>preview/behavior-changes.html"
+ es-lang="Cambios en los comportamientos"
+ ja-lang="動作の変更点"
+ ko-lang="동작 변경"
+ pt-br-lang="Mudanças de comportamento"
+ ru-lang="Изменения в работе"
+ zh-cn-lang="行为变更"
+ zh-tw-lang="行為變更">Behavior Changes
+ </a></div>
+ <ul>
+ <li><a href="<?cs var:toroot ?>preview/features/background-optimization.html"
+ >Background Optimizations</a></li>
+ <li><a href="<?cs var:toroot ?>preview/features/multilingual-support.html"
+ >Language and Locale</a></li>
+ </ul>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>preview/api-overview.html"
+ es-lang="Información general de la API"
+ ja-lang="API の概要"
+ ko-lang="API 개요"
+ pt-br-lang="Visão geral da API"
+ ru-lang="Обзор API-интерфейсов"
+ zh-cn-lang="API 概览"
+ zh-tw-lang="API 總覽">Android N for Developers
+ </a></div>
+ <ul>
+
+ <li><a href="<?cs var:toroot ?>preview/features/multi-window.html"
+ >Multi-Window Support</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/features/notification-updates.html"
+ >Notifications</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/features/data-saver.html"
+ >Data Saver</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/features/tv-recording-api.html"
+ >TV Recording</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/features/security-config.html"
+ >Network Security Configuration</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/features/icu4j-framework.html"
+ >ICU4J Support</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/j8-jack.html"
+ >Java 8 Language Features</a></li>
+
+ <li><a href="<?cs var:toroot ?>preview/features/afw.html"
+ >Android for Work Updates</a></li>
+ </ul>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/samples.html"
+ es-lang="Ejemplos"
+ ja-lang="サンプル"
+ ko-lang="샘플"
+ pt-br-lang="Exemplos"
+ ru-lang="Примеры"
+ zh-cn-lang="示例"
+ zh-tw-lang="範例">
+ Samples</a></div>
+ </li>
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/license.html"
+ es-lang="Contrato de licencia"
+ ja-lang="使用許諾契約"
+ ko-lang="라이선스 계약"
+ pt-br-lang="Contrato de licença"
+ ru-lang="Лицензионное соглашение"
+ zh-cn-lang="许可协议"
+ zh-tw-lang="授權協議">
+ License Agreement</a></div>
+ </li>
+
+</ul>
diff --git a/docs/html/wear/preview/program.jd b/docs/html/wear/preview/program.jd
new file mode 100644
index 0000000..17df757
--- /dev/null
+++ b/docs/html/wear/preview/program.jd
@@ -0,0 +1,62 @@
+page.title=Preview Program Overview
+page.metaDescription=Get your apps ready for the next version of Android.
+page.image=images/cards/card-n-overview_2x.png
+meta.tags="wear", "wear-preview"
+page.tags="wear"
+
+@jd:body
+
+
+<p>
+ Welcome to the <strong>Wear Developer Preview</strong>, a program that
+ gives you everything you need to test and optimize your apps for the next
+ version of Android Wear. It's free, and you can get started right away just by
+ downloading the Wear Developer Preview tools.
+</p>
+
+
+
+<h2 id="timeline">Timeline and updates</h2>
+
+<p>
+ Lorem ipsum dolor sit amet, consul graecis gloriatur in cum. Porro noster ea
+ nam, omnes tollit facete ut vix. Ut nibh ancillae mei, unum mollis aliquid an
+ pri. No melius dignissim mel. An eum erant dicit volumus, ut eum animal
+ convenire.
+</p>
+
+
+<h2 id="preview_tools">What's in the Wear Developer Preview?</h2>
+
+<p>
+ Lorem ipsum dolor sit amet, consul graecis gloriatur in cum. Porro noster ea
+ nam, omnes tollit facete ut vix. Ut nibh ancillae mei, unum mollis aliquid an
+ pri. No melius dignissim mel. An eum erant dicit volumus, ut eum animal
+ convenire.
+</p>
+
+
+<h2 id="how_to_get_started">How to get started</h2>
+
+<p>
+ To get started testing your app with the Wear Developer Preview:
+</p>
+
+<ol>
+ <li> Review the <a href="{@docRoot}wear/preview/api-overview.html">API
+ Overview</a> to
+ get an idea of what's new and how it affects your apps.</li>
+ <li>Download the preview API documentation and system images from the
+ <a href="{@docRoot}wear/preview/downloads.html">Preview Downloads</a>
+ </li>
+ <li> Set up your environment by following the instructions for <a
+ href="{@docRoot}wear/preview/start.html">Get Started with Wear Preview</a>
+ and configuring test devices.</li>
+ <li> Join the <a href="http://g.co/androidweardev">Android Wear
+ Developer Community</a> to get the latest news and connect with other
+ developers working with the new platform.</li>
+</ol>
+
+<p>
+ Thank you for participating in the Android Wear Developer Preview program!
+</p>
diff --git a/docs/html/wear/preview/start.jd b/docs/html/wear/preview/start.jd
new file mode 100644
index 0000000..ff11700
--- /dev/null
+++ b/docs/html/wear/preview/start.jd
@@ -0,0 +1,139 @@
+page.title=Get Started with Wear Preview
+meta.keywords="wear-preview"
+page.tags="wear-preview"
+page.image=images/cards/card-n-sdk_2x.png
+
+@jd:body
+
+
+<div id="qv-wrapper">
+ <div id="qv">
+<ol>
+ <li><a href="#get-as22">Get Android Studio 2.2</a></li>
+ <li><a href="#get-sdk">Get the Wear Preview SDK</a></li>
+ <li><a href="#create-update">Update or Create a Project</a></li>
+</ol>
+ </div>
+</div>
+
+<p>
+ To develop apps for the Wear Developer Preview, you need to make some updates
+ to your developer environment. This page describes how to setup for testing
+ the Wear Preview APIs with your app.
+</p>
+
+
+<h2 id="get-as22">Get Android Studio 2.2 (preview)</h2>
+
+<p>
+ Android Studio 2.2 is currently available as a preview in the canary release
+ channel. If you already have Android Studio and don't want to update to the
+ canary channel, you can download Android Studio 2.2 as a separate
+ installation and use it for development with the Wear Developer Preview,
+ leaving your primary Android Studio environment unaffected.
+</p>
+
+<p>
+ To download Android Studio 2.2 as a separate installation, follow these steps
+ (or if you want to receive Android Studio 2.1 as an update to your existing
+ installation, skip to step 4):
+</p>
+
+<ol>
+ <li>Edit the name of your
+ existing Android Studio installation and append the version number. This way,
+ when you install the new version, it will not override the existing one.</li>
+ <li>Download the appropriate ZIP file for your operating system from the
+ <a href="http://tools.android.com/download/studio/canary/latest"
+ >canary channel download page</a>.
+ </li>
+ <li>Unzip the package and move the Android Studio 2.1 contents to the
+ appropriate location for applications on your system, then launch it.</li>
+ <li>Open the Settings dialog
+ (<strong>File > Settings</strong> on Windows/Linux, or
+ <strong>Android Studio > Preferences</strong> on Mac). In the left
+ panel, select <strong>Appearance & Behavior > System Settings >
+ Updates</strong>.
+ </li>
+ <li>On the Updates panel, select the <strong>Automatically
+ check updates for</strong> check box and select
+ <strong>Canary Channel</strong> from the drop-down list.
+ </li>
+</ol>
+
+<p>Keep this settings window open for the next step.</p>
+
+
+<h2 id="get-sdk">Get the Wear Preview SDK</h2>
+
+<p>To start developing with Wear Preview APIs, you need to install the
+Wear Preview SDK in Android Studio as follows:</p>
+
+<ol>
+ <li>While still viewing the Updates panel (step 4 from above),
+ select the <strong>Automatically
+ check updates for Android SDK</strong> check box and select
+ <strong>Preview Channel</strong> from the drop-down list.
+ </li>
+ <li>Click <strong>Check Now</strong>.</li>
+
+ <li>In the left panel, select <strong>Appearance & Behavior >
+ System Settings > Android SDK</strong>.
+
+ <li>Click the <strong>SDK Platforms</strong> tab, then select the
+ <strong>Wear Preview</strong> check box.</li>
+
+ <li>Click the <strong>SDK Tools</strong> tab, then select the
+ <strong>Android SDK Build Tools</strong>, <strong>Android SDK
+ Platform-Tools</strong>, and <strong>Android SDK Tools</strong> check
+ boxes.
+ </li>
+
+ <li>Click <strong>OK</strong>, then accept the licensing
+ agreements for any packages that need to be installed.
+ </li>
+</ol>
+
+
+<h2 id="create-update">Update or Create a Project</h2>
+
+<p>
+ To use the Wear Preview APIs, your project must be configured appropriately.
+</p>
+
+
+<h3 id="update">Update an existing project</h3>
+
+<p>Open the
+ <code>build.gradle</code> file for your module and update the values as
+ follows:
+</p>
+
+<pre>
+android {
+ compileSdkVersion <strong>'23'</strong>
+ buildToolsVersion <strong>'24.0.1-rc1'</strong>
+ ...
+
+ defaultConfig {
+ minSdkVersion <strong>'23'</strong>
+ targetSdkVersion <strong>'23'</strong>
+ ...
+ }
+ ...
+}</pre>
+
+
+<h3 id="create">Create a new project</h3>
+
+<p>To create a new project for development with the Wear Preview SDK:</p>
+
+<ol>
+ <li>Click <strong>File > New Project</strong>. and follow the steps until
+ you reach the Target Android Devices page.
+ </li>
+ <li>On this page, select <strong>Wear</strong> option.</li>
+ <li>Under <strong>Wear</strong> option, in the <strong>Minimum
+ SDK</strong> option list, select
+ <strong>API 23: Android API 6.0 (Wear Preview)</strong>.</li>
+</ol>
diff --git a/docs/html/wear/wear_toc.cs b/docs/html/wear/wear_toc.cs
index 65ac2e9..93f554f 100644
--- a/docs/html/wear/wear_toc.cs
+++ b/docs/html/wear/wear_toc.cs
@@ -1,74 +1,53 @@
<ul id="nav">
<li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/preview/start.html">Get Started
- </a></div>
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>wear/preview/index.html">
+ Wear Developer Preview
+ </a></div>
</li>
<li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/design/user-interface.html">UI Overview
- </a></div>
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>wear/preview/program.html">
+ Program Overview
+ </a></div>
</li>
<li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/design/index.html">Design Principles
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>wear/preview/api-overview.html">
+ API Overview
+ </a></div>
+
+ <ul>
+ <li><a href="<?cs var:toroot ?>wear/preview/features/wear-apk.html">
+ Wear APKs</a></li>
+ <li><a href="<?cs var:toroot ?>wear/preview/features/complications.html">
+ Complications</a></li>
+ </ul>
+
</li>
<li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/notifications/creating.html">Creating Notifications for Android Wear
- </a></div>
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>wear/preview/downloads.html">
+ Downloads
+ </a></div>
</li>
<li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/notifications/remote-input.html">Receiving Voice Input from a Notification
- </a></div>
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>wear/preview/start.html">
+ Get Started
+ </a></div>
</li>
<li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/notifications/pages.html">Adding Pages to a Notification
- </a></div>
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>wear/preview/license.html">
+ License Agreement
+ </a></div>
</li>
- <li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/notifications/stacks.html">Stacking Notifications
- </a></div>
- </li>
-
- <li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>reference/android/preview/support/package-summary.html">Notification Reference</a></div>
- <ul class="tree-list-children">
-<li class="nav-section">
-<div class="nav-section-header-ref"><span class="tree-list-subtitle package" title="android.preview.support.v4.app">android.preview.support.v4.app</span></div>
- <ul>
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/v4/app/NotificationManagerCompat.html">NotificationManagerCompat</a></li>
- </ul>
-</li>
-
-<li class="nav-section">
-<div class="nav-section-header-ref"><span class="tree-list-subtitle package" title="android.preview.support.wearable.notifications">android.preview.support.wearable.notifications</span></div>
-<ul>
-
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/wearable/notifications/RemoteInput.html">RemoteInput</a></li>
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/wearable/notifications/RemoteInput.Builder.html" >RemoteInput.Builder</a></li>
-
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/wearable/notifications/WearableNotifications.html">WearableNotifications</a></li>
-
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/wearable/notifications/WearableNotifications.Action.html">WearableNotifications.Action</a></li>
-
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/wearable/notifications/WearableNotifications.Action.Builder.html">WearableNotifications.Action.Builder</a></li>
-
-<li><a href="<?cs var:toroot ?>reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html">WearableNotifications.Builder</a></li>
- </ul>
- </li>
-</ul>
-</li>
-
-
-
- <li class="nav-section">
- <div class="nav-section-header empty"><a href="<?cs var:toroot ?>wear/license.html">License Agreement</a></div>
- </li>
-
-
</ul>