docs: squashed commit of i.o launches
Change-Id: I71bb6efb27f363dc6b47bf1e283369ae274caee8
diff --git a/docs/html/auto/images/carlogos.png b/docs/html/auto/images/carlogos.png
new file mode 100644
index 0000000..3522aa3
--- /dev/null
+++ b/docs/html/auto/images/carlogos.png
Binary files differ
diff --git a/docs/html/auto/images/figure01.png b/docs/html/auto/images/figure01.png
new file mode 100644
index 0000000..3044020
--- /dev/null
+++ b/docs/html/auto/images/figure01.png
Binary files differ
diff --git a/docs/html/auto/images/figure02.png b/docs/html/auto/images/figure02.png
new file mode 100644
index 0000000..1b87224
--- /dev/null
+++ b/docs/html/auto/images/figure02.png
Binary files differ
diff --git a/docs/html/auto/images/figure03.png b/docs/html/auto/images/figure03.png
new file mode 100644
index 0000000..0c4e20d
--- /dev/null
+++ b/docs/html/auto/images/figure03.png
Binary files differ
diff --git a/docs/html/auto/images/figure04.png b/docs/html/auto/images/figure04.png
new file mode 100644
index 0000000..3e9c894
--- /dev/null
+++ b/docs/html/auto/images/figure04.png
Binary files differ
diff --git a/docs/html/auto/images/figure05.png b/docs/html/auto/images/figure05.png
new file mode 100644
index 0000000..9c1d9b8
--- /dev/null
+++ b/docs/html/auto/images/figure05.png
Binary files differ
diff --git a/docs/html/auto/images/figure06.png b/docs/html/auto/images/figure06.png
new file mode 100644
index 0000000..8140f0c
--- /dev/null
+++ b/docs/html/auto/images/figure06.png
Binary files differ
diff --git a/docs/html/auto/images/figure07.png b/docs/html/auto/images/figure07.png
new file mode 100644
index 0000000..82c1c76
--- /dev/null
+++ b/docs/html/auto/images/figure07.png
Binary files differ
diff --git a/docs/html/auto/images/figure08.png b/docs/html/auto/images/figure08.png
new file mode 100644
index 0000000..f11e3a8
--- /dev/null
+++ b/docs/html/auto/images/figure08.png
Binary files differ
diff --git a/docs/html/auto/images/hero.jpg b/docs/html/auto/images/hero.jpg
new file mode 100644
index 0000000..3f9114f
--- /dev/null
+++ b/docs/html/auto/images/hero.jpg
Binary files differ
diff --git a/docs/html/auto/index.jd b/docs/html/auto/index.jd
new file mode 100644
index 0000000..2a527b3
--- /dev/null
+++ b/docs/html/auto/index.jd
@@ -0,0 +1,194 @@
+page.title=Android Auto
+page.viewport_width=970
+fullpage=true
+no_footer_links=true
+
+@jd:body
+
+<style>
+.fullpage>#footer,
+#jd-content>.content-footer.wrap {
+ display:none;
+}
+</style>
+
+
+
+
+<div id="video-container">
+ <div id="video-frame">
+ <div class="video-close">
+ <span id="icon-video-close"> </span>
+ </div>
+ <script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
+ <div id="ytapiplayer">
+ <a href="http://www.youtube.com/watch?v=0xQ3y902DEQ"><img width=940
+ src="https://i1.ytimg.com/vi/0xQ3y902DEQ/maxresdefault.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
+ </div>
+ </div>
+</div>
+
+
+
+<div class="landing-body-content">
+ <div class="landing-hero-container">
+
+ <div class="landing-section auto-hero">
+
+ <div class="landing-hero-scrim"></div>
+ <div class="landing-hero-wrap">
+ <div class="vertical-center-outer">
+ <div class="vertical-center-inner">
+
+ <div class="col-10">
+ <div class="landing-section-header">
+ <div class="landing-h1 hero">Android Auto</div>
+ <div class="landing-subhead hero">Entertainment and services on your dashboard</div>
+ </div>
+ <div class="landing-hero-description">
+ <p>Maps, music, search and more in your vehicle, powered by your Android phone.
+ Voice actions and feedback. Useful local information. Clean user interfaces to
+ keep your eyes on the road.</p>
+ </div>
+
+ <div class="landing-body">
+ <a href="{@docRoot}auto/overview.html" class="landing-button landing-primary" style="margin-top: 40px;">
+ Developer Overview
+ </a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div> <!-- end .wrap -->
+
+ <div class="landing-scroll-down-affordance">
+ <a class="landing-down-arrow" href="#android-in-car">
+ <img src="{@docRoot}wear/images/carrot.png" alt="Scroll down to read more">
+ </a>
+ </div>
+ </div> <!-- end .landing-section .landing-hero -->
+ </div> <!-- end .landing-hero-container -->
+
+ <div class="landing-rest-of-page">
+
+ <div class="landing-section landing-gray-background" id="android-in-car">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">Bringing Android to Your Car</div>
+ </div>
+
+ <div class="landing-body">
+ <p>When users connect their Android phone to an Android Auto enabled vehicle, the
+ system shows an interface that lets users select compatible apps and services to run.
+ </p>
+ <p>Android Auto provides new APIs and tools that your existing Android apps can
+ leverage to run on any compatible vehicle. Users interact with your apps through the
+ touch screen and the physical buttons on the vehicle’s dashboard. Your apps can also
+ respond to voice commands.
+ </p>
+ </div>
+
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ <div class="landing-section" >
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">Minimizing Distraction</div>
+ </div>
+
+ <div class="landing-body">
+ <p>We designed Android Auto to minimize driver distraction. Android Auto provides UI
+ templates for several app categories. These templates define the user interaction model
+ for any app and follow international best practices for reducing driver distraction.</p>
+ <p>You can customize these templates to fit your brand and link them to your app’s
+ content and functionality, instead of building new UIs and testing them for driver
+ distraction, which is a lengthy and costly process.</p>
+ <p>Android Auto locks any device that users connect to a compatible vehicle, so drivers
+ interact with the device using voice actions and the vehicle’s input controls.</p>
+ </div>
+
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ <div class="landing-section landing-white-background">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h2">Building an Ecosystem</div>
+ <div class="landing-body landing-align-center">
+ <p class="landing-small">
+ Android Auto is coming soon to new cars from these manufacturers:
+ </p>
+ </div>
+ </div>
+
+ </div>
+ <div style="width:800px;margin:0 auto">
+ <img src="{@docRoot}auto/images/carlogos.png" alt="Partners" />
+ </div>
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ <div class="landing-section" style="background-color:#f5f5f5">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-pre-h1">Coming soon</div>
+ <div class="landing-h1">Android Auto SDK</div>
+ <div style="text-align:center;margin-top:20px;font-size:14pt;margin-bottom:-5px">
+ <a href="https://docs.google.com/a/google.com/forms/d/1ANgYOoYLkfyZ2JRPSU34Nep5yNaU-Ha2syXJ9b4xLrA/viewform">Sign up for updates</a>
+ </div>
+ </div>
+
+ <div class="landing-body">
+ <p>In the coming months, we’ll be releasing the Android Auto SDK, which includes APIs
+ and tools to make your existing apps compatible with Android Auto. The first version
+ of the SDK will provide templates and APIs for music, podcast, live radio, and audio
+ news apps, as well as limited voice actions.</p>
+ <p>Future versions of the Android Auto SDK will include support for a selection of
+ Android notifications, additional voice actions, and templates and APIs for
+ messaging, communication, local search, and more.</p>
+
+ <a target="_blank" href="http://g.co/androidweardev">
+ <img class="landing-social-image" src="//www.google.com/images/icons/product/gplus-128.png" alt="+Android Auto Developers">
+ </a>
+ <p>G+ Community</p>
+ <p class="landing-small">
+ Join the Android Auto developer community on Google+ to stay involved, get the
+ latest updates, and exchange experiences with other developers.
+ <a target="_blank" href="http://g.co/androidweardev">+Android Auto Developers</a>
+ </p>
+ </div>
+
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ </div> <!-- end .landing-rest-of-page -->
+
+
+ <div class="content-footer wrap" itemscope="" itemtype="http://schema.org/SiteNavigationElement">
+ <div class="layout-content-col col-16" style="padding-top:4px">
+ <style>#___plusone_0 {float:right !important;}</style>
+ <div class="g-plusone" data-size="medium"></div>
+ </div>
+ </div>
+ <div id="footer" class="wrap" style="width:940px;position:relative;top:-35px;z-index:-1">
+ <div id="copyright">
+ Except as noted, this content is
+ licensed under <a href="http://creativecommons.org/licenses/by/2.5/">
+ Creative Commons Attribution 2.5</a>. For details and
+ restrictions, see the <a href="/license.html">Content
+ License</a>.
+ </div>
+ </div>
+
+
+ </div> <!-- end landing-body-content -->
+
+ <script>
+ $("a.landing-down-arrow").on("click", function(e) {
+ $("body").animate({
+ scrollTop: $(".wear-hero").height() + 76
+ }, 1000, "easeOutQuint");
+ e.preventDefault();
+ });
+ </script>
diff --git a/docs/html/auto/overview.jd b/docs/html/auto/overview.jd
new file mode 100644
index 0000000..ee0629a
--- /dev/null
+++ b/docs/html/auto/overview.jd
@@ -0,0 +1,354 @@
+fullpage=true
+page.viewport_width=970
+no_footer_links=true
+excludeFromSuggestions=true
+page.metaDescription=Android Auto
+
+@jd:body
+
+<div style="width:780px; margin:0 auto;">
+
+<div id="qv-wrapper">
+<div id="qv">
+<h2>In this document</h2>
+<ol>
+ <li><a href="#design">Design</a>
+ <ol>
+ <li><a href="#designprinciples">Design Principles</a></li>
+ <li><a href="#uioverview">UI Overview</a></li>
+ </ol>
+ </li>
+ <li><a href="#architecture">Architecture</a></li>
+ <li><a href="#uitemplates">UI Templates</a>
+ <ol>
+ <li><a href="#launchapp">Launch App</a></li>
+ <li><a href="#useractions">User Actions</a></li>
+ <li><a href="#drawertransitions">Drawer Transitions</a></li>
+ <li><a href="#daynighttransitions">Day and Night Transitions</a></li>
+ <li><a href="#customizetemplates">Customizing Templates</a></li>
+ </ol>
+ </li>
+ <li><a href="#devprocess">Development Process</a></li>
+ <li><a href="#emulator">Testing Your App</a></li>
+ <li><a href="#running">Running Your App</a></li>
+</ol>
+</div>
+</div>
+
+<h1>Android Auto Developer Overview</h1>
+
+<p>Android Auto extends the Android platform to car entertainment systems. When users connect
+their Android handheld device to a compatible vehicle, Android Auto lets users project apps on
+the vehicle’s touchscreen and interact with them using the vehicle’s controls.</p>
+
+<dl>
+<dt style="margin-bottom:10px"><strong>UI Templates</strong></dt>
+<dd style="margin-bottom:20px">
+Android Auto defines interaction models and UI templates for several app categories. The
+first version of Android Auto supports media apps, such as music, podcast, live radio, and
+audio news apps. Future versions will support messaging, communication, local search apps,
+and more.
+</dd>
+<dt style="margin-bottom:10px"><strong>Notifications</strong></dt>
+<dd style="margin-bottom:20px">
+The platform will integrate with existing Android APIs for notifications. Users will get
+some notifications from Android apps on the vehicle’s screen.</dd>
+
+<dt style="margin-bottom:10px"><strong>Voice Actions</strong></dt>
+<dd style="margin-bottom:20px">
+Android Auto supports voice search and voice actions for media apps. Future versions
+will support additional voice actions.</dd>
+
+<dt style="margin-bottom:10px"><strong>Easy Development Workflow</strong></dt>
+<dd style="margin-bottom:20px">
+To extend an existing Android app for Android Auto, you implement a set of interfaces and
+services defined in the platform. You can reuse existing functionality and many Android APIs
+you already know.</dd>
+</dl>
+
+<p>We’ll release the Android Auto SDK in the coming months, which will let you test your
+Android Auto experience on a regular Android device.</p>
+
+
+<h2 id="design" style="margin-top:30px">Design</h2>
+
+<p>Digital experiences for cars should complement and augment driving, not demand the driver's
+attention. Designing these experiences for cars is fundamentally different than in the case of
+phones and tablets. It requires rethinking how these experiences unfold.</p>
+
+<h3 id="designprinciples" style="margin-top:25px">Design Principles</h3>
+
+<p><strong>Glanceable</strong>. We designed Android Auto to reduce UI complexity, optimize user
+interactions, and lower cognitive load. Effective apps show just enough information
+and only provide features that do not require excessive menu interaction and navigation.</p>
+
+<p><strong>Predictive, yet predictable</strong>. Android Auto leverages rich, contextual awareness
+to keep the driver informed about important situations. Timely help is combined with predictable
+functions. Effective apps use patterns for common tasks and show timely information only when
+relevant.</p>
+
+<p><strong>Connected</strong>. Android Auto works with apps that drivers already use in other
+devices. Android Auto promotes a continuous app experience from phones and tablets to cars,
+providing access to user's existing settings, subscriptions, and digital libraries. Experiences
+that bring personal content and context from other devices are part of Android Auto.</p>
+
+<p><strong>Integrated</strong>. Android Auto blends your apps with the vehicle's entertainment
+system, creating a truly integrated experience in every car. By using the vehicle's screen and
+controls, apps feel tailored to each car.</p>
+
+<h3 id="uioverview" style="margin-top:25px">UI Overview</h3>
+
+<p>Android Auto is a new environment that leverages existing UI models where appropiate and adds
+new models based on constrains and context. There are three primary concepts for Android Auto:
+<strong>Suggest</strong>, a unified place for predictive content; <strong>Demand</strong>, a
+pervasive way to interact with voice; and the <strong>Facets</strong>, organized spaces for
+primary activities, apps and content.</p>
+
+<dl>
+<dt style="margin-bottom:10px"><strong>Suggest: The Google Facet</strong></dt>
+<dd style="margin-bottom:20px">
+Core of continuity and extensibility is contextual stream of Now-like cards, powered by your
+apps and notifications. Relevant, timely, and dynamic, the stream organizes likely people, media,
+places, and information so drivers can quickly continue their activities or start something new.
+Google Now and notifications enable drivers to use the apps and services they know when they are
+most relevant.
+</dd>
+<dt style="margin-bottom:10px"><strong>Demand: The Voice Layer</strong></dt>
+<dd style="margin-bottom:20px">
+Voice-enabled tasks lets drivers accomplish their goals without taking their eyes off the road.
+Android Auto defines actions and intents that your app can register for.
+These are accessible through both persistent UI elements and dedicated hardware controls.
+</dd>
+<dt style="margin-bottom:10px"><strong>Facets and Templates: App-powered activities</strong></dt>
+<dd style="margin-bottom:20px">
+In the car, pages of app icons and different UIs create a distracting and dangerous situation.
+Instead, Android Auto apps power templates which help provide simple but customizable UIs
+for common interactions such as media or communications. Templates incorporate common behaviors,
+such as play/pause or reply to a message, while still letting your app promote its value
+and its brand. Apps are organized into facets (or activities) to enable quick access.
+</dd>
+</dl>
+
+<p>Android Auto uses the input and output mechanisms in each vehicle to tailor the interactions.
+Some vehicles have dedicated hardware controls, while others have primarily touch-based systems.
+Android Auto maps common actions and intents across these diverse sets of controls and outputs to
+enable you to concentrate on your unique app experience.</p>
+
+
+<h2 id="architecture" style="margin-top:30px">Architecture</h2>
+
+<p>The Android Auto app projects your app's customized UI on the vehicle's screen. To communicate
+with the Android Auto app, your media app implements a set of media interfaces.</p>
+
+<div style="width:750px;margin:0 auto">
+<img src="/auto/images/figure01.png" alt="" id="figure1" />
+<p class="img-caption">
+ <strong>Figure 1</strong> - Architecture of Android Auto.
+</p>
+</div>
+
+<p>The architecture consists of the following components:</p>
+
+<p><strong>Media App</strong> - Runs a media service that exposes content through browsing and
+playback APIs. The service provides content to the Android Auto app. This is your Android app.</p>
+
+<p><strong>Android Auto App</strong> - Creates a templated UI and handles user interactions.
+This app uses a media client to request content from the media service running in the media
+app. The client requests data from the media service and monitors service states.</p>
+
+<p><strong>Vehicle Display</strong> - Shows app content and supports user interaction via
+on-screen soft buttons and other components, such as physical buttons or steering
+wheel controls.</p>
+
+<p>Android media apps must implement binders to these APIs:</p>
+
+<ul>
+<li><strong>Browsing</strong> - Enables a media client to browse a hierarchy of a user’s
+media collection, presented as a virtual file system with containers (similar to directories)
+and items (similar to files).</li>
+<li><strong>Playback</strong> - Enables a media client to control media playback and monitor
+playback state through callbacks.</li>
+</ul>
+
+
+<h2 id="uitemplates" style="margin-top:30px">UI Templates</h2>
+
+<p>The Android Auto app uses a templated UI to display content and user interaction
+opportunities. Android Auto provides you with a set of standard UI templates that follow
+international guidelines for minimizing driving distraction. You do not have to test your
+app's UI for for driver distraction, which is a lengthy and expensive process involving
+multiple legislations across the globe and different standards for each vehicle OEM.</p>
+
+<p>The UI templates define interfaces for browsing, searching, and listening to content from
+media apps. Although you cannot change the standard template format or layout, you can customize
+the template colors, action icons, background images, and more.</p>
+
+<h3 id="launchapp" style="margin-top:25px">Launch App Template</h3>
+
+<p>The Launcher template shows all the compatible media apps installed on the user’s
+Android device and lets users select one of them from an scrollable list:</p>
+
+<div style="width:500px;margin:0 auto">
+<img src="/auto/images/figure02.png" alt="" id="figure2" />
+<p class="img-caption">
+ <strong>Figure 2.</strong> The Launcher template.
+</p>
+</div>
+
+<h3 style="margin-top:25px">Primary App Template</h3>
+
+<p>After the user selects a media app, the display shows the primary app template. Figure
+3 shows the elements of this template that you can customize:</p>
+
+<div style="width:428px;margin:0 auto">
+<img src="/auto/images/figure03.png" alt="" id="figure3" />
+<p class="img-caption">
+ <strong>Figure 3.</strong> The main application template.
+</p>
+</div>
+
+<p>You can customize the primary app template to show your own icons, app name, and
+background images. Figure 4 shows an example of a customized template:</p>
+
+<div style="width:787px;margin:0 auto">
+<img src="/auto/images/figure04.png" alt="" id="figure4" />
+<p class="img-caption">
+ <strong>Figure 4.</strong> A customized template.
+</p>
+</div>
+
+<h3 id="useractions" style="margin-top:25px">User Actions</h3>
+
+<p>The primary app template supports four main actions on the action bar, four auxiliary actions
+on the overflow bar, and the <em>Return</em> action. You can use standard controls and customize
+the actions and icons, as shown in Figure 5.</p>
+
+<div style="width:500px;margin:0 auto">
+<img src="/auto/images/figure05.png" alt="" id="figure5" />
+<p class="img-caption">
+ <strong>Figure 5.</strong> Custom icons for auxiliary actions.
+</p>
+</div>
+
+<h3 id="drawertransitions" style="margin-top:25px">Drawer Transitions</h3>
+
+<p>For browse actions, the display shows the drawer transition and template:</p>
+
+<div style="width:750px;margin:0 auto">
+<img src="/auto/images/figure06.png" alt="" id="figure6" />
+<p class="img-caption">
+ <strong>Figure 6.</strong> The drawer transition.
+</p>
+</div>
+
+<p>After the transition from the primary app template to the drawer template, the drawer
+appears on the center. The customized drawer template shows the media containers and
+media files provided by the media service in your app. You can also customize drawers
+with icons for list items.</p>
+
+<div style="width:500px;margin:0 auto">
+<img src="/auto/images/figure07.png" alt="" id="figure7" />
+<p class="img-caption">
+ <strong>Figure 7.</strong> A customized drawer template.
+</p>
+</div>
+
+<h3 id="daynighttransitions" style="margin-top:25px">Day and Night Transitions</h3>
+
+<p>All the templates support different color schemes for day and night, as shown in
+Figure 8. The platform provides the state (day or night) and makes adjustments automatically.</p>
+
+<div style="width:780px;margin:0 auto">
+<img src="/auto/images/figure08.png" alt="" id="figure8" />
+<p class="img-caption">
+ <strong>Figure 8.</strong> Day and night transitions.
+</p>
+</div>
+
+<h3 id="customizetemplates" style="margin-top:25px">Customizing Templates</h3>
+
+<p>To customize the templates, provide the following app-specific resources and actions
+to the Android Auto media client.</p>
+
+<ul>
+<li><strong>Resources</strong> - App logo, app name, theme colors, and background images.</li>
+<li><strong>Actions</strong> - Multiple custom actions; for example: <em>Thumbs Up/Down</em>,
+<em>Favorite</em>, and <em>Bookmark</em>. These actions are app-specific.</li>
+</ul>
+
+<p>If provided, the media client automatically uses them in the templated UI.</p>
+
+
+<h2 id="devprocess" style="margin-top:30px">Development Process</h2>
+
+<p class="note"><strong>Note:</strong> When released, the Android Auto SDK will provide
+media service interfaces, an APK for handheld devices that simulates the Android Auto
+app, and other tools for Android Auto development.</p>
+
+<p>To create a media app for Android Auto, you include an Android service in your app
+that implements the media service interfaces provided by the Android Auto SDK. These
+interfaces define functionality for browsing and finding content, playing media,
+customizing the UI template, and performing app-specific actions.</p>
+
+<p>The media service interfaces present the content library as a navigable tree and enable
+clients to play media, get album art, obtain theme resources for the UI template, and
+invoke app-specific actions.</p>
+
+<p>You don’t have to create a new app for Android Auto: you can extend your existing
+Android app with implementations of the media service interfaces. Your service exposes
+your app’s media content, theme resources, and app-specific actions using the methods and
+data types specified by the media service interfaces. This simplifies the development
+cycle because:</p>
+
+<ul>
+<li>You do not have to maintain a separate project for Android Auto</li>
+<li>You can reuse existing functionality from your Android app</li>
+</ul>
+
+<p>The Android Auto client presents the customized UI to users and invokes the
+functionality from your service as needed. This has two additional advantages:</p>
+
+<ul>
+<li>Your app does not implement a UI for Android Auto</li>
+<li>Your app does not manage user interactions directly</li>
+</ul>
+
+<p>This also means that you do not have to worry about vehicle-specific hardware
+differences such as screen resolutions, software interfaces, knobs and touch
+controls.</p>
+
+
+<h2 id="emulator" style="margin-top:30px">Testing Your App on an Android Device</h2>
+
+<p>The Android Auto SDK includes an APK with a media client implementation, which is
+similar to those available in compatible vehicles. To test your app with this
+client:</p>
+
+<ol>
+<li>Get an Android device with a similar form factor to a dashboard screen (like a
+Nexus 7).</li>
+<li>Configure the device for Android development.</li>
+<li>Install the APK for the media client from the Android Auto SDK on the device.</li>
+<li>Install the APK for your app on the device.</li>
+<li>Open the media client app from the Android Auto SDK on the device.</li>
+<li>Select your app from the list of available services.</li>
+</ol>
+
+<p>The customized UI for your app appears on the client. You can navigate the content
+library and play media. If your app provides app-specific actions, these actions appear
+in the UI controls.</p>
+
+
+<h2 id="running" style="margin-top:30px">Running Your App on Android Auto</h2>
+
+<p>Media apps are available on the Google Play Store for compatible Android devices.
+When users connect their Android device to a compatible vehicle, the
+Android Auto media client shows a list of all the Android apps installed on the phone
+that implement the media service interfaces.</p>
+
+<p>When users select one of these apps, the Android Auto media client uses the app’s
+service to respond to user input and invoke the methods in the media service interfaces
+to build the UI, navigate the content library, and play media.</p>
+
+<div style="margin-bottom:40px"> </div>
+</div>
diff --git a/docs/html/design/design_toc.cs b/docs/html/design/design_toc.cs
index 4c2aab2..2bd0bf9 100644
--- a/docs/html/design/design_toc.cs
+++ b/docs/html/design/design_toc.cs
@@ -67,6 +67,25 @@
</li>
<li class="nav-section">
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>design/devices.html">Devices</a></div>
+ <ul>
+ <!-- wear design goes here -->
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>design/tv/index.html">TV</a></div>
+ <ul>
+ <li><a href="<?cs var:toroot ?>design/tv/principles.html">Design Principles</a></li>
+ <li><a href="<?cs var:toroot ?>design/tv/ui-overview.html">UI Overview</a></li>
+ <li><a href="<?cs var:toroot ?>design/tv/style.html">Style</a></li>
+ <li><a href="<?cs var:toroot ?>design/tv/patterns.html">Patterns</a></li>
+ </ul>
+ </li>
+
+ </ul>
+ </li>
+
+
+ <li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>design/downloads/index.html">Downloads</a></div>
</li>
diff --git a/docs/html/design/tv/images/apps-games-rows.png b/docs/html/design/tv/images/apps-games-rows.png
new file mode 100644
index 0000000..1724147
--- /dev/null
+++ b/docs/html/design/tv/images/apps-games-rows.png
Binary files differ
diff --git a/docs/html/design/tv/images/atv-home.png b/docs/html/design/tv/images/atv-home.png
new file mode 100644
index 0000000..2c18827
--- /dev/null
+++ b/docs/html/design/tv/images/atv-home.png
Binary files differ
diff --git a/docs/html/design/tv/images/atv.png b/docs/html/design/tv/images/atv.png
new file mode 100644
index 0000000..cd96164
--- /dev/null
+++ b/docs/html/design/tv/images/atv.png
Binary files differ
diff --git a/docs/html/design/tv/images/overscan.png b/docs/html/design/tv/images/overscan.png
new file mode 100644
index 0000000..bf08dd8
--- /dev/null
+++ b/docs/html/design/tv/images/overscan.png
Binary files differ
diff --git a/docs/html/design/tv/images/recommendations.png b/docs/html/design/tv/images/recommendations.png
new file mode 100644
index 0000000..579b390
--- /dev/null
+++ b/docs/html/design/tv/images/recommendations.png
Binary files differ
diff --git a/docs/html/design/tv/images/search.png b/docs/html/design/tv/images/search.png
new file mode 100644
index 0000000..be0d778
--- /dev/null
+++ b/docs/html/design/tv/images/search.png
Binary files differ
diff --git a/docs/html/design/tv/images/settings.png b/docs/html/design/tv/images/settings.png
new file mode 100644
index 0000000..f9f45fa
--- /dev/null
+++ b/docs/html/design/tv/images/settings.png
Binary files differ
diff --git a/docs/html/design/tv/index.jd b/docs/html/design/tv/index.jd
new file mode 100644
index 0000000..2519e25
--- /dev/null
+++ b/docs/html/design/tv/index.jd
@@ -0,0 +1,31 @@
+page.title=Design for TV
+header.justLinks=1
+footer.hide=1
+@jd:body
+
+<style>
+#landing-graphic-container {
+ position: relative;
+}
+
+#text-overlay {
+ position: absolute;
+ left: 0;
+ top: 402px;
+ width: 220px;
+}
+</style>
+
+<div id="landing-graphic-container">
+ <div id="text-overlay">
+ <span itemprop="description">
+ Build beautiful apps for the biggest screen in the house.</span>
+ <br><br>
+ <a href="{@docRoot}design/tv/principles.html"
+ class="landing-page-link">Design Principles</a>
+ </div>
+
+ <a href="{@docRoot}design/tv/principles.html">
+ <img src="{@docRoot}design/tv/images/atv.png" style="margin-left: 70px;">
+ </a>
+</div>
diff --git a/docs/html/design/tv/patterns.jd b/docs/html/design/tv/patterns.jd
new file mode 100644
index 0000000..c8cc0b0
--- /dev/null
+++ b/docs/html/design/tv/patterns.jd
@@ -0,0 +1,100 @@
+page.title=Patterns for TV
+page.tags="design"
+@jd:body
+
+<p>As a developer of apps for TV, you should follow certain patterns to enable users to
+ quickly understand and efficiently your app. This section describes recommended design patterns
+ for TV apps.</p>
+
+<h2>Navigation</h2>
+
+<p>Users typically navigate TV devices using a directional pad (D-Pad). This type of controller
+ limits movement to up, down, left, and right. In a typical D-Pad remote, hardware keys that
+ correspond to those directions are present and an additional action key is available to make a
+ selection. As you design your Android application for TVs, pay special attention to how users
+ navigate your application when using a remote control instead of a touchscreen.</p>
+
+<p>[add visual: D-Pad image or illustration]</p>
+
+<p>A key aspect of making your application work well with a D-Pad controller is to make sure
+ that there is always a object that is obviously in focus. If a user cannot see what is in focus,
+ they will not be able to navigate your app intuitively with this type of controller.</p>
+
+<p>Optimize your app screen layouts for D-Pad navigation. Align objects in your app lists and
+ grids to make navigation within each screen intuitive. Design your layout so it takes advantage of
+ two-axis navigation.</p>
+
+
+<h2>Home and Back Buttons</h2>
+
+<p>
+ In addition to the D-Pad buttons, Android TV devices always include Home and Back buttons on their
+ controllers. Make sure the Back button functions within your app in a way that is consistent with
+ the general <a href="{@docRoot}design/patterns/navigation.html">Android Design guidelines</a>.
+</p>
+
+
+<h2>Focus and Selection</h2>
+
+<p>Providing good focus and selection indicators is key to making your app useable on TV. As
+ mentioned previously, making sure that an object is always selected in your app is critical for
+ effective navigation using a D-Pad. This requirement also means that you must use focus indicators
+ that are easy to recognize and should be consistent throughout your app.</p>
+
+<p>
+ [add visual of selected item on screen]
+</p>
+
+<p>The default focus indicator used in Android TV use a combination of scale, shadow,
+ brightness, and opacity. The focus feedback is enhanced by displaying an animation going from a
+ non-focused to a focused state and back. Instead of immediately applying the focus transformation,
+ it is animated into place to reduce abrupt changes and help users notice how the object changed.</p>
+
+<h2>Audio Feedback</h2>
+
+<p>Sounds on Android TV bring a cinematic quality to the interaction experience. You should
+ consider adding sounds for user actions or to provide feedback when a user is only partially
+ visually engaged with the screen (e.g., because they have their hands full or are multitasking).
+ You should also consider using sounds as alternatives to error messages, for example to indicate
+ that a user has reached the end of a list or is trying to navigate to an undefined location.</p>
+
+<h2>Banners</h2>
+
+<p>
+ App Banners represent your app on the home screen of TV devices and serves and as a way for
+ users to launch your app. Here are specific requirements for the banner image:
+</p>
+
+<ul>
+ <li>Size: 320 x 180 px, xhdpi resource</li>
+ <li>Text should be included in the image. If your app is available in more than one
+ language, you must provide version of the banner image for each supported language.</li>
+</ul>
+
+
+<h2>App Icons</h2>
+
+<p>The app icon is shown in recommendation cards on the Home screen, search results and the main
+ Browse screen of your app if you use {@code BrowseFragment}. Here are the specific
+ requirements for the app icon:</p>
+
+<ul>
+ <li><p>Full color: size: 52x52dp, PNG</p></li>
+ <li><p>Monocolor: size 52x52dp, white(#fff) icon with transparent background, PNG</p></li>
+</ul>
+
+
+<h2>Background Images</h2>
+
+<p>Background images are displayed in the background of your app to provide additional visual
+ interest, information or branding. The BrowseFragment and DetailsFragment classes in the Leanback
+ support library provide specific support for background images and updating them as items are
+ brought into and out of focus. Here are the specific requirements for background images:</p>
+
+<ul>
+ <li>2016x1134 (1920x1080 + 5% extra margin for motion)</li>
+</ul>
+
+<p>
+ <strong>Note:</strong> If the image does not meet this requirement, it is scaled to fit.
+</p>
\ No newline at end of file
diff --git a/docs/html/design/tv/principles.jd b/docs/html/design/tv/principles.jd
new file mode 100644
index 0000000..5c0ce10
--- /dev/null
+++ b/docs/html/design/tv/principles.jd
@@ -0,0 +1,45 @@
+page.title=Design Principles for TV
+@jd:body
+
+<p>Users bring a specific set of expectations to the experience of watching TV, versus
+ interacting with a phone or tablet. These principles have been developed by the Android User
+ Experience Team to guide creation of the Android TV platform and the apps that run on it.</p>
+
+<h2>Casual Consumption</h2>
+
+<p>The TV is an entertainment interface, not a computer or mobile device. Optimize for
+ activities that put content at the center: from the casual posture of movie-watching, to
+ edge-of-seat, immersive gameplay, to hanging out with friends in a living room.</p>
+
+<p>Users expect immediate access to to content when they turn on a TV. Get users into the action
+ fast, be it the big game, their favorite show, or a game with friends. The next piece of content
+ to watch or play should only be a click or two away.</p>
+
+<p>
+ [add a visual]
+</p>
+
+
+<h2>Cinematic Experience</h2>
+
+<p>Create immersive experiences for the user. Design for as little user interface and as much
+ content as possible on each screen. Use visual imagery, movement and sound to inform and delight
+ users. Avoid using on-screen text to convey information and purpose. Tell your story with pictures
+ and sound.</p>
+
+<p>
+ [add a visual]
+</p>
+
+
+<h2>Simplicity</h2>
+
+<p>An Android TV should be simple and magical. It’s all about finding and enjoying content and
+ apps with the least amount of friction. Minimize the number of navigation steps required to
+ perform actions. Build apps with the fewest screens possible between app entry and content
+ immersion. Avoid making users enter text whenever possible, and use voice interfaces when you
+ require text input.</p>
+
+<p>
+ [add a visual]
+</p>
diff --git a/docs/html/design/tv/style.jd b/docs/html/design/tv/style.jd
new file mode 100644
index 0000000..479ed91
--- /dev/null
+++ b/docs/html/design/tv/style.jd
@@ -0,0 +1,108 @@
+page.title=Style for TV
+page.tags="design"
+@jd:body
+
+
+<p>Follow these style guidelines to create beautiful, functional apps for TV.</p>
+
+
+<h2>Layouts</h2>
+
+<p>The difference between a TV experience that feels right and one that does not greatly depends
+ on the number, spacing and size of on-screen elements. Although TV sizes and resolutions have
+ steadily increased over time, users expect TV experiences to be relatively simple and
+ uncluttered.</p>
+
+<p>The additional resolution and screen area afforded by modern displays is best used to display
+ things at better quality, rather than greater quantity. For example, use your layouts to show
+ large, beautiful pieces of content, or resize type for both easy reading and generous spacing.</p>
+
+<p>If you are creating an app for browsing and playing content, use the prebuilt fragments in the
+ Leanback support library. These layouts have been built specifically for use on TV devices with
+ the guidance of the Android User Experience team. For more information on using these classes,
+ see the <a href="{@docRoot}preview/tv/build-ui/index.html">User Interfaces</a> guide.
+</p>
+
+<p>Here are some additional recommendations for creating functional and attractive layout for TV
+ apps:</p>
+
+<ul>
+ <li><p>Build layouts designed for landscape orientation. TV screens always use in this
+ orientation.</p></li>
+ <li><p>Put on-screen navigational controls on the left or right side of the screen and
+ save the vertical space for content.</p></li>
+ <li><p>Create UIs that are divided into sections, by using Fragments and use view groups
+ like GridView instead of ListView to make better use of the horizontal screen space.</p></li>
+ <li><p>Add sufficient margins between layout controls to avoid a cluttered interface.</p></li>
+</ul>
+
+
+<h3>Screen Size</h3>
+
+<p>TV devices running Android are intended to operate at HD resolution (1920 x 1080 pixels) or
+ higher. Design your artwork assets for best viewing at this resolution.</p>
+
+
+<h3>Overscan</h3>
+
+<p>During the evolution of TV technology, overscan originally described an area of TV content
+ outside of a safe zone that most TVs could reliably display. Even on some of today’s HDTV flat
+ screens, areas outside that zone may not be visible.</p>
+
+<img src="{@docRoot}design/tv/images/overscan.png" alt="image alt text" />
+
+<p>Build a 10% margin into your TV screen designs to account for overscan area the TV may not
+ display correctly. On a 1920 x 1080 pixel screen, this margin should be a minimum of 27px from the
+ top and bottom edges and a minimum of 48px from the right and left edges of the picture.</p>
+
+
+<h2>Color</h2>
+
+<p>Color rendering on televisions can be imprecise compared to computer monitors or mobile
+ devices. LCD and Plasma TVs often apply smoothing and sharpening filters, and color rendering may
+ not match what you see on a computer screen.</p>
+
+<p>Subtle hue or brightness differences between elements may disappear or be over-emphasized on
+ TV screens. Some color gradient combinations will show bands. You should avoid pure whites and
+ highly saturated colors in large areas of the screen (especially reds, greens and blues). You
+ should also avoid using very dark or muddy colors, as TV settings may display these colors with
+ exaggerated contrast, causing them to be indistinguishable.</p>
+
+
+<h2>Typography</h2>
+
+<p>The text and controls in a TV application's UI should be easily visible and navigable from a
+ distance. The minimum recommended font size for TV is 12sp. The default text size setting should
+ be 18sp. We recommend the following guidelines for TV apps:</p>
+
+<ul>
+ <li>Browse Titles: Regular 44sp</li>
+ <li>Browse Menu Category Text: 20sp at 50% transparency</li>
+ <li>Browse Focused Menu Category Text: 24sp with no transparency</li>
+ <li>Row Category Titles focused: 20sp with no transparency</li>
+ <li>Row Category Titles focused: 20sp at 50% transparency</li>
+ <li>Details Content Titles: 34sp</li>
+ <li>Details Subtext: 14sp</li>
+</ul>
+
+<p>[visual showing text on a TV screen (sidebar position)]</p>
+
+<p>Some TVs have strong sharpness and contrast settings as their defaults. These picture
+ settings make thin and light typefaces look jagged and make the text difficult for people to read.
+ Therefore you should avoid thin or light typefaces on TV.</p>
+
+<h2>Text</h2>
+
+<p>Use text in TV apps sparingly. The position of users relative to a TV screen
+ (typically about 10 away) makes it harder for users to read text and the expectation of users in a
+ TV environment not conducive to reading. Follow these tips for the best handling of text in your
+ app:</p>
+
+<ul>
+ <li>Break text into small chunks that users can quickly scan.</li>
+ <li>Use light text on a dark background. This style is easier to read on a TV.</li>
+ <li>Avoid lightweight fonts or fonts that have both very narrow and very broad
+ strokes. Use simple sans-serif fonts and use anti-aliasing to increase readability.</li>
+ <li>Use layout-relative sizing rather than absolute sizing and density-independent
+ pixel units instead of absolute pixel units.</li>
+</ul>
\ No newline at end of file
diff --git a/docs/html/design/tv/ui-overview.jd b/docs/html/design/tv/ui-overview.jd
new file mode 100644
index 0000000..c58c9cd
--- /dev/null
+++ b/docs/html/design/tv/ui-overview.jd
@@ -0,0 +1,63 @@
+page.title=UI Overview for TV
+page.tags="design"
+@jd:body
+
+<p>The Android TV system user interface provides the launch pad for your app's big screen
+ experience. It's important to understand how your app is presented in the main user interface and
+ how your app can help users get to the content they want quickly, including contributing content
+ suggestions to the recommendations row.</p>
+
+<p>This section provides quick overview of the Android TV user interface.</p>
+
+
+<h2>Home Screen</h2>
+
+<p>The Home Screen is the start of a TV user's experience, providing search, content
+ recommendations, access to apps and settings. The Home Screen provides a rich and cinematic
+ overview of apps and content.</p>
+
+<img src="{@docRoot}design/tv/images/atv-home.png" alt="TV Home screen" />
+
+
+<h2>Search</h2>
+
+<p>By bringing the power of Google search to the big screen, Android TV makes new, dynamic
+ connections between content - a favorite movie may connect to the discovery of a new music artist,
+ planning trip to Paris might surface new YouTube content and photos.</p>
+
+<img src="{@docRoot}design/tv/images/search.png" alt="Recommendations Row" />
+
+
+<h2>Recommendations</h2>
+
+<p>The recommendation row on Android TV is a central feature of the Home Screen that allows
+ users quick access to dynamic and relevant content for their media consumption activities. The
+ stream is optimized for quick browsing of personalized content and activity resumption (on the
+ device and across devices), while also providing a way for users to act on meaningful new content.</p>
+
+<img src="{@docRoot}design/tv/images/recommendations.png" alt="Recommendations Row" />
+
+<p>
+ The recommendations are based on the user’s recent and frequent usage behaviors, as well as
+ expressed content preferences. They are presented as cards that represent a system or app action,
+ notification, activity, or piece of actionable media. Your app can provide suggestions for the
+ recommendations row to help get your content noticed. To learn more, see
+ <a href="{@docRoot}preview/tv/build-ui/recommendations.html">Recommendations</a>.
+</p>
+
+
+<h2>Apps and Games</h2>
+
+<p>Apps and Games rows both have special areas on the Home Screen. Within these respective
+ areas, Apps and Games titles are reordered to reflect the user’s recent usage.</p>
+
+<img src="{@docRoot}design/tv/images/apps-games-rows.png" alt="Apps and Games Rows" />
+
+
+<h2>Settings</h2>
+
+<p>Access to Settings is found at the bottom of the Home Screen. From here, the user can access
+ Android and device-specific settings. Please see the "Settings" section for more detailed
+ information.</p>
+
+<img src="{@docRoot}design/tv/images/settings.png" alt="Settings Row" />
diff --git a/docs/html/index.jd b/docs/html/index.jd
index a4b0683..6394b73 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -1,159 +1,83 @@
fullpage=true
page.viewport_width=970
no_footer_links=true
-carousel=true
excludeFromSuggestions=true
page.metaDescription=The official site for Android developers. Provides the Android SDK and documentation for app developers and designers.
page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3f61-WpRguHq-aNjtF7xJjMTSi79as" />
@jd:body
-
<div class="wrap">
- <!-- Slideshow -->
- <div class="slideshow-container slideshow-home col-16">
- <a href="" class="slideshow-prev">Prev</a>
- <a href="" class="slideshow-next">Next</a>
- <div class="frame">
- <ul>
- <!-- set explicit widths as needed to prevent overflow issues -->
+ <div style="margin-top:40px" class="resource-widget resource-flow-layout col-16" data-query="collection:launch/static" data-sortorder=""
+data-cardsizes="18x12,6x2, 6x2, 6x2" data-maxresults="4"></div>
+</div>
+<div style="height:30px"></div>
+
+ <div style="margin-top:600px" class="actions-bar">
+ <div class="wrap">
+ <div class="actions">
+ <div><a href="http://developer.android.com/sdk/index.html">Download SDK</a></div>
+ <div><a href="http://developer.android.com/about/start.html">Get Started</a></div>
+ <div><a href="http://developer.android.com/samples/index.html">Sample Code</a></div>
+ <div><a href="http://developer.android.com/design/videos/index.html">Videos</a></div>
+ <div><a href="https://developer.android.com/distribute/googleplay/developer-console.html">Developer Console</a></div>
+ </div><!-- end .actions -->
+ </div><!-- end .wrap -->
+ </div><!-- end .actions-bar -->
- <li class="item carousel-home">
- <div class="content-left col-10" style="width:580px;">
- <a href="{@docRoot}wear/index.html">
- <img src="{@docRoot}images/home/aw_dac.png" style="margin-top:50px" >
- </a>
- </div>
- <div class="content-right col-5" style="width:280px;">
- <h1>Introducing Android Wear</h1>
- <p>We’re extending the Android platform to wearables. You can start building richer wearable experiences for your apps today using the enhanced Notification APIs in this Developer Preview.</p>
- <p>We can’t wait to see what you will create.</p>
- <p><a href="{@docRoot}wear/index.html" class="button">Learn more</a></p>
- </div>
- </li>
-
-
- <li class="item carousel-home">
- <div class="content-left col-11" style="padding-top:65px;">
- <script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
- <div style="box-shadow: 3px 10px 18px 1px #999;width:600px;height:336px">
- <div id="ytapiplayer">
- <a href="http://www.youtube.com/watch?v=WWArLD6nqrk"><img width=600 src="{@docRoot}images/video-kiwi.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
- </div>
- <script type="text/javascript">
- var params = { allowScriptAccess: "always" };
- var atts = { id: "ytapiplayer" };
- swfobject.embedSWF("//www.youtube.com/v/WWArLD6nqrk?enablejsapi=1&playerapiid=ytplayer&version=3&HD=1;rel=0;showinfo=0;modestbranding;origin=developer.android.com;autohide=1",
- "ytapiplayer", "600", "336", "8", null, null, params, atts);
-
- // Callback used to pause/resume carousel based on video state
- function onytplayerStateChange(newState) {
- var isPaused = $("#pauseButton").hasClass("paused");
- if ((newState == 1) || (newState == 3)) {
- // if playing or buffering, pause the carousel
- if (!isPaused) {
- $("#pauseButton").click();
- }
- } else {
- // otherwise, make sure carousel is running
- if (isPaused) {
- $("#pauseButton").click();
- }
- }
- }
-
- // Callback received when YouTube player loads to setup callback (above)
- function onYouTubePlayerReady(playerId) {
- var ytplayer = document.getElementById("ytapiplayer");
- ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
- }
-
- </script>
- </div>
- </div>
- <div class="content-right col-4">
- <h1 style="white-space:nowrap;line-height:1.2em;">Developer Story: <br />Kiwi, Inc.</h1>
- <p>Game developer Kiwi has had five titles in the top 25 grossing on Google Play. Hear how Google Play
- has helped them double revenue every six months.</p>
- <p><a href="{@docRoot}distribute/stories/index.html" class="button">Watch more videos </a></p>
- </div>
- </li>
-
- <li class="item carousel-home">
- <div class="content-left col-7" style="width:400px;">
- <a href="{@docRoot}about/versions/kitkat.html">
- <img src="{@docRoot}images/home/kk-hero.jpg" width="242" style="padding-top:72px;">
- </a>
- </div>
- <div class="content-right col-4" style="width:340px;">
- <h1>Android 4.4 KitKat!</h1>
- <p>A new version of Android is here, with great new features, APIs, and tools for developers.</p>
- <p>Android 4.4 is built to run on more devices than ever before, and gives you more ways to showcase your content and create beautiful, useful, and innovative apps.</p>
- <p>Learn about what's new in the Platform Highlights and see the API Overview for details.</p>
- <p><a href="{@docRoot}about/versions/kitkat.html" class="button">Check out the highlights</a></p>
- </div>
- </li>
-
- <li class="item carousel-home">
- <div class="content-left col-11" style="padding-top:65px;">
- <a href="https://www.youtube.com/watch?v=sONcojECWXs&list=PLWz5rJ2EKKc-2quE-o0enpILZF3nBZg_K&index=1">
- <img src="{@docRoot}images/title-devbytes-kk.jpg" style="margin-top:0px;width:600px;">
- </a>
- </div>
- <div class="content-right col-4">
- <h1 style="white-space:nowrap;line-height:1.2em;">DevBytes: <br />Android 4.4</h1>
- <p>Join the DevBytes team for a look at what's new in Android 4.4 KitKat — new ways to make your apps beautiful, printing, storage access framework, and more.</p>
- <p><a href="https://www.youtube.com/watch?v=sONcojECWXs&list=PLWz5rJ2EKKc-2quE-o0enpILZF3nBZg_K&index=1" class="button">Watch the video </a></p>
- </div>
- </li>
-
- <li class="item carousel-home">
- <div class="content-left col-19" style="width:580px;">
- <a href="{@docRoot}design/patterns/new.html">
- <img src="{@docRoot}design/media/design_elements_landing.png" style="margin-top:30px">
- </a>
- </div>
- <div class="content-right col-4" style="width:280px;">
- <h1>Design for Android KitKat</h1>
- <p>Android KitKat brings a refreshed UI with updated styles, patterns, and gestures to use in your apps. </p>
- <p>We've updated the Android Design guidelines and added new pages on branding, fullscreen, and more. </p>
- <p><a href="{@docRoot}design/patterns/new.html" class="button">See what's new</a></p>
- </div>
- </li>
-
- <li class="item carousel-home">
- <div class="content-left col-11" style="padding-top:65px;">
- <a href="http://www.youtube.com/watch?v=6QHkv-bSlds&list=PLWz5rJ2EKKc8j2B95zGMb8muZvrIy-wcF&index=1">
- <img src="{@docRoot}images/title-adia-kk.png" style="margin-top:0px;width:600px;">
- </a>
- </div>
- <div class="content-right col-4">
- <h1 style="white-space:nowrap;line-height:1.2em;">ADIA: <br />Android 4.4</h1>
- </p>Join the Android Design in Action team for a walkthrough of new developer features, UX changes, and updates to design guidelines in Android 4.4.</p>
- <p><a href="http://www.youtube.com/watch?v=6QHkv-bSlds&list=PLWz5rJ2EKKc8j2B95zGMb8muZvrIy-wcF&index=1" class="button">Watch the video </a></p>
- </div>
- </li>
- </ul>
+<div class="landing-rest-of-page">
+ <div class="landing-section" style="background-color:#f5f5f5">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">Android, Everywhere You Need It</div>
+ <div class="landing-subhead">
+ Android runs on hundreds of millions of handheld devices around the world, <br /> and it now supports these exciting, new form-factors.
</div>
- </div>
+ </div>
-<!-- /End slideshow -->
+ <div class="landing-body">
+ <div class="landing-breakout cols">
- <a href="" id="pauseButton" style="display:none">pause</a>
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+ <p>Wear</p>
+ <p class="landing-small">
+ Provide information on-the-go for your users, whenever they need it.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}wear">Learn about Android Wear</a>
+ </p>
+ </div>
-</div>
-<div class="wrap" style="padding-bottom:20px">
- <!-- Section links -->
- <div class="home-sections">
- <ul>
- <li><a href="{@docRoot}about/index.html">About Android</a></li>
- <li><a href="{@docRoot}sdk/index.html">Get the SDK</a></li>
- <li><a href="http://source.android.com">Open Source</a></li>
- <li><a href="{@docRoot}support.html">Support</a></li>
- <li class="last"><a href="{@docRoot}legal.html">Legal</a></li>
- </ul>
- </div>
- <!-- /Section links -->
-</div>
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>TV</p>
+ <p class="landing-small">
+ Build your apps for the big screen and bring your content to life.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}tv">Learn about Android TV</a>
+ </p>
+ </div>
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Auto</p>
+ <p class="landing-small">
+ Extend your music apps to automobile
+ entertainment systems.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}auto">Learn about Android Auto</a>
+ </p>
+ </div>
+
+ </div>
+ </div>
+
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
\ No newline at end of file
diff --git a/docs/html/preview/api-overview.jd b/docs/html/preview/api-overview.jd
new file mode 100644
index 0000000..441793a
--- /dev/null
+++ b/docs/html/preview/api-overview.jd
@@ -0,0 +1,699 @@
+page.title=L Developer Preview APIs
+excludeFromSuggestions=true
+sdk.platform.apiLevel=20
+@jd:body
+
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document
+ <a href="#" onclick="hideNestedItems('#toc44',this);return false;" class="header-toggle">
+ <span class="more">show more</span>
+ <span class="less" style="display:none">show less</span></a></h2>
+
+<ol id="toc44" class="hide-nested">
+ <li><a href="#Behaviors">Important Behavior Changes</a>
+ <ol>
+ <li><a href="#BehaviorNotifications">If your app implements notifications...</a></li>
+ <li><a href="#BehaviorFullscreen">If your app uses fullScreenIntent...</a></li>
+ <li><a href="#BehaviorGetRecentTasks">If your app uses ActivityManager.getRecentTasks()...</a></li>
+ </ol>
+ </li>
+ <li><a href="#UI">User Interface</a>
+ <ol>
+ <li><a href="#MaterialDesign">Material design support</a></li>
+ <li><a href="#LockscreenNotifications">Lockscreen notifications</a></li>
+ <li><a href="#NotificationsMetadata">Notifications metadata</a></li>
+ <li><a href="#Recents">Concurrent documents and activities in Recents screen</a></li>
+ <li><a href="#WebView">WebView updates</a></li>
+ </ol>
+ </li>
+ <li><a href="#UserInput">User Input</a>
+ <ol>
+ <li><a href="#IME">IME bug fixes and improvements</a></li>
+ </ol>
+ </li>
+ <li><a href="#Animations">Animation & Graphics</a>
+ <ol>
+ <li><a href="#OpenGLES-3-1">Support for OpenGL ES 3.1</a></li>
+ </ol>
+ </li>
+ <li><a href="#Multimedia">Multimedia</a>
+ <ol>
+ <li><a href="#Camera-v2">Camera V2</a></li>
+ <li><a href="#AudioPlayback">Audio playback</a></li>
+ <li><a href="#MediaPlaybackControl">Media playback control</a></li>
+ </ol>
+ </li>
+ <li><a href="#Storage">Storage</a>
+ <ol>
+ <li><a href="#DirectorySelection">Directory selection</a></li>
+ </ol>
+ </li>
+ <li><a href="#Wireless">Wireless and Connectivity</a>
+ <ol>
+ <li><a href="#Multinetwork">Dynamic network selection and seamless handoff</a></li>
+ <li><a href="#BluetoothBroadcasting">Bluetooth broadcasting</a></li>
+ <li><a href="#NFCEnhancements">NFC enhancements for payments</a></li>
+ </ol>
+ </li>
+ <li><a href="#Power">Power Efficiency</a>
+ <ol>
+ <li><a href="#JobScheduler">Scheduling Jobs</a></li>
+ <li><a href="#PowerMeasurementTools">Developer tools and APIs for power measurement</a>
+ </ol>
+ </li>
+ <li><a href="#Enterprise">Enterprise</a>
+ <ol>
+ <li><a href="#ManagedProvisioning">Managed provisioning</a></li>
+ </ol>
+ </li>
+ <li><a href="#Printing">Printing Framework</a>
+ <ol>
+ <li><a href="#PDFRender">PDF rendering</a></li>
+ </ol>
+ </li>
+ <li><a href="#TestingA11y">Testing & Accessibility</a>
+ <ol>
+ <li><a href="#TestingA11yImprovements">Testing and accessibility improvements</a></li>
+ </ol>
+ </li>
+ <li><a href="#Manifest">Manifest Declarations</a>
+ <ol>
+ <li><a href="#ManifestFeatures">Declarable required features</a></li>
+ <li><a href="#ManifestPermissions">User permissions</a></li>
+ </ol>
+ </li>
+</ol>
+
+<h2>See also</h2>
+<ol>
+<li><a href="{@docRoot}sdk/api_diff/20/changes.html">API
+Differences Report »</a> </li>
+</ol>
+
+</div>
+</div>
+
+<p>L is an upcoming release for the Android platform
+that offers new features for users and app developers. This document provides
+an introduction to the most notable new APIs.</p>
+
+<p>L is currently available as a <strong>developer preview</strong> intended
+for early adopters and testers. If you are interested in influencing the
+direction of the Android framework,
+<a href="{@docRoot}preview/setup-sdk.html">give the L Developer Preview a
+try</a> and send us your feedback!</p>
+
+<p class="caution"><strong>Caution:</strong>You should not publish apps
+using L Developer Preview to the Google Play store.</p>
+
+<h2 id="Behaviors">Important Behavior Changes</h2>
+
+<p>If you have previously published an app for Android, be aware that your app
+ might be affected by changes in L.</p>
+
+<h3 id="BehaviorNotifications">If your app implements notifications...</h3>
+
+<p>Notifications will be drawn with dark text atop white (or very light)
+backgrounds to match the new material design widgets. Make sure that all your
+notifications look right with the new color scheme. You should remove or update
+assets and text styles that involve color. The system will automatically invert
+action icons in notifications. Use
+{@code android.app.Notification.Builder.setColor()} to set an accent color
+in a circle behind your {@code Notification.icon} image.</p>
+
+<p>The system will ignore all non-alpha channels in action icons and the main
+notification icon, so you should assume that these icons will be alpha-only.
+</p>
+
+<p>If you are currently adding sounds and vibrations to your notifications by
+using the {@link android.media.Ringtone}, {@link android.media.MediaPlayer},
+or {@link android.os.Vibrator} classes, make sure to remove this code so that
+the system can present notifications correctly in Do not disturb mode. You
+should use the {@link android.app.Notification.Builder} methods instead to add
+sounds and vibration.
+</p>
+
+<h3 id="BehaviorMediaControl">If your app uses RemoteControlClient...</h3>
+
+<p>Lockscreens in L will not show transport controls for your
+{@link android.media.RemoteControlClient}. Instead, your app can provide
+media playback control from the lockscreen through a media notification. This
+gives your app more control over the presentation of media buttons, while
+providing a consistent experience for users across the lockscreen and
+the unlocked device.</p>
+
+<p>You must call {@code Notification.Builder.setVisibility(Notification.VISIBILITY_PUBLIC)} to mark your media notification as safe to reveal, even when the lockscreen is secured
+with a PIN, pattern, or password.</p>
+
+<h3 id="BehaviorFullscreen">If your app uses fullScreenIntent...</h3>
+
+<p>Notifications now appear in a small floating window if all these conditions
+are met: the user’s activity is in fullscreen mode, the screen is on, and the
+device is unlocked. If your app implements fullscreen activities, make sure that
+these heads-up notifications are presented correctly.</p>
+
+<h3 id="BehaviorGetRecentTasks">If your app uses ActivityManager.getRecentTasks()...</h3>
+
+<p>With the introduction of the new document tasks feature in L (see below),
+the {@code android.app.ActivityManager.getRecentTasks()} method is now
+deprecated to improve user privacy. For backwards
+compatibility, it will still return a small subset of its data including the
+calling application’s own tasks and possibly some other non-sensitive tasks
+such as home. If your app is using this method to retrieve its own tasks,
+use {@code android.app.ActivityManager.getAppTasks()} instead to retrieve that
+information.</p>
+
+<h2 id="UI">User Interface</h2>
+
+<h3 id="MaterialDesign">Material design support</h3>
+
+<p>L adds support for the material design style. You can create
+material design apps that are visually dynamic and have UI element transitions
+which feel natural and delightful to users. This support includes:</p>
+<ul>
+ <li>Material design theme
+ <li>View shadows
+ <li>{@code RecyclerView} widget
+ <li>Drawable animation and styling effects
+ <li>Material design animation and activity transitions effects
+ <li>Ability to define animators to run on the view, with
+{@code android.animation.StateListAnimator}.
+ <li>Ability to change your status bar color to match the action bar and other
+UI elements with {@code android.view.Window.setStatusBarColor()}.
+</ul>
+<p>To learn more about adding material design functionality to your app, see
+<a href="{@docRoot}preview/quantum/index.html">Material design on Android</a>.</p>
+
+<h3 id="LockscreenNotifications">Lockscreen notifications</h3>
+<p>Lockscreens in L Developer Preview have the ability to present notifications.
+User can choose via <em>Settings</em> whether to allow sensitive notification
+content to be shown over a secure lockscreen.</p>
+
+<p>Your app can control the level of detail visible when its notifications are
+displayed over the secure lockscreen.To control the visibility level, call
+{@code android.app.Notification.Builder.setVisibility()} and specify one of these
+values:</p>
+<ul>
+<li>{@code VISIBILITY_PRIVATE}. Shows basic information, such as the
+notification’s icon, but hides the notification’s full content. If you want to
+provide a redacted public version of your notification for the system to display
+on a secure lockscreen, set the public notification object in the publicVersion
+field.
+<li>{@code VISIBILITY_PUBLIC}. Shows the notification’s full content. This is
+ the system default if visibility is left unspecified.
+<li>{@code VISIBILITY_SECRET}. Shows only the most minimal information,
+excluding even the notification’s icon.
+</ul>
+
+<h3 id="NotificationsMetadata">Notifications metadata</h3>
+<p>The L Developer Preview uses metadata associated with your app notifications
+to more intelligently sort your notifications. The metadata you set also
+controls how the system presents your app notifications when the user is in Do
+not disturb mode. When constructing your notification, you can call the
+following methods in {@code android.app.Notification.Builder}:</p>
+
+<ul>
+<li>{@code setCategory()}. Allows the system to handle your app notifications
+in Do not disturb mode (for example, if your notification represents an
+incoming call, instant message, or alarm).
+<li>{@code setPriority()}. Notifications with the priority field set to
+{@code PRIORITY_MAX} or {@code PRIORITY_HIGH} will appear in a small floating
+window if the notification also has sound or vibration.
+<li>{@code addPerson()}. Allows you to add a list of people to a notification.
+Your app can use this to signal to the system that it should group together
+notifications from the specified people, or rank notifications from these
+people as being more important.
+</ul>
+
+<h3 id="Recents">Concurrent documents and activities in Recents screen</h3>
+
+<p>In previous releases, the
+<a href="{@docRoot}design/get-started/ui-overview.html">Recents screen</a>
+could only display a single task for each app that the user interacted with
+most recently. The L Developer Preview allows your app to open additional tasks
+for concurrent activities or documents. This feature facilitates multitasking
+by letting users quickly switch between individual activities and documents
+from the Recents screen. Examples of such concurrent tasks might include web
+pages in a browser app, documents in a productivity app, concurrent matches in
+a game, or chats in a messaging app. Your app can manage its tasks
+through the {@code android.app.ActivityManager.AppTask} class.</p>
+
+<p>To insert a logical break so that the system treats your activity as a new
+document, use {@code android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT} when
+launching the activity with {@link android.app.Activity#startActivity(android.content.Intent) startActivity()}. You can also get this behavior by declaring the
+<a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a>
+attribute {@code documentLaunchMode="intoExisting"} or {@code ="always"} in your
+manifest.</p>
+
+<p>You can also mark that a task should be removed from the Recents screen
+when all its activities are closed by using {@code android.content.Intent.FLAG_ACTIVITY_AUTO_REMOVE_FROM_RECENTS} when starting the root activity for
+the task. You can also set this behavior for an activity by declaring the
+<a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a>
+attribute {@code autoRemoveFromRecents=“true”} in your manifest.</p>
+
+<p>To avoid cluttering the Recents screen, you can set the maximum number of
+tasks from your app that can appear in the Recents screen through the
+<a href="{@docRoot}guide/topics/manifest/application-element.html"><application></a> attribute {@code android:maxRecent}. The current maximum that can be specified
+is 100 tasks per user.</a></p>
+
+<h3 id="WebView">WebView updates</h3>
+<p>The L Developer Preview updates the {@link android.webkit.WebView}
+implementation to Chromium M36, bringing security and stability enhancements,
+as well as bug fixes. The default user-agent string for a
+{@link android.webkit.WebView} running on the L Developer Preview has
+been updated to incorporate 36.0.0.0 as the version number.</p>
+
+<p>Additionally, this release brings support for the
+<a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html">WebAudio</a>, <a href="https://www.khronos.org/webgl/">WebGL</a>, and
+<a href="http://www.webrtc.org/">WebRTC</a> open standards. To learn more about
+the new features included in this release, see <a href="https://developer.chrome.com/multidevice/webview/overview">WebView for Android</a>.</p>
+
+<h2 id="UserInput">User Input</h2>
+
+<h3 id="IME">IME bug fixes and improvements</h3>
+
+<p>Beginning in the L Developer Preview, users can more easily switch between
+all input method editors (IME) <a href="{@docRoot}guide/topics/text/creating-input-method.html">supported by the platform</a>. Performing the designated
+switching action (usually touching a Globe icon on the soft keyboard) will cycle
+among all such IMEs. This change takes place in
+{@code android.view.inputmethod.InputMethodManager.shouldOfferSwitchingToNextInputMethod()}.</p>
+
+<p>In addition, the framework will now check whether the next IME includes a
+switching mechanism at all, thus supporting switching to the IME after it. An
+IME with a switching mechanism will not cycle to an IME without one. This
+change takes place in
+{@code android.view.inputmethod.InputMethodManager.switchToNextInputMethod()}.
+
+<p>To see an example of how to use the updated IME-switching APIs, refer to the
+updated soft-keyboard implementation sample in this release.</p>
+
+<h2 id="Animations">Animation & Graphics</h2>
+
+<h3 id="OpenGLES-3-1">Support for OpenGL ES 3.1</h3>
+<p>The L Developer Preview adds Java interfaces and native support for OpenGL
+ES 3.1. Key new functionality provided in OpenGL ES 3.1 includes:</p>
+
+<ul>
+<li>Compute shaders
+<li>Separate shader objects
+<li>Indirect draw commands
+<li>Enhanced texturing functionality
+<li>Shading language improvements
+<li>Optional extensions for per-sample shading, advanced blending modes, and more
+<li>Backward compatibility with OpenGL ES 2.0 and 3.0
+</ul>
+
+<p>The Java interface for OpenGL ES 3.1 on Android is provided with GLES31. When using OpenGL ES 3.1, be sure that you declare it in your manifest file with the
+<a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a> tag and the {@code android:glEsVversion} attribute. For example:</p>
+
+<pre>
+<manifest>
+ <uses-feature android:glEsVersion="0x00030001" />
+ ...
+</manifest>
+</pre>
+
+<p>For more information about using OpenGL ES, including how to check the device’s supported OpenGL ES version at runtime, see the <a href="{@docRoot}/guide/topics/graphics/opengl.html">OpenGL ES API guide</a>.</p>
+
+<h2 id="Multimedia">Multimedia</h2>
+
+<h3 id="Camera=v2">Camera v2 API</h3>
+
+<p>The L Developer Preview introduces the new {@code android.hardware.camera2}
+API to facilitate fine grain photo capture and image processing. You can now programmatically access the camera devices available to the system with {@code CameraManager.getCameraIdList()} and connect to a specific device with {@code CameraManager.openCamera()}. To start capturing images, you
+need to create a {@code CameraCaptureSession} and specify the
+{@link android.view.Surface} objects to send the captured images. The {@code CameraCaptureSession} can be configured to take single shots or multiple images
+in a burst.</p>
+
+<p>To be notified when new images are captured, implement the
+{@code CameraCaptureSession.CaptureListener()} interface and set it in your
+capture request. Now when the system completes the image capture request, your
+{@code CameraCaptureSession.CaptureListener()} receives a call to
+{@code onCaptureCompleted()}, providing you with the image capture metadata in a
+{@code CaptureResult}.</p>
+
+<h3 id="AudioPlayback">Audio playback</h3>
+<p>This release includes the following changes for
+ {@code android.media.AudioTrack}:</p>
+<ul>
+ <li>Your app can now supply audio data in floating-point format
+({@code android.media.AudioFormat.ENCODING_PCM_FLOAT}). This permits greater
+dynamic range, more consistent precision, and greater headroom. Floating-point arithmetic is especially useful during intermediate calculations. Playback
+end-points use integer format for audio data, and with lower bit-depth. In L
+Developer Preview, portions of the internal pipeline are not yet floating-point.
+ <li>Your app can now supply audio data as a {@code ByteBuffer}, in the same
+format as provided by {@code MediaCodec}.
+ <li>The {@code WRITE_NON_BLOCKING} option can simplify buffering and
+ multithreading for some apps.
+</ul>
+
+<h3 id="MediaPlaybackControl">Media playback control</h3>
+<p>You can now build your own media controller app with the new
+{@code android.media.session.MediaController} class, which provides
+simplified transport controls APIs that replace those in
+{@code android.media.RemoteControlClient}. The {@code MediaController} class
+allows thread-safe control of playback from a non UI process, making it easier
+to control your media playback service from your app’s user interface.
+
+<p>You can also create multiple controllers to send playback commands,
+media keys, and other events to the same ongoing
+{@code android.media.session.MediaSession}. When you add a controller, you must
+call {@code MediaSession.getSessionToken()} to request an access
+token in order for your app to interact with the session.</p>
+
+<p>Send transport commands such as "play", "stop", "skip", and
+"set rating" by using {@code MediaController.TransportControls}. To handle
+in-bound media transport commands from controllers attached to the session, you
+should override the callback methods in
+{@code MediaSession.TransportControlsCallback}.</p>
+
+<p>You can also create rich notifications that allow playback control tied to a
+media session with the new {@code android.app.Notification.MediaStyle} class.</p>
+
+<h2 id="Storage">Storage</h2>
+
+<h3 id="DirectorySelection">Directory selection</h3>
+
+<p>The L Developer Preview extends the <a href="{@docRoot}guide/topics/providers/document-provider.html">Storage Access Framework</a> to let users
+select an entire directory, rather than individual files, to give your app
+read/write access to media files. When a directory is selected, your app also
+has access to all its child directories and content.</p>
+
+<p>To get the absolute paths to directories on external storage devices where
+applications can store media files, call the
+{@code android.content.Context.getExternalMediaDirs()} method. No additional
+permissions are needed by your app to read or write to the returned paths.
+External storage devices here are those considered by the system to be a
+permanent part of the device, and includes emulated external storage and
+physical media slots such as SD cards in battery compartments.</p>
+
+<p>If you want to access a document in an existing directory, call the
+{@code android.provider.DocumentsContract.buildDocumentViaUri()} method and pass
+in a Uri representing the path to the parent directory and the target document
+ID. The method returns a new {@link android.net.Uri} with which your app can
+use to write media content with {@code DocumentsContract.createDocument()}.
+
+<h2 id="Wireless">Wireless & Connectivity</h2>
+
+<h3 id="Multinetwork">Dynamic network selection and seamless handoff</h3>
+<p>The L Developer Preview provides new multi-networking APIs for your app to
+dynamically scan for available networks with specific capabilities, and
+establish a connection to them. This is useful when your app requires a
+specialized network, such as an SUPL, MMS, or carrier-billing network, or if
+you want to send data using a particular type of transport protocol.</p>
+
+<p>To select and connect to a network dynamically from your app, first
+instantiate a {@code android.net.ConnectivityManager}. Next, create a
+{@code android.net.NetworkRequest} to specify the network features and transport
+type your app is interested in. To start scanning for suitable networks, call
+{@code ConnectivityManager.requestNetwork()} or
+{@code ConnectivityManager.registerNetworkCallback(), and pass in the
+{@code NetworkRequest} object and an implementation of
+{@code ConnectivityManager.NetworkCallbackListener}.</p>
+
+<p>When the system detects a suitable network, it connects to the network and
+invokes the {@code NetworkCallbackListener.onAvailable()} callback. You can use
+the {@code android.net.Network} object from the callback to get additional
+information about the network, or to establish a socket connection.</p>
+
+<h3 id="BluetoothBroadcasting">Bluetooth broadcasting</h3>
+<p>Android 4.3 introduced platform support for <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">Bluetooth Low Energy</a>
+(BLE) in the central role. In the L Developer Preview, an Android device can now
+act as a Bluetooth LE <em>peripheral device</em> and make its presence known to
+nearby devices. For instance, you can build apps that allow a device to
+function as a pedometer or health monitor and communicate its data with another
+BLE device.</p>
+
+<p>The new {@code android.bluetooth.le} APIs enable your apps to broadcast advertisements, scan for responses, and form connections with nearby BLE devices.
+You must add the {@code android.permission.BLUETOOTH_ADMIN} permission in your
+manifest in order for your app to use the new advertising and scanning features.</a>
+
+<p>To begin Bluetooth LE advertising so that other devices can discover the
+device running your app, call {@code android.bluetooth.le.BluetoothAdvertiser.startAdvisertising()} and pass in an implementation of the
+{@code android.bluetooth.le.AdvertiseCallback} class to report the success
+or failure of the advertising operation.</p>
+
+<p>Conversely, if you want to scan for Bluetooth LE devices nearby, call
+{@code android.bluetooth.le.BluetoothLeScanner.startScan()} and pass in an
+implementation of {@code android.bluetooth.le.ScanCallback} to report if a
+Bluetooth LE advertisement is found. Optionally, you can pass in filters to scan
+for a specific type of device.</p>
+
+<h3 id="NFCEnhancements">NFC enhancements</h3>
+<p>The L Developer Preview adds these enhancements to enable wider and more
+flexible use of NFC:</p>
+
+<ul>
+<li>Android Beam is now available in the share menu.
+<li>Your app can invoke the Android Beam on the user’s device to share data by
+calling {@code android.nfc.NfcAdapter.invokeBeam()}. This avoids the need for
+the user to manually tap the device against another NFC-capable device to
+complete the data transfer.
+<li>Use the new {@code android.nfc.NdefRecord.createTextRecord()} method if
+ you want to create an NDEF record containing UTF-8 text data.
+<li>If you are developing a payment app, you now have the ability to
+register an NFC application ID (AID) dynamically by calling
+{@code android.nfc.cardemulation.CardEmulation.registerAidsForService()}.
+You can also use {@code android.nfc.cardemulation.CardEmulation.setPreferredService()}
+to set the preferred card emulation service that should be used when a specific
+activity is in the foreground.
+</ul>
+
+<h2 id="Power">Power Efficiency</h2>
+
+<h3 id="JobScheduler">Scheduling jobs</h3>
+<p>The L Developer Preview provides a new {@code android.app.job.JobScheduler}
+API that lets you define jobs for the system to run asynchronously at a later
+time that optimizes battery life, such as when the device is charging. This is
+useful when you want to defer non user-facing units of work, have application
+code that accesses the network, or want to run a number of tasks as a batch on
+a regular schedule.</p>
+
+<p>A {@code android.app.job.JobInfo} object encapsulates such a unit of work,
+and provides an exact description of the criteria you are scheduling.</p>
+
+<p>Use the {@code android.app.job.JobInfo.Builder} to configure how the
+scheduled task should run. You can schedule the task to run under specific
+conditions such as only while the device is charging, when connected to an
+unmetered network, or when the system deems the device is idle.</p>
+
+<p>For example, you can add code like this to run your task on an
+unmetered network:</p>
+
+<pre>
+JobInfo uploadTask = new JobInfo.Builder(mJobId, mServiceComponent)
+ .setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED)
+ .build();
+
+JobScheduler jobScheduler =
+ (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE)
+jobScheduler.schedule(uploadTask);
+</pre>
+
+<h3 id="PowerMeasurementTools">Developer tools and APIs for power measurement</h3>
+<p>The L Developer Preview provides several new developer tools and APIs to help
+you better measure and understand your app's power usage.</p>
+
+<dl>
+<dt><strong>batterystats</strong></dt>
+<dd>
+<p>The {@code dumpsys batterystats} command allows you to generate interesting
+statistical data about battery usage on a device, organized by unique user ID
+(UID). The statistics generated by the tool include:</p>
+
+<ul>
+<li>History of battery related events
+<li>Global statistics for the device
+<li>Approximated power use per UID and system component
+<li>Per-app mobile ms per packet
+<li>System UID aggregated statistics
+<li>App UID aggregated statistics
+</ul>
+
+<p>Use the {@code --help} option to learn about the various options that you
+can apply for tailoring the output. For example, to run the tool to print
+battery usage statistics since the device was last charged for a given app
+package, run this command:
+<pre>
+$ adb shell dumpsys batterystats --charged <package-name>
+</pre>
+</dd>
+
+<dt><strong>Battery Historian</strong></dt>
+<dd>
+<p>The Battery Historian tool ({@code historian.par}) analyzes L-based Android
+bug reports and creates an HTML visualization of power-related events. It can
+also visualize power consumption data from a power monitor, and will attempt to
+map power usage to the wakelocks seen. You can find the Battery Historian tool
+in {@code <sdk>/tools}.</p>
+
+<p>For best results, you should first enable full wakelock reporting to allow
+the Battery Historian tool to monitor uninterrupted over an extended period of
+time:</p>
+<pre>
+$ adb shell dumpsys batterystats --enable full-wake-history
+</pre>
+
+<p>You should also reset battery statistics at the beginning of a
+measurement:</p>
+<pre>
+$ adb shell dumpsys batterystats --reset
+</pre>
+
+<p>To generate an HTML visualization:</p>
+<pre>
+$ historian.par [-p powerfile] bugreport.txt > out.html
+</pre>
+</dd>
+
+<dt><strong>On-device power management</strong></dt>
+<dd>
+<p>You can use the {@code android.os.BatteryManager} API to obtain power
+consumption information based on the battery fuel gauge included in Android
+phones and tablets. This is useful in cases when it is not convenient to
+connect external measurement equipment to the Android device.</p>
+<p>To retrieve the battery properties, call {@code BatteryManager.getIntProperty()}
+or {@code BatteryManager.getLongProperty()}. The properties available, the
+exact resolution of the values of each, and other characteristics such as
+update frequency depend on the particular device being tested.</p>
+
+<p>The following properties can be inspected on all Android devices:</p>
+
+<table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>{@code BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER}</td>
+ <td>Remaining battery capacity in microampere-hours.</td>
+ </tr>
+ <tr>
+ <td>{@code BatteryManager.BATTERY_PROPERTY_CURRENT_NOW}</td>
+ <td>Instantaneous battery current in microamperes.</td>
+ </tr>
+ <tr>
+ <td>{@code BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE}</td>
+ <td>Average battery current in microamperes</td>
+ </tr>
+ <tr>
+ <td>{@code BatteryManager.BATTERY_PROPERTY_CAPACITY}</td>
+ <td>Remaining battery capacity as an integer percentage.</td>
+ </tr>
+ <tr>
+ <td>{@code BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER}</td>
+ <td>Remaining energy in nanowatt-hours.</td>
+ </tr>
+</table>
+<dd>
+</dl>
+
+<h2 id="Enterprise">Enterprise</h2>
+<h3 id="ManagedProvisioning">Managed provisioning</h3>
+
+<p>The L Developer Preview provides new functionality for running apps within
+an enterprise environment:</p>
+<ul>
+<li><strong>Create managed user profiles</strong>. A device administrator can
+initiate a managed provisioning process to enroll a user device with an
+existing personal account into a co-present but separate managed profile that
+the administrator controls.
+<li><strong>Set device owner scope</strong>. Device administrators can also
+apply managed provisioning to configure a device that has no previous user
+accounts installed, so that they have full control over the device.
+</ul>
+
+<p>To start the manged provisioning process, send
+{@code ACTION_PROVISION_MANAGED_PROFILE} in an {@link android.content.Intent}. A
+user may be associated with more than one managed profile. To get a list of the
+managed profiles associated with the user, call
+{@code android.os.UserManager.getUserProfiles()}.</p>
+
+<p>Once a managed profile is created for a user, apps that are managed by the
+device administrator will appear alongside non-managed apps in the user’s
+Launcher, Recent apps screen, and notifications. A device policy management app
+can make the managed apps visually prominent by appending a “work” badge to the
+icon drawable with {@code android.os.UserManager.getBadgeDrawableForUser()}.</p>
+
+<p>If you are developing a Launcher app, you can use the new {@code android.content.pm.LauncherApps} class to get a list of launchable activities for the current user
+and any associated managed profiles.</p>
+
+<h2 id="Printing">Printing Framework</h2>
+
+<h3 id="PDFRender">Render PDF as bitmap</h3>
+<p>You can now render PDF document pages into bitmap images for printing by
+using the new {@code android.graphics.pdf.PdfRenderer} class. You must specify a
+{@code ParcelFileDescriptor} that is seekable (that is, the file can be randomly
+accessed) on which the system writes the the printable content. Your app can
+obtain a page for rendering with {@code openPage()}, then call {@code render()}
+to turn the opened {@code PdfRenderer.Page} into a bitmap. You can also set
+additional parameters if you only wan to convert a portion of the document into
+a bitmap image (for example, to implement <a href="http://en.wikipedia.org/wiki/Tiled_rendering">tile rendering</a> in order to zoom in on the document).</p>
+
+<h2 id="TestingA11y">Testing & Accessibility </h2>
+
+<h3 id="Testing A11yImprovements">Testing and accessibility improvements</h3>
+<p>The L Developer Preview adds the following support for testing and
+accessibility:</p>
+
+<ul>
+<li>You can use the new {@code android.app.UiAutomation.getWindowAnimationFrameStats()}
+and {@code android.app.UiAutomation.getWindowContentFrameStats()} methods to
+capture frame statistics for window animations and content. This lets you
+write instrumentation tests to evaluate if the app under test is rendering
+frames at a sufficient refresh frequency to provide a smooth user experience.
+<li>You can execute shell commands from your instrumentation test with the new
+{@code android.app.UiAutomation.executeShellCommand()}. The command execution
+is similar to running 'adb shell' from a host connected to the device. This
+allows you to use shell based tools such as {@code dumpsys}, {@code am},
+{@code content}, and {@code pm}.
+<li>Accessibility services and test tools that use the accessibility APIs
+(such as <a href="{@docRoot}tools/help/uiautomator/index.html">UiAutomator</a>)
+can now retrieve detailed information about the properties of windows on the
+screen that sighted users can interact with. To retrieve a list of
+{@code android.view.accessibility.AccessibilityWindowInfo} representing the
+windows information, call the new
+{@code android.accessibilityservice.AccessibilityService.getWindows()} method.
+<li>You can use the new {@code android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction} to define standard or customized
+actions to perform on an {@code android.view.accessibility.AccessibilityNodeInfo}.
+The new {@code AccessibilityAction} class replaces the actions-related APIs
+previously found in {@code AccessibilityNodeInfo}.
+</ul>
+
+<h2 id="manifest">Manifest Declarations</h2>
+
+<h3 id="ManifestFeatures">Declarable required features</h3>
+<p>The following values are now supported in the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a> element so you
+can ensure that your app is installed only on devices that provide the features
+your app needs.</p>
+
+<ul>
+<li>{@code FEATURE_LEANBACK}. Declares that your app must be installed only on devices that support the <a href="{@docRoot}tv}">Android TV</a> user interface. Example:
+<pre>
+<uses-feature android:name="android.software.leanback"
+ android:required="true" />
+</pre>
+
+<li>{@code FEATURE_MANAGEDPROFILES}. Declares that your app must only be installed on devices that support managed profiles for enterprise users. Example:
+<pre>
+<uses-feature android:name="android.software.managedprofiles"
+ android:required="true" />
+</pre>
+<li>{@code FEATURE_WEBVIEW}. Declares that your app must only be installed on devices that fully implement the android.webkit.* APIs. Example:
+<pre>
+<uses-feature android:name="android.software.webview"
+ android:required="true" />
+</pre>
+</ul>
+
+<h3 id="ManifestPermissions">User permissions</h3>
+<p>The following values are now supported in the <a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">{@code <uses-permission>}</a> to declare the
+permissions your app requires in order to access certain APIs.
+
+<ul>
+<li>{@code SIM_COMMUNICATION}. Required to communicate with a SIM card using
+ logical channels.
+</ul>
diff --git a/docs/html/preview/images/android.png b/docs/html/preview/images/android.png
new file mode 100644
index 0000000..3aeaa98
--- /dev/null
+++ b/docs/html/preview/images/android.png
Binary files differ
diff --git a/docs/html/preview/images/art.png b/docs/html/preview/images/art.png
new file mode 100644
index 0000000..c48f039
--- /dev/null
+++ b/docs/html/preview/images/art.png
Binary files differ
diff --git a/docs/html/preview/images/bugs.png b/docs/html/preview/images/bugs.png
new file mode 100644
index 0000000..46adf05
--- /dev/null
+++ b/docs/html/preview/images/bugs.png
Binary files differ
diff --git a/docs/html/preview/images/hero.jpg b/docs/html/preview/images/hero.jpg
new file mode 100644
index 0000000..1c52989
--- /dev/null
+++ b/docs/html/preview/images/hero.jpg
Binary files differ
diff --git a/docs/html/preview/images/material.png b/docs/html/preview/images/material.png
new file mode 100644
index 0000000..2d807d4
--- /dev/null
+++ b/docs/html/preview/images/material.png
Binary files differ
diff --git a/docs/html/preview/images/notifications.png b/docs/html/preview/images/notifications.png
new file mode 100644
index 0000000..2fb2fea
--- /dev/null
+++ b/docs/html/preview/images/notifications.png
Binary files differ
diff --git a/docs/html/preview/images/updates.png b/docs/html/preview/images/updates.png
new file mode 100644
index 0000000..f165c5a
--- /dev/null
+++ b/docs/html/preview/images/updates.png
Binary files differ
diff --git a/docs/html/preview/images/volta.png b/docs/html/preview/images/volta.png
new file mode 100644
index 0000000..9125081
--- /dev/null
+++ b/docs/html/preview/images/volta.png
Binary files differ
diff --git a/docs/html/preview/index.jd b/docs/html/preview/index.jd
new file mode 100644
index 0000000..3b5a4f8
--- /dev/null
+++ b/docs/html/preview/index.jd
@@ -0,0 +1,249 @@
+heropage.title=Android L Developer Preview
+page.viewport_width=970
+fullpage=true
+no_footer_links=true
+
+@jd:body
+
+<style>
+.fullpage>#footer,
+#jd-content>.content-footer.wrap {
+ display:none;
+}
+</style>
+
+<style>
+#footer {
+ display: none;
+}
+.content-footer {
+ display: none;
+}
+</style>
+
+<div id="video-container">
+ <div id="video-frame">
+ <div class="video-close">
+ <span id="icon-video-close"> </span>
+ </div>
+ <script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
+ <div id="ytapiplayer">
+ <a href="http://www.youtube.com/watch?v=0xQ3y902DEQ"><img width=940
+ src="https://i1.ytimg.com/vi/0xQ3y902DEQ/maxresdefault.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
+ </div>
+ </div>
+</div>
+
+<div class="landing-body-content">
+ <div class="landing-hero-container">
+ <div class="landing-section preview-hero">
+ <div class="landing-hero-scrim"></div>
+ <div class="landing-hero-wrap">
+ <div class="vertical-center-outer">
+ <div class="vertical-center-inner">
+
+ <div class="col-12">
+ <div class="landing-section-header">
+
+ <div class="landing-h1 hero">L Developer Preview</div>
+ <div class="landing-subhead hero">
+ <p>An early look at the next release</p>
+ </div>
+ <div class="landing-hero-description">
+ <p>Test and build your apps against the next<br />
+ version of Android to ensure they're ready<br/>
+ when the platform officially launches.</p>
+ </div>
+
+ <div class="landing-body">
+ <a href="/preview/setup-sdk.html" class="landing-button landing-primary" style="margin-top: 40px;">
+ Get Started
+ </a>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ </div> <!-- end .wrap -->
+ <div class="landing-scroll-down-affordance">
+ <a class="landing-down-arrow" href="#extending-android-to-landingables">
+ <img src="/wear/images/carrot.png" alt="Scroll down to read more">
+ </a>
+ </div>
+ </div> <!-- end .landing-section .landing-hero -->
+ </div> <!-- end .landing-hero-container -->
+
+
+ <div class="landing-rest-of-page">
+ <div class="landing-section" id="extending-android-to-landingables">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">See What's New</div>
+ <div class="landing-subhead">
+ Take advantage of all the new capabilities, which are focused on design and performance.
+ </div>
+ </div>
+
+ <div class="landing-body">
+
+ <div class="landing-breakout cols">
+ <div class="col-4">
+ <img src="/preview/images/material.png" style="opacity:.6" alt="">
+ <p>A New UI Design</p>
+ <p class="landing-small">
+ Create a consistent experience across mobile and the web with
+ <b>Material</b>, the new Google design standard.
+ </p>
+ <p class="landing-small">
+ <a href="/preview/quantum/index.html">Learn about</a>
+ </p>
+ </div>
+ <div class="col-4">
+ <img src="/preview/images/art.png" alt="">
+ <p>A Rehauled Runtime</p>
+ <p class="landing-small">
+ Test your apps and get them ready for <b>ART</b> (<b>A</b>ndroid <b>R</b>un<b>t</b>ime),
+ the default runtime in the next release.
+
+ </p>
+ <p class="landing-small">
+ <a href="/preview/api-overview.html#art">Learn more</a>
+ </p>
+ </div>
+ <div class="col-4">
+ <img src="/preview/images/notifications.png" alt="">
+ <p style="width:230px">Enhanced Notifications</p>
+ <p class="landing-small">
+ Get more control over where notifications appear,
+ how they look, and automatic syncing to non-handheld devices.
+ </p>
+ <p class="landing-small">
+ <a href="/preview/api-overview#graphics">Learn more</a>
+ </p>
+ </div>
+ <div class="col-4">
+ <img src="/preview/images/volta.png" alt="">
+ <p>Project Volta</p>
+ <p class="landing-small">
+ We've tuned the platform to be more energy efficient and
+ to give you more control over resource usage.
+ </p>
+ <p class="landing-small">
+ <a href="/preview/api-overview#multimedia.html">Learn more</a>
+ </p>
+ </div>
+ </div>
+ <p>See the <a href="{@docRoot}preview/api-overview.html">API overview</a> for more information
+ on the rest of the new and updated features.</p>
+ </div>
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+
+
+ <div class="landing-section landing-gray-background">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">Get Your Apps Ready</div>
+ <div class="landing-subhead">
+ <p>We're giving you an early look at the SDK, so you can test your apps and build in new features.</p>
+ </div>
+ </div>
+ <div class="landing-body">
+ <p>You'll get the system images for the Nexus 5, Nexus 7 (v2),
+ and the emulator to take the new platform for a spin. In addition, you'll have
+ access to all the APIs with a preview build of the SDK.
+ </p>
+
+ <p>Check out the getting started, developer guides, and reference documentation
+ for all the information you need to get up and running.</p>
+
+ <a href="/preview/setup-sdk.html" class="landing-button landing-secondary" style="margin-top: 20px;">
+ Get Started
+ </a>
+ </div>
+ </div>
+ </div>
+ <div class="landing-section">
+ <div class="wrap">
+ <div class="cols">
+ <div class="landing-body">
+ <div class="col-3-wide">
+ <a target="_blank" href="http://submit-bugs!">
+ <img class="landing-social-image" src="{@docRoot}preview/images/bugs.png" alt="">
+ </a>
+ <div class="landing-social-copy">
+ <p>Submit Bugs</p>
+ <p class="landing-small">
+ Let us know when you encounter problems, so we can fix them and make
+ the platform better for you and your users.
+ </p><p class="landing-small">
+ <a target="_blank" href="http://submit-bugs!">
+ Submit Bugs</a>
+ </p>
+ <p></p>
+ </div>
+ </div>
+ <div class="col-3-wide">
+ <a target="_blank" href="http://plus.google.com">
+ <img class="landing-social-image" src="//www.google.com/images/icons/product/gplus-128.png" alt="">
+ </a>
+ <div class="landing-social-copy">
+ <p>Discuss on Google+ </p>
+ <p class="landing-small">
+ Join the community of Android developers testing out the L Developer Preview and
+ share your thoughts and experiences.
+ </p><p class="landing-small">
+ <a target="_blank" href="http://plus.google.com">
+ Socialize on Google+</a>
+ </p>
+ </div>
+ </div>
+ <div class="col-3-wide">
+ <a target="_blank" href="{@docRoot}preview/release-notes.html">
+ <img class="landing-social-image" src="{@docRoot}preview/images/updates.png" alt="">
+ </a>
+ <div class="landing-social-copy">
+ <p>Get Updates</p>
+ <p class="landing-small">
+ Updates to the L Developer Preview are delivered
+ in the Android SDK Manager. Check back here
+ for news about the changes.
+ </p>
+ <p class="landing-small">
+ <a target="_blank" href="{@docRoot}preview/release-notes.html">See Release Notes</a>
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div> <!-- end .wrap -->
+ </div>
+
+ <div class="content-footer wrap" itemscope="" itemtype="http://schema.org/SiteNavigationElement">
+ <div class="layout-content-col col-16" style="padding-top:4px">
+ <style>#___plusone_0 {float:right !important;}</style>
+ <div class="g-plusone" data-size="medium"></div>
+ </div>
+ </div>
+ <div id="footer" class="wrap" style="width:940px;position:relative;top:-35px;z-index:-1">
+ <div id="copyright">
+ Except as noted, this content is
+ licensed under <a href="http://creativecommons.org/licenses/by/2.5/">
+ Creative Commons Attribution 2.5</a>. For details and
+ restrictions, see the <a href="/license.html">Content
+ License</a>.
+ </div>
+ </div>
+
+
+ </div> <!-- end landing-body-content -->
+
+ <script>
+ $("a.landing-down-arrow").on("click", function(e) {
+ $("body").animate({
+ scrollTop: $(".preview-hero").height() + 76
+ }, 1000, "easeOutQuint");
+ e.preventDefault();
+ });
+ </script>
\ No newline at end of file
diff --git a/docs/html/preview/material/animations.jd b/docs/html/preview/material/animations.jd
new file mode 100644
index 0000000..8297c65
--- /dev/null
+++ b/docs/html/preview/material/animations.jd
@@ -0,0 +1,365 @@
+page.title=Animations
+
+@jd:body
+
+
+<p>Animations in material design give users feedback on their actions and provide visual
+continuity as users interact with your app. The Material theme provides some default animations
+for buttons and activity transitions, and the Android L Developer Preview provides additional
+APIs that let you customize these animations and create new ones:</p>
+
+<ul>
+<li>Touch feedback</li>
+<li>Reveal effect</li>
+<li>Activity transitions</li>
+<li>Curved motion</li>
+<li>View state changes</li>
+</ul>
+
+
+<h2 style="margin-top:35px">Touch Feedback</h2>
+
+<p>In the Android L Developer Preview the default touch feedback animations for buttons use the new
+<code>RippleDrawable</code> class, which transitions between different states with a ripple
+effect.</p>
+
+<p>To use this functionality in your custom views, create a <code>RippleDrawable</code> and set
+it as the background of your view. You can define a <code>RippleDrawable</code> as an XML resource
+using the <code>ripple</code> element.</p>
+
+
+<h2 style="margin-top:35px">Reveal Effect</h2>
+
+<p>The <code>View.createRevealAnimator</code> method enables you to animate a clipping circle
+to reveal or hide a view.</p>
+
+<p>To reveal a previously invisible view using this effect:</p>
+
+<pre>
+// previously invisible view
+View myView = findViewById(R.id.my_view);
+
+// get the center for the clipping circle
+int cx = (myView.getLeft() + myView.getRight()) / 2;
+int cy = (myView.getTop() + myView.getBottom()) / 2;
+
+// get the final radius for the clipping circle
+int finalRadius = myView.getWidth();
+
+// create and start the animator for this view
+// (the start radius is zero)
+ValueAnimator anim = myView.createRevealAnimator(cx, cy, 0, finalRadius);
+anim.start();
+</pre>
+
+<p>To hide a previously visible view using this effect:</p>
+
+<pre>
+// previously visible view
+final View myView = findViewById(R.id.my_view);
+
+// get the center for the clipping circle
+int cx = (myView.getLeft() + myView.getRight()) / 2;
+int cy = (myView.getTop() + myView.getBottom()) / 2;
+
+// get the initial radius for the clipping circle
+int initialRadius = myView.getWidth();
+
+// create the animation (the final radius is zero)
+ValueAnimator anim = myView.createRevealAnimator(cx, cy, initialRadius, 0);
+
+// make the view invisible when the animation is done
+anim.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ myView.setVisibility(View.INVISIBLE);
+ }
+});
+
+// start the animation
+anim.start();
+</pre>
+
+
+<h2 style="margin-top:35px">Activity Transitions</h2>
+
+<p>The Android L Developer Preview enables your app to customize the default animations for
+activity transitions. You can specify custom animations for enter and exit transitions and for
+transitions of shared elements between activities.</p>
+
+<ul>
+ <li>An <strong>enter</strong> transition determines how views in an activity enter the scene.
+ For example, in the <em>explode</em> enter transition the views enter the scene from outside
+ and fly in towards the center of the screen.</li>
+
+ <li>An <strong>exit</strong> transition determines how views in an activity exit the scene. For
+ example, in the <em>explode</em> exit transition the views exit the scene away from the
+ center.</li>
+
+ <li>A <strong>shared elements</strong> transition determines how views that are shared between
+ two activities transition between these activities. For example, if two activities have the same
+ image in different positions and sizes, the <em>moveImage</em> shared element transition
+ translates and scales the image smoothly between these activities.</li>
+</ul>
+
+<img src="/preview/material/images/SceneTransition.png" alt=""
+ id="figure1" style="width:600px;margin-top:20px"/>
+<p class="img-caption">
+ <strong>Figure 1</strong> - A scene transition with one shared element.
+</p>
+
+<h3 style="margin-top:30px">Specify custom transitions</h3>
+
+<p>First, enable window content transitions with the <code>android:windowContentTransitions</code>
+attribute when you define a style that inherits from the Material theme:</p>
+
+<pre>
+<style name="BaseAppTheme" parent="android:Theme.Material">
+ <!-- enable window content transitions -->
+ <item name="android:windowContentTransitions">true</item>
+
+ <!-- specify enter and exit transitions -->
+ <item name="android:windowEnterTransition">@transition/explode</item>
+ <item name="android:windowExitTransition">@transition/explode</item>
+
+ <!-- specify shared element transitions -->
+ <item name="android:windowSharedElementEnterTransition">
+ @transition/move_image</item>
+ <item name="android:windowSharedElementExitTransition">
+ @transition/move_image</item>
+</style>
+</pre>
+
+<p>You can also specify enter, exit, and shared element transitions in your style definition.
+The <code>move_image</code> transition in this example is defined as follows:</p>
+
+<pre>
+<!-- res/transition/move_image.xml -->
+<!-- (see also Shared Transitions below) -->
+<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
+ <moveImage>
+ <targets>
+ <!-- shared view in the first activity -->
+ <target android:targetId="@id/image_small" />
+ <!-- shared view in the second activity -->
+ <target android:targetId="@id/image_big" />
+ </targets>
+ </moveImage>
+</transitionSet>
+</pre>
+
+<p>The <code>moveImage</code> element corresponds to the <code>android.transition.MoveImage</code>
+class. For more information, see the API reference for <code>android.transition.Transition</code>.
+</p>
+
+<p>To enable window content transitions in your code instead, call the
+<code>Window.requestFeature</code> method:</p>
+
+<pre>
+// inside your activity
+getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
+
+// set an exit transition
+getWindow().setExitTransition(new Explode());
+</pre>
+
+<p>To specify transitions in your code, call these methods with a <code>Transition</code>
+object:</p>
+
+<ul>
+ <li><code>Window.setEnterTransition</code></li>
+ <li><code>Window.setExitTransition</code></li>
+ <li><code>Window.setSharedElementEnterTransition</code></li>
+ <li><code>Window.setSharedElementExitTransition</code></li>
+</ul>
+
+<h3 style="margin-top:30px">Start an activity using transitions</h3>
+
+<p>If you enable transitions and set an exit transition for an activity, the transition is activated
+when you launch another activity with the <code>startActivity</code> method. If you have set an
+enter transition for the second activity, the transition is also activated when the activity
+starts.</p>
+
+<h3 style="margin-top:30px">Shared elements transitions</h3>
+
+<p>To make a screne transition animation between two activities that have a shared element:</p>
+
+<ol>
+<li>Enable window content transitions in your style.</li>
+<li>Specify a shared elements transition in your style.</li>
+<li>Define your transition as an XML resource specifying the IDs of the target views.</li>
+<li>Assign a common name to the shared elements in both layouts with the
+ <code>android:viewName</code> attribute.</li>
+<li>Use the <code>ActivityOptions.makeSceneTransitionAnimation</code> method.</li>
+</ol>
+
+<pre>
+// get the element that receives the click event
+final View imgContainerView = findViewById(R.id.img_container);
+
+// get the common element for the transition in this activity
+final View androidRobotView = findViewById(R.id.android_robot_img);
+
+// define a click listener
+imgContainerView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(this, Activity2.class);
+ // create the transition animation - the images in the layouts
+ // of both activities are defined with android:viewName="robot"
+ ActivityOptions options = ActivityOptions
+ .makeSceneTransitionAnimation(this, androidRobotView, "robot");
+ // start the new activity
+ startActivity(intent, options.toBundle());
+ }
+});
+</pre>
+
+<p>For shared dynamic views that you generate in your code, use the <code>View.setViewName</code>
+method to specify a common element name in both activities.</p>
+
+<h3 style="margin-top:30px">Multiple shared elements</h3>
+
+<p>To make a scene transition animation between two activities that have more than one shared
+element, define the shared elements in both layouts with the <code>android:viewName</code>
+attribute (or use the <code>View.setViewName</code> in both activities), and create an
+<code>ActivityOptions</code> object as follows:</p>
+
+<pre>
+ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,
+ new Pair[] {
+ Pair.create(view1, "agreedName1"),
+ Pair.create(view2, "agreedName2"),
+ ...
+ }
+);
+</pre>
+
+
+<h2 style="margin-top:35px">Curved Motion</h2>
+
+<p>Animations in material design rely on curves for time interpolation and spatial movement
+patterns. The Android L Developer Preview provides new APIs that enable you to define custom
+timing curves and curved motion patterns for animations.</p>
+
+<p>The <code>PathInterpolator</code> class is a new interpolator based on a Bézier curve or a
+<code>Path</code> object. This interpolator specifies a motion curve in a 1x1 square, with anchor
+points at (0,0) and (1,1) and control points as specified using the constructor arguments. You can
+also define a <code>PathInterpolator</code> as an XML resource:</p>
+
+<pre>
+<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
+ android:controlX1="0.4"
+ android:controlY1="0"
+ android:controlX2="1"
+ android:controlY2="1"/>
+</pre>
+
+<p>The Android L Developer Preview provides XML resources for the three basic curves in the
+material design specification:</p>
+
+<ul>
+ <li><code>@interpolator/fast_out_linear_in.xml</code></li>
+ <li><code>@interpolator/fast_out_slow_in.xml</code></li>
+ <li><code>@interpolator/linear_out_slow_in.xml</code></li>
+</ul>
+
+<p>You can pass a <code>PathInterpolator</code> object to the
+<code>Animation.setInterpolation</code> method.</p>
+
+<p>The <code>ObjectAnimator</code> class has new constructors that enable you to animate
+coordinates along a path using two or more properties at once. For example, the following animator
+uses a <code>Path</code> object to animate the X and Y properties of a view:</p>
+
+<pre>
+ObjectAnimator mAnimator;
+mAnimator = ObjectAnimator.ofFloat(view, View.X, View.Y, path);
+...
+mAnimator.start();
+</pre>
+
+
+<h2 style="margin-top:35px">View State Changes</h2>
+
+<p>The new <code>StateListAnimator</code> class lets you define animators that run when the state
+of a view changes. The following example shows how to define an <code>StateListAnimator</code> as
+an XML resource:</p>
+
+<pre>
+<!-- animate the elevation property of a view when pressed -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <set>
+ <objectAnimator android:propertyName="elevation"
+ android:duration="100"
+ android:valueTo="60"
+ android:valueType="floatType"/>
+ <!-- you could have other objectAnimator elements
+ here for "x" and "y", or other properties -->
+ </set>
+ </item>
+ <item android:state_enabled="true"
+ android:state_pressed="false"
+ android:state_focused="true">
+ <set>
+ <objectAnimator android:propertyName="elevation"
+ android:duration="100"
+ android:valueTo="10"
+ android:valueType="floatType"/>
+ </set>
+ </item>
+</selector>
+</pre>
+
+<p>The new <code>AnimatedStateListDrawable</code> class lets you create drawables that show
+animations between state changes of the associated view. Some of the system widgets in the
+Android L Developer Preview use these animations by default. The following example shows how
+to define an <code>AnimatedStateListDrawable</code> as an XML resource:</p>
+
+<pre>
+<!-- res/drawable/myanimstatedrawable.xml -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- provide a different drawable for each state-->
+ <item android:id="@+id/pressed" android:drawable="@drawable/drawableP"
+ android:state-pressed="true"/>
+ <item android:id="@+id/focused" android:drawable="@drawable/drawableF"
+ android:state-focused="true"/>
+ <item android:id="@id/default"
+ android:drawable="@drawable/drawableD"/>
+
+ <!-- specify a transition -->
+ <transition android:fromId="@+id/default" android:toId="@+id/pressed">
+ <animation-list>
+ <item android:duration="15" android:drawable="@drawable/dt1"/>
+ <item android:duration="15" android:drawable="@drawable/dt2"/>
+ ...
+ </animation-list>
+ </transition>
+ ...
+</animated-selector>
+</pre>
+
+
+<h2 style="margin-top:35px">Drawable Tinting</h2>
+
+<p>The Android L Developer Preview enables you to define bitmaps as an alpha mask and to tint
+them using a color resource or a theme attribute that resolves to a color resource. You can
+create these assets only once and color them automatically to match your theme.</p>
+
+<p>To apply a tint to a bitmap in your code, use the <code>setTint</code> method in these
+classes:</p>
+
+<ul>
+<li><code>PaintDrawable</code></li>
+<li><code>NinePatchDrawable</code></li>
+<li><code>RippleDrawable</code></li>
+</ul>
+
+<p>In your layouts, use the <code>android:tint</code> attribute instead.</p>
+
+<p>The <code>setTint</code> method also lets you set the tint blending mode for
+<code>NinePatchDrawable</code> and <code>RippleDrawable</code> objects in your code. To set the
+tint mode in your layouts, use the <code>android:tintMode</code> attribute.</p>
diff --git a/docs/html/preview/material/compatibility.jd b/docs/html/preview/material/compatibility.jd
new file mode 100644
index 0000000..b5555ad
--- /dev/null
+++ b/docs/html/preview/material/compatibility.jd
@@ -0,0 +1,51 @@
+page.title=Compatibility
+
+@jd:body
+
+<p>The new material design features (like the Material theme and custom animations) are only
+available in the Android L Developer Preview. However, you can design your apps to make use of
+these features when running on devices with the Android L Developer Preview and still be
+compatible with previous releases of Android.</p>
+
+
+<h2 style="margin-top:35px">Material Theme</h2>
+
+<p>The Material theme is only available in the Android L Developer Preview. To configure your
+app to use the Material theme on devices running the Android L Developer Preview and an older
+theme on devices running earlier versions of Android:</p>
+
+<ol>
+<li>Define a theme that inherits from an older theme (like Holo) in
+<code>res/values/styles.xml</code>.</li>
+<li>Define a theme with the same name that inherits from the Material theme in
+<code>res/values-v21/styles.xml</code>.</li>
+<li>Set this theme as your app's theme in the manifest file.</li>
+</ol>
+
+<p class="note"><strong>Note:</strong> If you do not provide an alternative theme in this manner,
+your app will not run on earlier versions of Android.</p>
+
+
+<h2 style="margin-top:35px">Layouts</h2>
+
+<p>If the layouts that you design according to the material design guidelines do not use any
+of the new XML attributes from the Android L Developer Preview, they will work on previous
+versions of Android. Otherwise, you can provide alternative layouts. You can also provide
+alternative layouts to customize how your app looks on earlier versions of Android.</p>
+
+<p>Create your layout files for the Android L Developer Preview inside <code>res/layout-v21/</code>
+and your alternative layout files for earlier versions of Android inside <code>res/layout/</code>.
+Alternative layouts have the same file name.</p>
+
+
+<h2 style="margin-top:35px">UI Widgets</h2>
+
+<p>The <code>RecyclerView</code> and <code>CardView</code> widgets are included in the Android L
+Developer Preview Support Library, so they are available in earlier versions of Android.</p>
+
+
+<h2 style="margin-top:35px">Animation APIs</h2>
+
+<p>The new APIs for custom animations are only available in the Android L Developer Preview. To
+preserve compatibility with earlier verisons of Android, check the system version at runtime before
+you invoke these APIs.</p>
\ No newline at end of file
diff --git a/docs/html/preview/material/get-started.jd b/docs/html/preview/material/get-started.jd
new file mode 100644
index 0000000..27daf5c
--- /dev/null
+++ b/docs/html/preview/material/get-started.jd
@@ -0,0 +1,124 @@
+page.title=Get Started
+
+@jd:body
+
+<p>To create material design apps on Android:</p>
+
+<ol>
+ <li>Take a look at the <a href="">material design specification</a>.</li>
+ <li>Apply the Material <strong>theme</strong> to your app.</li>
+ <li>Define additional <strong>styles</strong> to customize the Material theme.</li>
+ <li>Create your <strong>layouts</strong> following material design guidelines.</li>
+ <li>Specify the <strong>depth</strong> of each component in your layouts to cast appropriate shadows.</li>
+ <li>Use the new <strong>widgets</strong> for complex views, such as lists and cards.</li>
+ <li>Use the new <strong>APIs</strong> to customize 3D views and animations in your app.</li>
+</ol>
+
+<h3 style="margin-top:25px;">Update Your App for the Android L Developer Preview</h3>
+
+<p>To update an existing app for the Android L Developer Preview, design new layouts following
+material design guidelines and consider how you can improve the user experience for your app by
+incorporating depth, touch feedback and animations in your UI.</p>
+
+<h3 style="margin-top:25px;">Create New Apps for the Android L Developer Preview</h3>
+
+<p>If you are creating a new app for the Android L Developer Preview, the material design
+guidelines provide you with a solid design framework for your app. Follow these guidelines and
+use the new functionality in the Android framework to design and develop your app.</p>
+
+
+<h2 style="margin-top:35px">Material Theme</h2>
+
+<div style="float:right;margin-left:25px">
+<img src="{@docRoot}preview/material/images/ThemeColors.png" style="width:250px"/>
+<p class="img-caption"><strong>Figure 1.</strong> Customizing the Material theme.</p>
+</div>
+
+<p>The new Material theme provides:</p>
+
+<ul>
+ <li>System widgets that let you set their color palette</li>
+ <li>Touch feedback animations for the system widgets</li>
+ <li>Activity transition animations</li>
+</ul>
+
+<p>The Android L Developer Preview lets you easily customize the look of the Material theme
+according to your brand identity with a color palette you control. You can tint the app bar and
+the status bar using theme attributes, as shown in Figure 1.</p>
+
+<p>The system widgets have a new design and touch feedback animations. Activity transitions help
+users navigate your app by providing visual continuity. You can customize the color palette,
+the touch feedback animations, and the activity transitions for your app.</p>
+
+<p>The Material theme is defined as:</p>
+
+<ul>
+ <li><code>@android:style/Theme.Material</code> (dark version)</li>
+ <li><code>@android:style/Theme.Material.Light</code> (light version)</li>
+ <li><code>@android:style/Theme.Material.Light.DarkActionBar</code></li>
+</ul>
+
+<p>For a list of material styles that you can use, see the API reference for
+<code>android.R.styles</code>.</p>
+
+<p class="note">
+<strong>Note:</strong> The Material theme is only available in the Android L Developer Preview.
+For more information, see <a href="{@docRoot}preview/material/compatibility.html">Compatibility</a>.
+</p>
+
+<h3 style="margin-top:25px;">Theme Inheritance</h3>
+
+<p>In the Android L Developer Preview, elements in XML layout definitions can specify the
+<code>android:theme</code> attribute, which references a theme resource. This attribute modifies
+the theme for the element and any elements inflated below it, which is useful to alter theme
+color palettes in a specific portion of an interface.</p>
+
+
+<h2 style="margin-top:35px">Material Design</h2>
+
+<p>In addition to applying the Material theme, you also have to:</p>
+
+<ul>
+ <li>Customize the theme's base colors to fit your brand.</li>
+ <li>Design your layouts according to material design guidelines.</li>
+</ul>
+
+<p>The Android L Developer Preview provides new attributes to make it easy to customize the
+Material theme:</p>
+
+<pre>
+<resources>
+ <!-- inherit from the Material theme -->
+ <style name="BaseAppTheme" parent="android:Theme.Material">
+ <!-- Main theme colors -->
+ <!-- your app's branding color (for the app bar) -->
+ <item name="android:colorPrimary">@color/primary</item>
+ <!-- darker variant of colorPrimary (for contextual app bars) -->
+ <item name="android:colorPrimaryDark">@color/primary_dark</item>
+
+ <!-- other theme colors -->
+ <item name="android:colorBackground">@color/background</item>
+ <item name="android:colorAccent">@color/accent</item>
+ <item name="android:colorButtonNormal">@color/button_normal</item>
+ <item name="android:colorControlHighlight">@color/button_chigh</item>
+ <item name="android:windowBackground">@color/wbackground</item>
+ </style>
+</resources>
+</pre>
+
+<p>Ensure that you follow material design guidelines when choosing colors for your app.</p>
+
+<p>Design your layouts according to the material design specification. In particular, pay
+attention to:</p>
+
+<ul>
+ <li>Baseline grids</li>
+ <li>Keylines</li>
+ <li>Spacing</li>
+ <li>Touch target size</li>
+ <li>Layout structure</li>
+</ul>
+
+<p>You still define layouts inside XML files using the standard tools from the Android framework.
+To specify the depth level of each view in your layout, use the <code>android:elevation</code>
+attribute.</p>
\ No newline at end of file
diff --git a/docs/html/preview/material/images/MaterialDark.png b/docs/html/preview/material/images/MaterialDark.png
new file mode 100644
index 0000000..6a72280
--- /dev/null
+++ b/docs/html/preview/material/images/MaterialDark.png
Binary files differ
diff --git a/docs/html/preview/material/images/MaterialLight.png b/docs/html/preview/material/images/MaterialLight.png
new file mode 100644
index 0000000..0e85528
--- /dev/null
+++ b/docs/html/preview/material/images/MaterialLight.png
Binary files differ
diff --git a/docs/html/preview/material/images/RecyclerView.png b/docs/html/preview/material/images/RecyclerView.png
new file mode 100644
index 0000000..364951d
--- /dev/null
+++ b/docs/html/preview/material/images/RecyclerView.png
Binary files differ
diff --git a/docs/html/preview/material/images/SceneTransition.png b/docs/html/preview/material/images/SceneTransition.png
new file mode 100644
index 0000000..ecaf472
--- /dev/null
+++ b/docs/html/preview/material/images/SceneTransition.png
Binary files differ
diff --git a/docs/html/preview/material/images/ThemeColors.png b/docs/html/preview/material/images/ThemeColors.png
new file mode 100644
index 0000000..bbcecf2
--- /dev/null
+++ b/docs/html/preview/material/images/ThemeColors.png
Binary files differ
diff --git a/docs/html/preview/material/images/card_travel.png b/docs/html/preview/material/images/card_travel.png
new file mode 100644
index 0000000..a804ca0
--- /dev/null
+++ b/docs/html/preview/material/images/card_travel.png
Binary files differ
diff --git a/docs/html/preview/material/images/list_mail.png b/docs/html/preview/material/images/list_mail.png
new file mode 100644
index 0000000..ca53ee1
--- /dev/null
+++ b/docs/html/preview/material/images/list_mail.png
Binary files differ
diff --git a/docs/html/preview/material/index.jd b/docs/html/preview/material/index.jd
new file mode 100644
index 0000000..e54ba08
--- /dev/null
+++ b/docs/html/preview/material/index.jd
@@ -0,0 +1,136 @@
+page.title=Material Design
+
+@jd:body
+
+
+<p>The Android L Developer Preview includes support for material design apps. Material design
+is a comprehensive guide for visual, motion, and interaction design across platforms and devices.
+To use material design in your Android apps, follow the guidelines defined in the
+<a href="">material design specification</a> and use the new components and functionality
+available in the Android L Developer Preview.</p>
+
+<p>The Android L Developer Preview provides the following elements for you to build material
+design apps:</p>
+
+<ul>
+ <li>A new theme</li>
+ <li>New widgets for complex views</li>
+ <li>New APIs for custom shadows and animations</li>
+</ul>
+
+
+<h3 style="margin-top:30px">Material Theme</h3>
+
+<p>The Material theme provides a new style for your app, system widgets that let you set
+their color palette, and default animations for touch feedback and activity transitions.</p>
+
+<!-- two columns -->
+<div style="width:700px;margin-top:25px;margin-bottom:20px">
+<div style="float:left;width:250px;margin-left:40px;margin-right:60px;">
+ <img src="{@docRoot}preview/material/images/MaterialDark.png" style="width:250px;"/>
+ <div style="width:140px;margin:0 auto">
+ <p style="margin-top:8px">Dark Material theme</p>
+ </div>
+</div>
+<div style="float:left;width:250px;margin-right:0px;">
+ <img src="{@docRoot}preview/material/images/MaterialLight.png" style="width:250px;"/>
+ <div style="width:140px;margin:0 auto">
+ <p style="margin-top:8px">Light Material theme</p>
+ </div>
+</div>
+<br style="clear:left"/>
+</div>
+
+
+<h3 style="margin-top:30px">New Widgets</h3>
+
+<p>The Android L Developer Preview includes two new widgets for displaying complex views:</p>
+
+<!-- two columns -->
+<div style="width:700px;margin-top:25px;margin-bottom:20px">
+<div style="float:left;width:250px;margin-left:40px;margin-right:60px;">
+ <img src="{@docRoot}preview/material/images/list_mail.png" style="width:250px;"/>
+ <p>The new <code>RecyclerView</code> widget is a container for large sets of views that can be
+ recycled and scrolled very efficiently.</p>
+</div>
+<div style="float:left;width:250px;margin-right:0px;">
+ <img src="{@docRoot}preview/material/images/card_travel.png" style="width:250px;"/>
+ <p>The new <code>CardView</code> widget lets you display important pieces of information inside
+ cards that have a consistent look and feel.</p>
+</div>
+<br style="clear:left"/>
+</div>
+
+
+<h3 style="margin-top:30px">3D Views and Shadows</h3>
+
+<p>In addition to the X and Y components, views in the Android L Developer Preview have a Z
+component. This new component represents the elevation of a view, which determines the size of
+its shadow: views with higher Z values cast bigger shadows.</p>
+
+
+<h3 style="margin-top:30px">Animations</h3>
+
+<p>The Android L Developer Preview provides new APIs that let you create custom animations for
+touch feedback in UI controls, view state changes, and activity transitions.</p>
+
+<!-- two columns -->
+<div style="width:700px;margin-left:12px;margin-top:25px;margin-bottom:5px">
+<div style="float:left;width:340px;margin-left:0px;margin-right:0px;">
+ <div class="framed-nexus5-port-span-5">
+ <video class="play-on-hover" autoplay>
+ <source src="/preview/material/videos/ContactsAnim.mp4"/>
+ <source src="/preview/material/videos/ContactsAnim.webm"/>
+ <source src="/preview/material/videos/ContactsAnim.ogv"/>
+ </video>
+ </div>
+</div>
+<div style="float:left;width:340px;margin-right:0px;">
+ <div class="framed-nexus5-port-span-5">
+ <video class="play-on-hover" autoplay>
+ <source src="/preview/material/videos/Dial.mp4"/>
+ <source src="/preview/material/videos/Dial.webm"/>
+ <source src="/preview/material/videos/Dial.ogv"/>
+ </video>
+ </div>
+</div>
+<br style="clear:left"/>
+</div>
+
+<div style="text-align:center;font-size:10pt;margin-right:35px">
+<em>Click on the device screen to replay the movie</em>
+</div>
+
+<!-- three columns -->
+<div style="width:700px;margin-top:25px;margin-bottom:0px">
+<div style="float:left;width:200px;margin-left:0px;margin-right:0px;">
+ <p>Respond to touch events in your views with <strong>touch feedback</strong> animations.</p>
+</div>
+<div style="float:left;margin-left:25px;width:200px;margin-right:0px;">
+ <p>Hide and show views with <strong>reveal effect</strong> animations.</p>
+</div>
+<div style="float:left;margin-left:25px;width:200px;margin-right:0px;">
+ <p>Switch between activities with custom <strong>activity transition</strong> animations.</p>
+</div>
+<br style="clear:left"/>
+</div>
+<!-- three columns -->
+<div style="width:700px;margin-top:0px;margin-bottom:20px">
+<div style="float:left;width:200px;margin-left:0px;margin-right:0px;">
+ <p>Create custom animation patterns with <strong>curved motion</strong>.</p>
+</div>
+<div style="float:left;margin-left:25px;width:200px;margin-right:0px;">
+ <p>Animate changes in one or more view properties with <strong>view state change</strong> animations.</p>
+</div>
+<div style="float:left;margin-left:25px;width:200px;margin-right:0px;">
+ <p>Show animations in <strong>state list drawables</strong> between view state changes.</p>
+</div>
+<br style="clear:left"/>
+</div>
+
+
+<h3 style="margin-top:30px">New Capabilities for Drawables</h3>
+
+<p>The Android L Developer Preview supports <strong>drawable tinting</strong>: you can define
+bitmaps as an alpha mask and tint them using a color resource. You can create these assets only
+once and color each instance to match your theme.</p>
diff --git a/docs/html/preview/material/ui-widgets.jd b/docs/html/preview/material/ui-widgets.jd
new file mode 100644
index 0000000..5c12a1a
--- /dev/null
+++ b/docs/html/preview/material/ui-widgets.jd
@@ -0,0 +1,188 @@
+page.title=UI Widgets
+
+@jd:body
+
+
+<p>The support library in the Android L Developer Preview contains two new widgets,
+<code>RecyclerView</code> and <code>CardView</code>. Use these widgets to show complex lists
+and cards in your app. These widgets have material design styles and animations by default.</p>
+
+
+<h2 style="margin-top:35px">RecyclerView</h2>
+
+<p><code>RecyclerView</code> is a more advanced version of <code>ListView</code>. This widget is
+a container for large sets of views that can be recycled and scrolled very efficiently. Use the
+<code>RecyclerView</code> widget when you have lists with elements that change dynamically.</p>
+
+<p><code>RecyclerView</code> is easy to use, because it provides:</p>
+
+<ul>
+ <li>A set of layout managers for positioning items</li>
+ <li>Default animations for common item operations</li>
+</ul>
+
+<p>You also have the flexibility to define custom layout managers and animations for this
+widget.</p>
+
+<p>To use the <code>RecyclerView</code> widget, you have to specify an adapter and a layout
+manager. An <strong>adapter</strong> provides a binding from a dataset to views that are displayed
+within a <code>RecyclerView</code>. For example, if your dataset is an array of strings displayed
+as <code>TextView</code> items, the layout manager asks the adapter to:
+</p>
+
+<ul>
+ <li>Set the text of an existing <code>TextView</code> to one of the strings in the dataset</li>
+ <li>Create new <code>TextView</code> objects</li>
+ <li>Determine the size of the dataset</li>
+</ul>
+
+<p>To create an adapter, you extend the <code>RecyclerView.Adapter</code> class. The details of
+the implementation depend on the specifics of your dataset and the type of views. Fore more
+information, see the examples below.</p>
+
+<img src="/preview/material/images/RecyclerView.png" alt="" id="figure1" style="width:550px"/>
+<p class="img-caption">
+ <strong>Figure 1</strong> - The <code>RecyclerView</code> widget.
+</p>
+
+<p>A <strong>layout manager</strong> positions item views inside a <code>RecyclerView</code> and
+determines when to reuse item views that are no longer visible to the user. To reuse (or
+<em>recycle</em>) a view, a layout manager may ask the adapter to replace the content of the
+view with a different element from the dataset. Recycling views in this manner improves
+performance by avoiding the creation of unnecessary views or performing expensive
+<code>findViewById</code> lookups.
+</p>
+
+<p><code>RecyclerView</code> provides two layout managers you can use:</p>
+
+<ul>
+ <li><code>LinearLayoutManager</code> shows the items in a vertically scrolling list.</li>
+ <li><code>GridLayoutManager</code> shows the items in a rectangular grid.</li>
+</ul>
+
+<p>To create a custom layout, you extend the <code>RecyclerView.LayoutManager</code> class.</p>
+
+<h3 style="margin-top:30px">Examples</h3>
+
+<p>To include a <code>RecyclerView</code> in your layout:</p>
+
+<pre>
+<!-- A RecyclerView with some commonly used attributes -->
+<android.support.v7.widget.RecyclerView
+ android:id="@+id/my_recycler_view"
+ android:scrollbars="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+</pre>
+
+<p>To get the <code>RecyclerView</code> object in your activity:</p>
+
+<pre>
+public class MyActivity extends ActionBarActivity {
+ private RecyclerView mRecyclerView;
+ private RecyclerView.Adapter mAdapter;
+ private RecyclerView.LayoutManager mLayoutManager;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.my_activity);
+ mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
+
+ // improve performance if the size is fixed
+ mRecyclerView.setHasFixedSize(true);
+
+ // use a linear layout manager
+ mLayoutManager = new LinearLayoutManager(this);
+ mRecyclerView.setLayoutManager(mLayoutManager);
+
+ // specify an adapter (see also next example)
+ mAdapter = new MyAdapter(myDataset);
+ mRecyclerView.setAdapter(mAdapter);
+ }
+ ...
+}
+</pre>
+
+<p>To create a simple adapter:</p>
+
+<pre>
+public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
+ private String[] mDataset;
+
+ // Provide a reference to the type of views that you are using
+ // (custom viewholder)
+ public static class ViewHolder extends RecyclerView.ViewHolder {
+ public TextView mTextView;
+ public ViewHolder(TextView v) {
+ super(v);
+ mTextView = v;
+ }
+ }
+
+ // Provide a suitable constructor (depends on the kind of dataset)
+ public MyAdapter(String[] myDataset) {
+ mDataset = myDataset;
+ }
+
+ // Create new views (invoked by the layout manager)
+ @Override
+ public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
+ int viewType) {
+ // create a new view
+ View v = new TextView(parent.getContext());
+ // set the view's size, margins, paddings and layout parameters
+ ...
+ ViewHolder vh = new ViewHolder(v);
+ return vh;
+ }
+
+ // Replace the contents of a view (invoked by the layout manager)
+ @Override
+ public void onBindViewHolder(ViewHolder holder, int position) {
+ // - get element from your dataset at this position
+ // - replace the contents of the view with that element
+ holder.mTextView.setText(mDataset[position]);
+
+ }
+
+ // Return the size of your dataset (invoked by the layout manager)
+ @Override
+ public int getItemCount() {
+ return mDataset.length;
+ }
+}
+</pre>
+
+
+<h2 style="margin-top:35px">CardView</h2>
+
+<p><code>CardView</code> extends the <code>FrameLayout</code> class and lets you show information
+inside a card with optional rounded corners:</p>
+
+<ul>
+ <li>To set the corner radius in your layouts, use the <code>android:cardCornerRadius</code>
+ attribute.</li>
+ <li>To set the corner radius in your code, use the <code>CardView.setRadius</code> method.</li>
+</ul>
+
+<p>To set the background color of a card, use the <code>android:cardBackgroundColor</code>
+attribute.</p>
+
+<p>To include a <code>CardView</code> in your layout:</p>
+
+<pre>
+<!-- A CardView that contains a TextView -->
+<android.support.v7.widget.CardView
+ android:id="@+id/card_view"
+ android:layout_gravity="center"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ card_view:cardCornerRadius="4dp">
+
+ <TextView
+ android:id="@+id/info_text"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+</android.support.v7.widget.CardView>
+</pre>
\ No newline at end of file
diff --git a/docs/html/preview/material/videos/ContactsAnim.mp4 b/docs/html/preview/material/videos/ContactsAnim.mp4
new file mode 100644
index 0000000..073f9dc
--- /dev/null
+++ b/docs/html/preview/material/videos/ContactsAnim.mp4
Binary files differ
diff --git a/docs/html/preview/material/videos/ContactsAnim.ogv b/docs/html/preview/material/videos/ContactsAnim.ogv
new file mode 100644
index 0000000..c5e751b
--- /dev/null
+++ b/docs/html/preview/material/videos/ContactsAnim.ogv
Binary files differ
diff --git a/docs/html/preview/material/videos/ContactsAnim.webm b/docs/html/preview/material/videos/ContactsAnim.webm
new file mode 100644
index 0000000..2a15ff5
--- /dev/null
+++ b/docs/html/preview/material/videos/ContactsAnim.webm
Binary files differ
diff --git a/docs/html/preview/material/videos/Dial.mp4 b/docs/html/preview/material/videos/Dial.mp4
new file mode 100644
index 0000000..cd5a6a2
--- /dev/null
+++ b/docs/html/preview/material/videos/Dial.mp4
Binary files differ
diff --git a/docs/html/preview/material/videos/Dial.ogv b/docs/html/preview/material/videos/Dial.ogv
new file mode 100644
index 0000000..b7b29d0
--- /dev/null
+++ b/docs/html/preview/material/videos/Dial.ogv
Binary files differ
diff --git a/docs/html/preview/material/videos/Dial.webm b/docs/html/preview/material/videos/Dial.webm
new file mode 100644
index 0000000..e30d2a5
--- /dev/null
+++ b/docs/html/preview/material/videos/Dial.webm
Binary files differ
diff --git a/docs/html/preview/material/views-shadows.jd b/docs/html/preview/material/views-shadows.jd
new file mode 100644
index 0000000..52fe83c
--- /dev/null
+++ b/docs/html/preview/material/views-shadows.jd
@@ -0,0 +1,76 @@
+page.title=Views and Shadows
+
+@jd:body
+
+
+<p>In material design apps, depth has meaning. You should assign higher elevation values to more
+important UI elements in your app. The elevation value of a view determines the size of its
+shadow: views with higher Z values cast bigger shadows. Views only cast shadows on the Z=0 plane
+under an orthographic projection (the views do not scale for different values of Z).</p>
+
+
+<h2 style="margin-top:35px">View Elevation</h2>
+
+<p>The Z value for a view has two components, elevation and translation. The elevation is the
+static component, and the translation is used for animations:</p>
+
+<p><code>Z = elevation + translationZ</code></p>
+
+<p>To set the elevation of a view:</p>
+
+<ul>
+ <li>In a layout definition, use the <code>android:elevation</code> attribute.</li>
+ <li>In the code of an activity, use the <code>View.setElevation</code> method.</li>
+</ul>
+
+<p>To set the translation of a view, use the <code>View.setTranslationZ</code> method.</p>
+
+<p>The Z values are measured in the same units as the X and Y values (like <code>dp</code> or
+<code>px</code>).</p>
+
+
+<h2 style="margin-top:35px">Shadows and Outlines</h2>
+
+<p>The bounds of a view's background drawable determine the default shape of its shadow. To define
+a custom shape for a shadow, such as an oval, use the <code>View.setOutline</code> method:</p>
+
+<pre>
+View v = findViewById(R.id.my_view);
+
+// add 10px to the static elevation
+v.setTranslationZ(10);
+
+// set an oval shadow
+Outline outline = new Outline();
+outline.setOval(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
+myView.setOutline(outline);
+</pre>
+
+<p>An <code>Outline</code> represents the outer shape of a graphics object. You can create
+<code>Outline</code> objects as in this example, or you can obtain the outline from a
+<code>Drawable</code> object with the <code>getOutline</code> method.</p>
+
+<p>The outline of a view also defines the ripple area for touch feedback.</p>
+
+<p>To prevent a view from casting a shadow, set its outline to <code>null</code>.</p>
+
+
+<h2 style="margin-top:35px">Clipping Views</h2>
+
+<p>The Android L Developer Preview lets you clip a view to its outline area using the
+<code>View.setClipToOutline</code> method. Only rectangle, circle, and round rectangle outlines
+support clipping, as determined by the <code>Outline.canClip</code> method.</p>
+
+<p>To determine if a view has been clipped, use the <code>View.getClipToOutline</code> method.</p>
+
+<pre>
+// clip a view to an oval
+View v = findViewById(R.id.my_view);
+outline.setOval(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
+myView.setOutline(outline);
+
+// if the view is not already clipped
+if (v.getClipToOutline() == false) {
+ v.setClipToOutline(true);
+}
+</pre>
\ No newline at end of file
diff --git a/docs/html/preview/preview_toc.cs b/docs/html/preview/preview_toc.cs
new file mode 100644
index 0000000..377c487
--- /dev/null
+++ b/docs/html/preview/preview_toc.cs
@@ -0,0 +1,44 @@
+<ul id="nav">
+
+
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/setup-sdk.html">Set up the Preview SDK
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/setup-devices.html">Set Up Hardware and AVDs
+ </a></div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/api-overview.html">API Overview
+ </a></div>
+ </li>
+ <li class="nav-section">
+
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>preview/material/index.html">Material Design
+ </a></div>
+ <ul>
+ <li><a href="<?cs var:toroot ?>preview/material/get-started.html">Get Started</a></li>
+ <li><a href="<?cs var:toroot ?>preview/material/ui-widgets.html">UI Widgets</a></li>
+ <li><a href="<?cs var:toroot ?>preview/material/views-shadows.html">Views and Shadows</a></li>
+ <li><a href="<?cs var:toroot ?>preview/material/animations.html">Animations</a></li>
+ </ul>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>preview/samples.html">Samples</a>
+ </div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty">
+
+ <a href="<?cs var:toroot ?>preview/l-developer-preview-reference.zip">Reference</a>
+
+ </div>
+ </li>
+ <li class="nav-section">
+ <div class="nav-section-header empty">
+ <a href="<?cs var:toroot ?>preview/feedback-support.html">Feedback and Support</a>
+ </div>
+ </li>
+</ul>
\ No newline at end of file
diff --git a/docs/html/preview/setup-devices.jd b/docs/html/preview/setup-devices.jd
new file mode 100644
index 0000000..9ffe9f4
--- /dev/null
+++ b/docs/html/preview/setup-devices.jd
@@ -0,0 +1,81 @@
+page.title=Setting Up Hardware and AVDs
+
+@jd:body
+
+<p>The Android 5.0 developer preview provides you with 32-bit system images
+to flash the following devices:
+</p>
+
+<ul>
+ <li>Nexus 5</li>
+ <li>Nexus 7 Wi-Fi (version 2, released in 2013)</li>
+</ul>
+
+<p>In addition, you also get the emulator system images, which includes
+experimental 64-bit system images along with standard 32-bit system images.
+</p>
+
+<h2>Flashing Devices</h2>
+
+<p class="warning"><b>Warning</b>: This is a preview version of the Android
+system image, and is subject to change. Your use of this system image is
+governed by the Android SDK Preview License Agreement. The Android preview
+system image is not a stable release, and may contain errors and defects that
+can result in damage to your computer systems, devices, and data. The preview
+Android system image is not subject to the same testing as the factory OS and
+can cause your phone and installed services and applications to stop working.
+</p>
+
+<p>
+Click through Terms of Service:
+https://docs.google.com/a/google.com/document/d/1OixnM1Q890ExOzDB3Z-FDD6Sb2kF4uZQiMxsYVII8F0/edit?usp=sharing
+</p>
+
+<h3>To the Developer Preview</h3>
+<ol>
+ <li>Download and extract the Android Developer Preview package to a directory
+ referred to as <code><extracted_images></code>.</li>
+ <li>Connect your powered-off Android device to your development machine and
+ press and hold the following buttons until your device is in fastboot mode:
+ <ul>
+ <li>For Nexus 5: vol down + vol up + power</li>
+ <li>For Nexus 7: vol down + power </li>
+ </ul>
+ <p class="note">Alternatively, run <code>adb reboot bootloader</code>
+ with USB debugging turned on to enter fastboot mode.
+ The device must be booted up if you’re using this method.</p>
+ </li>
+ <li>Follow the instructions at
+ <a href="https://developers.google.com/android/nexus/images">developers.google.com/android</a>
+ to set up your system for flashing devices.</li>
+ <li>Run the <code><extracted-images>/flash-all</code> script
+ corresponding to your platform. This script flashes all of the system data
+ onto the phone.</li>
+ <li>(Optional) After flashing is complete, run <code>fastboot oem lock</code>
+ with the device in fastboot mode to lock it again. This does not wipe your
+ device, but if you want to flash again, you need to run <code>fastboot oem
+ unlock</code>, which wipes your device. We recommend you leave the
+ bootloader unlocked until you are done with flashing the device.</li>
+</ol>
+
+<h3>To factory specifications</h3>
+
+ <p>Go to <a href="http://developers.google.com/android/nexus/images">developers.google.com/android</a>
+ and download the image you want to flash to for your device.
+ Follow the instructions there to flash the image to your device.</p>
+
+
+<h2>Setting up an AVD</h2>
+You can set up Android Virtual Devices (AVD) and use the emulator to
+build and test apps with:
+
+<ol>
+ <li></li>
+ <li></li>
+ <li></li>
+ <li></li>
+ <li></li>
+ <li></li>
+ <li></li>
+ <li></li>
+</ol>
\ No newline at end of file
diff --git a/docs/html/preview/setup-sdk.jd b/docs/html/preview/setup-sdk.jd
new file mode 100644
index 0000000..e0ef40d
--- /dev/null
+++ b/docs/html/preview/setup-sdk.jd
@@ -0,0 +1,32 @@
+page.title=Setting Up the Preview SDK
+
+@jd:body
+
+<p>The Preview SDK is available from the Android SDK Manager. This document assumes that you
+are familiar with Android Development, such as using the Android SDK Manager and creating
+projects. If you're new to Android, see
+<a href="{@docRoot}training/basics/firstapp/index.html">Building Your First App</a> training lesson first.</a></p>
+
+<h2>Download the SDK</h2>
+
+<ol>
+ <li>Start the Android SDK Manager.</li>
+ <li>In the <b>Tools</b> section, select the latest Android <b>SDK Tools</b>, <b>Platform-tools</b>, and <b>Build-tools</b>.</li>
+ <li>Select everything under the <b>Android L Developer Preview</b> section and click <b>Install packages...</b></li>
+ <li>Accept the Licensing Agreement for all of the packages and click <b>Install</b>.</li>
+</ol>
+
+<h2>Set up your environment</h2>
+
+<ol>
+ <li>Create a new Android project with the following properties:
+ <dl>
+ <li>Minimum SDK Version: L</li>
+ <li>Target SDK Version: L</li>
+ <li>Build Target: L</li>
+ </dl>
+ </li>
+ <li>Set the theme for your app to use <code>Theme.Material</code>
+ <li>etc</li>
+</ol>
+
diff --git a/docs/html/tv/images/hero.jpg b/docs/html/tv/images/hero.jpg
new file mode 100644
index 0000000..c42a436
--- /dev/null
+++ b/docs/html/tv/images/hero.jpg
Binary files differ
diff --git a/docs/html/tv/index.jd b/docs/html/tv/index.jd
new file mode 100644
index 0000000..3ced60d
--- /dev/null
+++ b/docs/html/tv/index.jd
@@ -0,0 +1,303 @@
+heropage.title=Android TV
+page.viewport_width=970
+fullpage=true
+no_footer_links=true
+
+@jd:body
+
+<style>
+.fullpage>#footer,
+#jd-content>.content-footer.wrap {
+ display:none;
+}
+</style>
+
+<style>
+#footer {
+ display: none;
+}
+.content-footer {
+ display: none;
+}
+</style>
+
+<div id="video-container">
+ <div id="video-frame">
+ <div class="video-close">
+ <span id="icon-video-close"> </span>
+ </div>
+ <script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
+ <div id="ytapiplayer">
+ <a href="http://www.youtube.com/watch?v=0xQ3y902DEQ"><img width=940
+ src="https://i1.ytimg.com/vi/0xQ3y902DEQ/maxresdefault.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
+ </div>
+ </div>
+</div>
+
+
+
+<div class="landing-body-content">
+ <div class="landing-hero-container">
+
+ <div class="landing-section tv-hero">
+ <div class="landing-hero-scrim"></div>
+ <div class="landing-hero-wrap">
+ <div class="vertical-center-outer">
+ <div class="vertical-center-inner">
+
+ <div class="col-10">
+ <div class="landing-section-header">
+ <div class="landing-h1 hero">Android TV</div>
+ <div class="landing-subhead hero">
+ <p>Big screen, big experience</p>
+ </div>
+ <div class="landing-hero-description">
+ <p>Engage your users from the comfort of their couch.
+ Put your app on TV and bring the whole family into
+ the action.</p>
+ </div>
+
+ <div class="landing-body">
+ <a href="{@docRoot}wear/preview/start.html" class="landing-button landing-primary" style="margin-top: 40px;">
+ Get Started
+ </a>
+ <a id="watchVideo" href="https://youtube.googleapis.com/v/0xQ3y902DEQ">
+ <div class="landing-video-link">Watch the video</div>
+ </a>
+<script>
+$("#watchVideo").on("click", function(e) {
+ $("#video-container").fadeIn(400, function(){$("#video-frame").show()});
+
+ var params = { allowScriptAccess: "always"};
+ var atts = { id: "ytapiplayer" };
+ swfobject.embedSWF("//www.youtube.com/v/0xQ3y902DEQ?enablejsapi=1&playerapiid=ytplayer&version=3&HD=1;rel=0;showinfo=0;modestbranding;origin=developer.android.com;autohide=1;autoplay=1",
+ "ytapiplayer", "940", "526.4", "8", null, null, params, atts);
+
+ e.preventDefault();
+});
+$("#icon-video-close").on("click", function() {
+ ytplayer = document.getElementById("ytapiplayer");
+ try {
+ ytplayer.stopVideo();
+ $(ytplayer).hide();
+ $("#video-container").fadeOut(400);
+ } catch(e) {
+ console.log('Video not available');
+ $("#video-container").fadeOut(400);
+ }
+});
+</script>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ </div> <!-- end .wrap -->
+ <div class="landing-scroll-down-affordance">
+ <a class="landing-down-arrow" href="#reimagine-your-app">
+ <img src="{@docRoot}wear/images/carrot.png" alt="Scroll down to read more">
+ </a>
+ </div>
+ </div> <!-- end .landing-section .landing-hero -->
+ </div> <!-- end .landing-hero-container -->
+
+ <div class="landing-rest-of-page">
+
+ <div class="landing-section landing-gray-background" id="reimagine-your-app">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">Reimagine Your App</div>
+ <div class="landing-subhead">
+ Design your app to shine on the biggest screen in the house.
+ </div>
+ </div>
+
+
+ <div class="landing-body">
+ <div class="landing-breakout cols">
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Simple</p>
+ <p class="landing-small">
+ Smooth, fast interactions are key to a successful TV app. Keep navigation simple
+ and light. Bring your content forward to let users enjoy it with a minimum of
+ fuss.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}design/tv/index.html">Learn about TV design</a>
+ </p>
+ </div>
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Cinematic</p>
+ <p class="landing-small">
+ What would your app look like if it were a film? Use movement, animation and sound to make your app into an experience.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}design/tv/index.html">Learn about TV design</a>
+ </p>
+ </div>
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Beautiful</p>
+ <p class="landing-small">
+ Apps on TV should be a pleasure to look at, as well as enjoyable to use. Use
+ made-for-TV styles to make your app familiar and fun.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}design/tv/index.html">Learn about design for TV</a>
+ </p>
+ </div>
+ </div>
+
+ </div>
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ <div class="landing-section" style="background-color:#f5f5f5">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1">Build to Entertain</div>
+ <div class="landing-subhead">
+ Android TV let's you engage your users in a new, shared environment.<br>
+ Find out how to get your app ready for it's big screen debut.
+ </div>
+ </div>
+
+
+ <div class="landing-body">
+ <div class="landing-breakout cols">
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Made for TV</p>
+ <p class="landing-small">
+ Take advantage of pre-built fragments for browsing and interacting with media
+ catalogs.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}design/tv/index.html">Learn pre-built fragments</a>
+ </p>
+ </div>
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Get Found</p>
+ <p class="landing-small">
+ Give your content the attention it deserves by including it in Android TV's global
+ search results.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}design/tv/index.html">Learn about TV design</a>
+ </p>
+ </div>
+
+ <div class="col-3-wide">
+ <img src="{@docRoot}tv/images/placeholder-square.png" alt="">
+
+ <p>Recommend</p>
+ <p class="landing-small">
+ Suggest content from your app to keep your users coming back.
+ </p>
+ <p class="landing-small">
+ <a href="{@docRoot}design/tv/index.html">Learn about design for TV</a>
+ </p>
+ </div>
+
+ </div>
+
+ </div>
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ <div class="landing-section landing-red-background">
+ <div class="wrap">
+ <div class="landing-section-header">
+ <div class="landing-h1 landing-align-left">Get Started with Android TV</div>
+ <div class="landing-body">
+ <p>You can begin building apps right away using these developer resources.</p>
+ </div>
+ </div>
+
+ <div class="landing-body">
+ <div class="landing-breakout cols">
+ <div class="col-8">
+ <p>Preview SDK</p>
+ <p>
+ Get started building for Android TV using the Android L-preview SDK. The preview
+ SDK includes the Android TV emulator so you can start building your TV app right
+ away.
+ </p>
+
+ </div>
+
+ <div class="col-8">
+ <p>ADT-1 Developer Kit</p>
+ <p>
+ While supplies last, developers can request an ADT-1 Developer Kit, a compact and
+ powerful streaming media player and gamepad, ideal for developing apps for Android
+ TV.
+ </p>
+
+ </div>
+
+ </div>
+ </div>
+
+ <div class="landing-body">
+ <div class="landing-breakout cols">
+
+ <div class="col-8">
+ <a href="{@docRoot}preview/download.html" class="landing-button landing-secondary">
+ Download the Preview SDK
+ </a>
+ </div>
+
+ <div class="col-8">
+ <a href="{@docRoot}tv/adt-1/request.html" class="landing-button landing-secondary">
+ Request ADT-1 Developer Kit
+ </a>
+ </div>
+ </div>
+
+ </div> <!-- end .wrap -->
+ </div> <!-- end .landing-section -->
+
+ </div> <!-- end .landing-rest-of-page -->
+
+
+ <div class="content-footer wrap" itemscope="" itemtype="http://schema.org/SiteNavigationElement">
+ <div class="layout-content-col col-16" style="padding-top:4px">
+ <style>#___plusone_0 {float:right !important;}</style>
+ <div class="g-plusone" data-size="medium"></div>
+ </div>
+ </div>
+ <div id="footer" class="wrap" style="width:940px;position:relative;top:-35px;z-index:-1">
+ <div id="copyright">
+ Except as noted, this content is
+ licensed under <a href="http://creativecommons.org/licenses/by/2.5/">
+ Creative Commons Attribution 2.5</a>. For details and
+ restrictions, see the <a href="/license.html">Content
+ License</a>.
+ </div>
+ </div>
+
+
+ </div> <!-- end landing-body-content -->
+
+ <script>
+ $("a.landing-down-arrow").on("click", function(e) {
+ $("body").animate({
+ scrollTop: $(".wear-hero").height() + 76
+ }, 1000, "easeOutQuint");
+ e.preventDefault();
+ });
+ </script>
diff --git a/docs/html/wear/css/wear.css b/docs/html/wear/css/wear.css
deleted file mode 100644
index 7c8d1a9..0000000
--- a/docs/html/wear/css/wear.css
+++ /dev/null
@@ -1,447 +0,0 @@
-/**
- * UTILITIES
- */
-
-
-.border-box {
- box-sizing: border-box;
-}
-
-.vertical-center-outer {
- display: table;
- height: 100%;
- width: 100%;
-}
-
-.vertical-center-inner {
- display: table-cell;
- vertical-align: middle;
-}
-
-/**
- * TYPE STYLES
- */
-
-.wear-h1 {
- font-weight: 300;
- font-size: 60px;
- line-height: 78px;
- text-align: center;
- letter-spacing: -1px;
-}
-
-.wear-pre-h1 {
- font-weight: 400;
- font-size: 28px;
- color: #93B73F;
- line-height: 36px;
- text-align: center;
- letter-spacing: -1px;
- text-transform: uppercase;
-
-}
-
-.wear-h1.hero {
- text-align: left;
-}
-
-.wear-h2 {
- font-weight: 300;
- font-size: 42px;
- line-height: 64px;
- text-align: center;
-}
-
-
-.wear-subhead {
- color: #999999;
- font-size: 20px;
- line-height: 28px;
- text-align: center;
-}
-.wear-subhead.hero {
- text-align: left;
- color: white;
-}
-
-.wear-hero-description {
- text-align: left;
- margin: 1em 0;
-}
-
-.wear-hero-description p {
- font-weight: 300;
- margin: 0;
- font-size: 18px;
- line-height: 24px;
-}
-
-.wear-body .wear-small {
- font-size: 14px;
- line-height: 19px;
-}
-
-.wear-body.wear-align-center {
- text-align: center;
-}
-
-.wear-align-left {
- text-align: left;
-}
-
-/**
- * LAYOUT
- */
-
-#body-content,
-.fullpage,
-#jd-content,
-.jd-descr,
-.wear-body-content {
- height: 100%;
-}
-
-.wear-section {
- padding: 80px 10px 80px;
- width: 100%;
- margin-left: -10px;
- text-rendering: optimizeLegibility;
-}
-
-#extending-android-to-wearables {
- padding-top: 30px;
-}
-
-.wear-short-section {
- padding: 40px 10px 28px;
-}
-
-.wear-gray-background {
- background-color: #e9e9e9;
-}
-
-.wear-white-background {
- background-color: white;
-}
-
-.wear-red-background {
- color: white;
- background-color: hsl(8, 70%, 54%);
-}
-
-.wear-subhead-red {
- color: hsl(8, 71%, 84%);
- text-align: left;
-}
-
-.wear-subhead-red p {
- margin-top: 20px;
-}
-
-.wear-hero-container {
- height: 100%;
-}
-
-.wear-hero {
- height: calc(100% - 122px);
- min-height: 504px;
- margin-top: 0;
- padding-top: 0;
- padding-bottom: 0;
- background-image: url(/wear/images/hero.jpg);
- background-size: cover;
- background-position: right center;
- color: white;
- position: relative;
- overflow: hidden;
-}
-
-.wear-hero-scrim {
- background: black;
- opacity: .2;
- position: absolute;
- width: 100%;
- height: 100%;
- margin-left: -10px;
-}
-
-.wear-hero-wrap {
- margin: 0 auto;
- width: 940px;
- clear: both;
- height: 100%;
- position: relative;
-}
-
-.wear-section-header {
- margin-bottom: 40px;
-}
-
-.wear-hero-wrap .wear-section-header {
- margin-bottom: 16px;
-}
-
-.wear-body {
- font-size: 18px;
- line-height: 24px;
-}
-
-.wear-button {
- white-space: nowrap;
- display: inline-block;
- padding: 16px 32px;
- font-size: 18px;
- font-weight: 500;
- line-height: 24px;
- cursor: pointer;
- color: white;
- -webkit-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- user-select: none;
- -webkit-transition: .2s background-color ease-in-out;
- -moz-transition: .2s background-color ease-in-out;
- -o-transition: .2s background-color ease-in-out;
- transition: .2s background-color ease-in-out;
-}
-
-.wear-primary {
- background-color: hsl(8, 70%, 54%); /* #dc4b35 */
- color: #f8f8f8;
-}
-
-.wear-button.wear-primary:hover {
- background-color: hsl(8, 70%, 44%); /* #bf3722 */
-}
-
-.wear-button.wear-primary:active {
- background-color: hsl(8, 70%, 36%); /* # */
-}
-
-.wear-button.wear-secondary {
- background-color: hsl(8, 70%, 44%);
-}
-
-.wear-button.wear-secondary:hover {
- background-color: hsl(8, 70%, 36%);
-}
-
-.wear-button.wear-secondary:active {
- background-color: hsl(8, 70%, 30%);
-}
-
-a.wear-button,
-a.wear-button:hover,
-a.wear-button:visited {
- color: white !important;
-}
-
-.wear-video-link {
- white-space: nowrap;
- display: inline-block;
- padding: 16px 32px 16px 82px;
- font-size: 18px;
- font-weight: 400;
- line-height: 24px;
- cursor: pointer;
- color: hsla(0, 0%, 100%, .8);
- -webkit-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- user-select: none;
- -webkit-transition: .2s color ease-in-out;
- -moz-transition: .2s color ease-in-out;
- -o-transition: .2s color ease-in-out;
- transition: .2s color ease-in-out;
-}
-
-.wear-video-link:before {
- height: 64px;
- width: 64px;
- display: inline-block;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAFuklEQVR42u2dXWgcVRSAV9LWtBBTTZVWUhNqEQtq1QeroDRKFRFsROqTYPuo+JCiIoJKFC0USqlUfCiowRcfrBgVUUElefAPkW5T8aeaGn9aRbFsjP0x2cx8PuRMvFxmdjeb2Z17Z8+B85DsZPbO+eaec3/OPSkABdXsVI2gABSAqgJQAKoKQAGoKgAFoKoAFICqAlAAqgpAAai6DqDRAiwDeoFtwB7gPaAInABKwKToCWAMeB/YDdwJrAWWNLh9+QMAXABsBQ4A3wFTwAxQBmaBAAhjNJDPy3L938BXwAvArUCHAkh+kCXAVcA+YBw4bRg7MngtkgTlDPA98CywHmhTAP8/xCbgVeAvMZZpwDQllN7xB/AysKGlAQAXAvuBkzW85UVgCBgENlfQQbmuWAXELPAnsAvoaikAQBtwh/j3coLhS2LIfqCzzu/plL8fkvvFgZiR4L2lHrfkHQBgpQTFUwmGnwC212v0KjC2y/3jQPwDPA+05xYAcBHwubx1YZzhC02QBBBRbxgBzssdAOBy4JgRZE0ZTPuNr7FHDCbEhqNAd24AAN0yUbID7QSwsZChABut3hANXY8Bq70HIMb/Ocb4w81+66v0hmGrN0QQ1ngLQJYRvpWHMWWo4KDIaMnuCcVKgdlZAGL8t2J8vpPGrwChDLyWBMFlAA8D0z4ZvwKEs8D93gCQEc9Jy/jFgkdizaRDGUSs8wXAu1bQLQE9ngHosWbPAXDQeQAypT9rBd3+gociyxi2K9riLABZUj5iuZ6RgsciM2OzFxw2A7JrAO6VwGtKTwpG+Anoy9AVmb3gDHCPcwCAFcChRox6jPu9CazMeFQUAKNRL3AJwE2yopjq228BQPZ/d2bcCyaBTa4BeNGa8Q6naIA4GQWubiKEYWvBbp8zAGQt5VfL/fQ3GEAkTzXDLVkjokA2k5a7AuA2GaLNj/tTfvhq0pQgbcwLQtlQusYVALtlzSR191MjADNI9zbJDZWBR10BMGr5/4GMADQ0SAMDlht62xUAxy0AmzMEEMnhtIO0ZF2YAH5wITd0hQw/5wE04M1bjDyXZpC2hqMlYGnWAHqBf40APOEYgChI35VSWyasWfGqrAH0WVkOIw4CSC1IG2tDoSy7XJE1gPs8ArDoIG0BmJGk30wBDHgGYFFBOgbAtqwB7GxxAHerC8rOBU0Dt2gQzjYIb8gawDor+6HVhqFdrkzEwhabiAVOTMSkUb+06FLEUVfWgj5q0cW4g64AeNo66ZLlcnTDNmesBN4y8KArAG6QU42ttCEzBVzpCoAO4EfLDeV5SzIEvgHaXdqUP2BlQud1Ux55zj2uZUX02cPRnKalRLmu17qYmPWF5YbymJgVAh8Ay5wCII3ZEZOYm6fURGT2u9X43Mnk3CDHybmfmRVYXExPv9nKEcpLejqSC3SjdY2TBzTesHqB7wc0onTEV2KucxLApXKkJy9HlAI5anuJFwCkYQ/EuCJfD+mdBnYkXOssgHY53un7MdVZ4CVgqVcADAhjMafkfTioHc14P04yvvMApIEXy5F/+7S8y6UKolPyR4BVVf7Wi2IdawwIPhTrmAW+rmZ8bwBIQ7vloXwoVzNWS6UUrwAYy9YfOlqwKZDkgneA5Qu4l3cly84F9sqGhislywLmaozuYoGFXr0DII1ukxP1hxJ6QzR7HqLxRfumZaRzXZ3f4XXZyi7gCeB3kqsnzs+kSb9s5XHgMeD8RTxDLgq3rmeuYuFvNYCoR8wqujNi+L3UWBcu9wAMt3QZ8LiMlk5RuU50teq6kcEDgTolveIRYHUQBOek1O5cFu/ukLz7/ZJgNSm+OirebWpgaPS7slxfAr4EngGuX8jopqUBxGzyrAVuB54EXgc+lV4yLhO8cfn5E+ZqUD8kBu9sQvv0Hzj4rmoEBaAAVBWAAlBVAApAVQEoAFUFoABUFYACUFUACkC1CfofXVRJocowZVYAAAAASUVORK5CYII=);
- background-size: contain;
- position: absolute;
- content: "";
- opacity: .7;
- margin-top: -19px;
- margin-left: -64px;
- -webkit-transition: .2s opacity ease-in-out;
- -moz-transition: .2s opacity ease-in-out;
- -o-transition: .2s opacity ease-in-out;
- transition: .2s opacity ease-in-out;
-}
-
-.wear-video-link:hover {
- color: hsla(0, 0%, 100%, 1);
-}
-
-.wear-video-link:hover:before {
- opacity: 1;
-}
-
-.wear-social-image {
- float: left;
- margin-right: 14px;
- height: 64px;
- width: 64px;
-}
-
-.wear-social-copy {
- padding-left: 78px;
-}
-
-.wear-scroll-down-affordance {
- position: absolute;
- bottom: 0;
- width: 100%;
- text-align: center;
- z-index: 10;
-}
-
-.wear-down-arrow {
- padding: 24px;
- display: inline-block;
- opacity: .5;
- -webkit-transition: .2s opacity ease-in-out;
- -moz-transition: .2s opacity ease-in-out;
- -o-transition: .2s opacity ease-in-out;
- transition: .2s opacity ease-in-out;
-
- -webkit-animation-name: pulse-opacity;
- -webkit-animation-duration: 4s;
-}
-
-.wear-down-arrow:hover {
- opacity: 1;
-}
-
-.wear-down-arrow img {
- height: 28px;
- width: 28px;
- margin: 0 auto;
- display: block;
-}
-
-.wear-divider {
- display: inline-block;
- height: 2px;
- background-color: white;
- position: relative;
- margin: 10px 0;
-}
-
-/* 3 CLOLUMN LAYOUT */
-
-.wear-breakout {
- margin-top: 40px;
- margin-bottom: 40px;
-}
-
-.wear-breakout img {
- margin-bottom: 20px;
-}
-
-.wear-partners img {
- margin-bottom: 20px;
-}
-
-.wear-breakout p {
- padding: 0 23px;
-}
-
-.wear-inset-video-container {
- position: relative;
-}
-
-.wear-inset-video-container img.gif {
- max-width: 222px;
- position: absolute;
- top: 40px;
- left: 40px;
-}
-
-img.wear-bezel-only {
- height:302px;
- width:302px;
-}
-
-.wear-breakout.wear-partners img {
- margin-bottom: 20px;
-}
-
-.col-3-wide {
- display: inline;
- float: left;
- margin-left: 10px;
- margin-right: 10px;
-}
-
-.col-3-wide {
- width: 302px;
-}
-
-/**
- * ANIMATION
- */
-
-@-webkit-keyframes pulse-opacity {
- 0% {
- opacity: .5;
- }
- 20% {
- opacity: .5;
- }
- 40% {
- opacity: 1;
- }
- 60% {
- opacity: .5;
- }
- 80% {
- opacity: 1;
- }
- 100% {
- opacity: .5;
- }
-}
-
-
-
-/**
- * VIDEO
- */
-
-#video-container {
- display:none;
- position:fixed;
- top:0;
- left:-10px;
- width:102%;
- height:100%;
- background-color:rgba(0,0,0,0.7);
- z-index:99;
-}
-
-#video-frame {
- width:940px;
- height:526.4px;
- margin:80px auto 0;
- display:none;
-}
-
-.video-close {
-cursor: pointer;
-position: relative;
-left: 940px;
-top: 0;
-pointer-events: all;
-}
-
-#icon-video-close {
-background-image: url("../images/close.png");
-background-position: 0 0;
-height: 36px;
-width: 36px;
-display:block;
-}
diff --git a/docs/html/wear/images/hero.jpg b/docs/html/wear/images/hero.jpg
index 40cc03c..565ffb8 100644
--- a/docs/html/wear/images/hero.jpg
+++ b/docs/html/wear/images/hero.jpg
Binary files differ
diff --git a/docs/html/wear/images/kitchen_still.jpg b/docs/html/wear/images/kitchen_still.jpg
deleted file mode 100644
index 4afe359..0000000
--- a/docs/html/wear/images/kitchen_still.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/html/wear/index.jd b/docs/html/wear/index.jd
index e0a8d12..6aa04a5 100644
--- a/docs/html/wear/index.jd
+++ b/docs/html/wear/index.jd
@@ -2,7 +2,6 @@
page.viewport_width=970
fullpage=true
no_footer_links=true
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="/wear/css/wear.css">
@jd:body
@@ -14,7 +13,6 @@
</style>
-
<div id="video-container">
<div id="video-frame">
<div class="video-close">
@@ -22,41 +20,37 @@
</div>
<script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<div id="ytapiplayer">
- <a href="http://www.youtube.com/watch?v=0xQ3y902DEQ"><img width=940
- src="https://i1.ytimg.com/vi/0xQ3y902DEQ/maxresdefault.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
+ <a href="http://www.youtube.com/watch?v=0xQ3y902DEQ"><img width="940" src="https://i1.ytimg.com/vi/0xQ3y902DEQ/maxresdefault.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
</div>
</div>
</div>
-<div class="wear-body-content">
- <div class="wear-hero-container">
- <div class="wear-section wear-hero">
- <div class="wear-hero-scrim"></div>
- <div class="wear-hero-wrap">
+<div class="landing-body-content">
+ <div class="landing-hero-container">
+ <div class="landing-section wear-hero">
+ <div class="landing-hero-scrim"></div>
+ <div class="landing-hero-wrap">
<div class="vertical-center-outer">
<div class="vertical-center-inner">
<div class="col-10">
- <div class="wear-section-header">
- <div class="wear-h1 hero">Android Wear</div>
- <div class="wear-subhead hero">Information that moves with you</div>
+ <div class="landing-section-header">
+ <div class="landing-h1 hero">Android Wear</div>
+ <div class="landing-subhead hero">Information that moves with you</div>
</div>
- <div class="wear-hero-description">
- <p>Small, powerful devices, worn on the body.
- Useful information when you need it most.
- Intelligent answers to spoken questions.
- Tools to help reach fitness goals.
+ <div class="landing-hero-description">
+ <p>
+ Useful information when you need it most.<br />
+ Intelligent answers to spoken questions.<br />
+ Tools to help reach fitness goals.<br />
Your key to a multiscreen world.</p>
</div>
- <div class="wear-body">
- <a href="/wear/preview/start.html" class="wear-button wear-primary" style="margin-top: 40px;">
- Get the Developer Preview
- </a>
- <a id="watchVideo" href="https://youtube.googleapis.com/v/0xQ3y902DEQ">
- <div class="wear-video-link">Watch the video</div>
+ <div class="landing-body">
+ <a href="/training/wearables/index.html" class="landing-button landing-primary" style="margin-top: 40px;">
+ Get Started
</a>
<script>
$("#watchVideo").on("click", function(e) {
@@ -87,186 +81,136 @@
</div>
</div>
</div> <!-- end .wrap -->
- <div class="wear-scroll-down-affordance">
- <a class="wear-down-arrow" href="#extending-android-to-wearables">
+ <div class="landing-scroll-down-affordance">
+ <a class="landing-down-arrow" href="#extending-android-to-wearables">
<img src="/wear/images/carrot.png" alt="Scroll down to read more">
</a>
</div>
- </div> <!-- end .wear-section .wear-hero -->
- </div> <!-- end .wear-hero-container -->
+ </div> <!-- end .landing-section .landing-hero -->
+ </div> <!-- end .landing-hero-container -->
- <div class="wear-rest-of-page">
- <div class="wear-section" id="extending-android-to-wearables">
+ <div class="landing-rest-of-page">
+ <div class="landing-section" id="extending-android-to-wearables">
<div class="wrap">
- <div class="wear-section-header">
- <div class="wear-h1">Extending Android to Wearables</div>
- <div class="wear-subhead">
- Android Wear extends the Android platform to a new generation of wearable devices. <br>
- The user experience is designed specifically for wearables.
+ <div class="landing-section-header">
+ <div class="landing-h1">Extending Android to Wearables</div>
+ <div class="landing-subhead">
+ Android Wear extends the Android platform to a new generation of devices, <br>
+ with a user experience that's designed specifically for wearables.
</div>
</div>
- <div class="wear-body">
- <div class="wear-breakout cols">
+ <div class="landing-body">
+ <div class="landing-breakout cols">
<div class="col-3-wide">
- <div class="wear-inset-video-container">
- <img class="wear-bezel-only" src="/wear/images/screens/bezel.png" alt="">
+ <div class="landing-inset-video-container">
+ <img class="landing-bezel-only" src="/wear/images/screens/bezel.png" alt="">
<img class="gif" src="/wear/images/screens/reservation_animated.gif">
</div>
- <p class="wear-small">
+ <p class="landing-small">
Say “Ok Google” to ask questions and get stuff done.
</p>
</div>
<div class="col-3-wide">
- <img src="/wear/images/screens/circle_message2.png" itemprop="image" alt="" >
- <p class="wear-small">
- Get glanceable, actionable information at just the right time throughout the day.
+ <img src="/wear/images/screens/circle_message2.png" itemprop="image" alt="">
+ <p class="landing-small">
+ Get glanceable, actionable information at just the right time with notifications
+ that are synced from your handheld device.
</p>
</div>
<div class="col-3-wide">
<img src="/wear/images/screens/fitness-24.png" alt="">
- <p class="wear-small">
- A wide range of sensors is available to your applications, from accelerometers to heart rate monitors.
+ <p class="landing-small">
+ Design apps that can access a wide range of sensors and other hardware
+ directly on the wearable.
</p>
</div>
</div>
<p>
- The Android Wear Developer Preview lets you create wearable experiences for your existing Android apps and see how they will appear on square and round Android wearables.
- </p>
-
- <p>
- Later this year, we’ll be launching the Android Wear SDK, enabling even more customized experiences.
- </p>
- </div>
- </div> <!-- end .wrap -->
- </div> <!-- end .wear-section -->
-
- <div class="wear-section wear-gray-background">
- <div class="wrap">
- <div class="wear-section-header">
- <div class="wear-h1">Developer Preview</div>
- <div class="wear-subhead">
- Your app’s notifications will already appear on Android wearables. <br>
- With the new Android Wear APIs you can customize and extend those notifications.
- </div>
- </div>
-
-
- <div class="wear-body">
- <div class="wear-breakout cols">
- <div class="col-3-wide">
- <img src="images/screens/14_circle_voicereply.png" alt="">
- <p>Receive Voice Replies</p>
- <p class="wear-small">
- Add actions to your notifications to allow users to reply by voice or touch. The system delivers the text to your app on the phone.
- </p>
- <p class="wear-small">
- <a href="/wear/notifications/remote-input.html">Learn about input actions</a>
- </p>
- </div>
- <div class="col-3-wide">
-
-
- <div class="wear-inset-video-container">
- <img class="wear-bezel-only" src="/wear/images/screens/bezel.png" alt="">
- <img class="gif" src="/wear/images/screens/pages_animated.gif">
- </div>
-
- <p>Add Notification Pages</p>
- <p class="wear-small">
- Add additional pages to your notification that are visible on the wearable device to provide detailed information on the wrist.
- </p>
- <p class="wear-small">
- <a href="/wear/notifications/pages.html">Learn about pages</a>
- </p>
- </div>
- <div class="col-3-wide">
- <img src="images/screens/11_stack_B.png" alt="">
- <p>Stack Multiple Notifications</p>
- <p class="wear-small">
- Your app should consolidate similar notifications. On a wearable, you can stack them together so the details for each are immediately available.
- </p>
- <p class="wear-small">
- <a href="/wear/notifications/stacks.html">Learn about stacks</a>
- </p>
- </div>
- </div>
-
- <p>
- You can also trigger your notifications contextually using existing Android APIs. For example, use <a href="{@docRoot}training/location/geofencing.html">geofences</a> to provide glanceable information to your users when they are at home, or use the <a href="{@docRoot}training/location/activity-recognition.html">activity detection APIs</a> to send messages to your users’ wrists while they are bicycling.
- </p>
-
- <p>See the <a href="{@docRoot}wear/design/index.html">Android Wear Developer Preview Design Principles</a> for more suggestions on creating great wearable experiences.</p>
+ Before you start building, check out the
+ <a href="/design/devices/wear.html">Android Wear Design Principles</a>
+ to understand how to create great experiences for this exciting, new form factor.</p>
</div>
</div> <!-- end .wrap -->
- </div> <!-- end .wear-section -->
+ </div> <!-- end .landing-section -->
- <div class="wear-section" style="background-color:#f5f5f5">
+ <div class="landing-section landing-gray-background">
<div class="wrap">
- <div class="wear-section-header">
- <div class="wear-pre-h1">Coming soon</div>
- <div class="wear-h1">The Android Wear SDK</div>
- <div class="wear-subhead">
- The Developer Preview is just the beginning for Android Wear.
+ <div class="landing-section-header">
+ <div class="landing-h1">Developing for Android Wear</div>
+ <div class="landing-subhead">
+ The Android Wear APIs are delivered in the Android v4 support library and Google Play services.
+ This lets Android handhelds, old and new, communicate with Android wearables.
</div>
</div>
- <div class="wear-body">
- <p>
- In the coming months we’ll be launching new APIs and features for Android wearables to create even more unique experiences for the wrist:
- </p>
-
- <div class="wear-breakout cols">
+ <div class="landing-body">
+ <div class="landing-breakout cols">
+ <div class="col-4">
+ <img src="/wear/images/features/ts2.png" alt="">
+ <p>Synced Notifications</p>
+ <p class="landing-small">
+ Notifications on handhelds can automatically sync to wearables, so design them
+ with both devices in mind.
+ </p>
+ <p class="landing-small">
+ <a href="/training/wearables/notifications/index.html">Build notifications</a>
+ </p>
+ </div>
<div class="col-4">
<img src="/wear/images/features/ts1.png" alt="">
- <p>Build Custom UI</p>
- <p class="wear-small">
- Create custom card layouts and run activities directly on wearables.
+ <p>Wearable Apps</p>
+ <p class="landing-small">
+ Create custom experiences with activities, services, sensors, and much
+ more with the Android SDK.
+ </p>
+ <p class="landing-small">
+ <a href="/training/wearables/apps/index.html/">Create wearable apps</a>
</p>
</div>
<div class="col-4">
<img src="/wear/images/features/ts2.png" alt="">
<p>Send Data</p>
- <p class="wear-small">
- Send data and actions between a phone and a wearable with data replication APIs and RPCs.
+ <p class="landing-small">
+ Send data and actions between handhelds and wearables with
+ data replication APIs and RPCs.
</p>
- </div>
- <div class="col-4">
- <img src="/wear/images/features/ts3.png" alt="">
- <p>Control Sensors</p>
- <p class="wear-small">
- Gather sensor data and display it in real-time on Android wearables.
+ <p class="landing-small">
+ <a href="/training/wearables/apps/index.html/">Work with the Data Layer</a>
</p>
</div>
<div class="col-4">
<img src="/wear/images/features/ts4.png" alt="">
<p>Voice Actions</p>
- <p class="wear-small">
- Register your app to handle voice actions, like "Ok Google, take a note."
+ <p class="landing-small">
+ Register your app to handle voice actions, like "Ok Google, take a note,"
+ for a hands-free experience.
+ </p>
+ <p class="landing-small">
+ <a href="/training/wearables/apps/index.html/">Integrate voice actions</a>
</p>
</div>
</div>
-
</div>
</div> <!-- end .wrap -->
- </div> <!-- end .wear-section -->
-
- <div class="wear-section wear-white-background">
+ </div> <!-- end .landing-section -->
+<!--
+ <div class="landing-section landing-white-background">
<div class="wrap">
- <div class="wear-section-header">
- <div class="wear-h2">Building an Ecosystem</div>
- <div class="wear-body wear-align-center">
- <p class="wear-small">
+ <div class="landing-section-header">
+ <div class="landing-h2">Building an Ecosystem</div>
+ <div class="landing-body landing-align-center">
+ <p class="landing-small">
We’re working with several partners to bring you watches powered by Android Wear later this year!
</p>
</div>
</div>
- <div class="wear-partners cols">
+ <div class="landing-partners cols">
<div class="col-4">
<img src="/wear/images/partners/asus.png" alt="Asus">
</div>
@@ -301,68 +245,75 @@
<img src="/wear/images/partners/samsung.png" alt="Samsung">
</div>
</div>
- </div> <!-- end .wrap -->
- </div> <!-- end .wear-section -->
+ </div> <!-- end .wrap
+ </div> <!-- end .landing-section -->
- <div class="wear-section wear-red-background">
+ <div class="landing-section landing-red-background">
<div class="wrap">
- <div class="wear-section-header">
- <div class="wear-h1 wear-align-left">Start working with Android Wear</div>
- <div class="wear-subhead wear-subhead-red">
+ <div class="landing-section-header">
+ <div class="landing-h1 landing-align-left">Get Started with Android Wear</div>
+ <div class="landing-subhead landing-subhead-red">
<p>
- Your app’s notifications will already appear on Android wearables. <br>
- With the new Android Wear APIs, you can customize and extend those notifications.
- </p>
- <p>
- We’re excited about wearables and the experiences developers can create with them. <br>
- We can’t wait to see what you do next.</p>
+ Set up your development environment and start working with the APIs.
+ We’re excited about the experiences you'll create and can't
+ wait to see what you do next.</p>
</div>
</div>
- <div class="wear-body">
- <a href="/wear/preview/start.html" class="wear-button wear-secondary" style="margin-top: 20px;">
- Get the Developer Preview
+ <div class="landing-body">
+ <a href="/training/wearables/index.html" class="landing-button landing-secondary" style="margin-top: 20px;">
+ Get Started
</a>
</div>
</div>
</div>
- <div class="wear-section">
+ <div class="landing-section">
<div class="wrap">
<div class="cols">
- <div class="wear-body">
+ <div class="landing-body">
<div class="col-3-wide">
<a target="_blank" href="https://www.youtube.com/playlist?list=PLWz5rJ2EKKc-kIrPiq098QH9dOle-fLef">
- <img class="wear-social-image" src="//www.google.com/images/icons/product/youtube-128.png" alt="">
+ <img class="landing-social-image" src="//www.google.com/images/icons/product/youtube-128.png" alt="">
</a>
- <div class="wear-social-copy">
+ <div class="landing-social-copy">
<p>DevBytes</p>
- <p class="wear-small">
- Learn how to optimize your app notifications for wearable devices in this <a target="_blank" href="https://www.youtube.com/playlist?list=PLWz5rJ2EKKc-kIrPiq098QH9dOle-fLef">DevBytes video</a> using the Android Wear Developer Preview.
- </p>
+ <p class="landing-small">
+ Learn the basic concepts of Android Wear
+ development with videos from the product team.
+ </p>
+ <br>
+ <p class="landing-small">
+ <a target="_blank" href="https://www.youtube.com/playlist?list=PLWz5rJ2EKKc-kIrPiq098QH9dOle-fLef">DevBytes videos</a>
+ </p>
</div>
</div>
<div class="col-3-wide">
- <a target="_blank" href="http://android-developers.blogspot.com/2014/03/android-wear-developer-preview.html">
- <img class="wear-social-image" src="/wear/images/blogger.png" alt="">
+ <a target="_blank" href="http://android-developers.blogspot.com/2014/03/android-landing-developer-preview.html">
+ <img class="landing-social-image" src="/wear/images/blogger.png" alt="">
</a>
- <div class="wear-social-copy">
+ <div class="landing-social-copy">
<p>Blog Post</p>
- <p class="wear-small">
- Read more about the Android Wear Developer Preview announcement
- at the <a target="_blank" href="http://android-developers.blogspot.com/2014/03/android-wear-developer-preview.html">Android Developers Blog</a>.
+ <p class="landing-small">
+ Read more about Android Wear development
+ on our blog. Just search for "Android Wear".
</p>
+ <br>
+ <p class="landing-small">
+ <a target="_blank" href="http://android-developers.blogspot.com/2014/03/android-wear-developer-preview.html">Android Developers Blog</a>
+ </p>
+ <p></p>
</div>
</div>
<div class="col-3-wide">
<a target="_blank" href="http://g.co/androidweardev">
- <img class="wear-social-image" src="//www.google.com/images/icons/product/gplus-128.png" alt="+Android Wear Developers">
+ <img class="landing-social-image" src="//www.google.com/images/icons/product/gplus-128.png" alt="+Android Wear Developers">
</a>
- <div class="wear-social-copy">
+ <div class="landing-social-copy">
<p>G+ Community</p>
- <p class="wear-small">
- Follow us on Google+ to stay up-to-date on Android Wear development and join the discussion!
+ <p class="landing-small">
+ Follow us on Google+ to stay up-to-date with Android Wear development and to join the discussion!
</p>
- <p class="wear-small">
+ <p class="landing-small">
<a target="_blank" href="http://g.co/androidweardev">+Android Wear Developers</a>
</p>
</div>
@@ -370,14 +321,14 @@
</div>
</div>
</div> <!-- end .wrap -->
- </div> <!-- end .wear-section -->
- </div> <!-- end .wear-rest-of-page -->
+ </div> <!-- end .landing-section -->
+ </div> <!-- end .landing-rest-of-page -->
<div class="content-footer wrap" itemscope="" itemtype="http://schema.org/SiteNavigationElement">
<div class="layout-content-col col-16" style="padding-top:4px">
<style>#___plusone_0 {float:right !important;}</style>
- <div class="g-plusone" data-size="medium"></div>
+ <div id="___plusone_0" style="text-indent: 0px; margin: 0px; padding: 0px; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline; display: inline-block; width: 90px; height: 20px; background: transparent;"><iframe frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" style="position: static; top: 0px; width: 90px; margin: 0px; border-style: none; left: 0px; visibility: visible; height: 20px;" tabindex="0" vspace="0" width="100%" id="I0_1402525433965" name="I0_1402525433965" src="https://apis.google.com/u/0/_/+1/fastbutton?usegapi=1&size=medium&origin=http%3A%2F%2Frobertly.mtv%3A8080&url=http%3A%2F%2Frobertly.mtv%3A8080%2Fwear%2Findex.html&gsrc=3p&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.QxHQHBkhz7M.O%2Fm%3D__features__%2Fam%3DUQ%2Frt%3Dj%2Fd%3D1%2Fz%3Dzcms%2Frs%3DAItRSTMLrMyRVKsu2FQoRingre3w1MT49A#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh%2Conload&id=I0_1402525433965&parent=http%3A%2F%2Frobertly.mtv%3A8080&pfname=&rpctoken=32453860" data-gapiattached="true" title="+1"></iframe></div>
</div>
</div>
<div id="footer" class="wrap" style="width:940px;position:relative;top:-35px;z-index:-1">
@@ -391,14 +342,4 @@
</div>
- </div> <!-- end wear-body-content -->
-
- <script>
- $("a.wear-down-arrow").on("click", function(e) {
- $("body").animate({
- scrollTop: $(".wear-hero").height() + 128
- }, 1000, "easeOutQuint");
- e.preventDefault();
- });
- </script>
-
+ </div> <!-- end landing-body-content -->
\ No newline at end of file
diff --git a/docs/html/wear/license.jd b/docs/html/wear/license.jd
deleted file mode 100644
index b07dacf..0000000
--- a/docs/html/wear/license.jd
+++ /dev/null
@@ -1,142 +0,0 @@
-page.title=Developer Preview License Agreement
-
-@jd:body
-
-
-<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
-This is the Android Wear Developer Preview License Agreement.
-
-1. Introduction
-
-1.1 The Android Wear Developer Preview Kit (referred to in this License Agreement as the “Developer Preview” and specifically including the Android system files, packaged APIs, Developer Preview library files, and the Developer Preview companion app, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Developer Preview.
-
-1.2 "Android Wear" means the Android Wear devices and the Android Wear software stack for use on Android Wear devices.
-
-1.3 "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.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 this License Agreement
-
-2.1 In order to use the Developer Preview, you must first agree to this License Agreement. You may not use the Developer Preview if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
-
-2.3 You may not use the Developer Preview and may not accept the License Agreement if you are a person barred from receiving the Developer 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 Developer Preview.
-
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Developer Preview on behalf of your employer or other entity.
-
-3. Developer Preview License from Google
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, internal-use, non-assignable and non-exclusive license to use the Developer Preview solely to develop applications to run on the Android Wear platform for Android Wear devices.
-
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the Developer Preview, including any Intellectual Property Rights that subsist in the Developer 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.3 You may not use the Developer Preview for any purpose not expressly permitted by this 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 Developer Preview or any part of the Developer Preview; or (b) load any part of the Developer Preview onto a mobile handset or wearable computing device or any other hardware device except an Android Wear device, combine any part of the Developer Preview with other software, or distribute any software or device incorporating a part of the Developer Preview.
-
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android Wear, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Developer Preview.
-
-3.5 Use, reproduction and distribution of components of the Developer Preview licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
-
-3.6 You agree that the form and nature of the Developer Preview that Google provides may change without prior notice to you and that future versions of the Developer Preview may be incompatible with applications developed on previous versions of the Developer Preview. You agree that Google may stop (permanently or temporarily) providing the Developer Preview (or any features within the Developer Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in this 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 Developer Preview.
-
-3.9 Your use of any Android system files, packaged APIs, or other components of the Developer Preview which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement.
-
-4. Use of the Developer Preview by You
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Developer Preview, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the Developer Preview and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Google Play Developer Program Policies located at https://play.google.com/about/developer-content-policy.html, and hereby incorporated into this License Agreement by reference), and (c) 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). You agree to use reasonable efforts to comply with the Android Wear Platform Design Guide available on the Android Wear developer website
-
-4.3 You agree that if you use the Developer Preview to develop applications for general public users, you will protect the privacy and legal rights of those users. If the 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 the user provides your application 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, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the Developer 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 any third party including, but not limited to, Google.
-
-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 Wear and/or applications for Android Wear, 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 this 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 Unless otherwise specified in writing by Google, Google does not intend use of Android Wear to create obligations under the Health Insurance Portability and Accountability Act, as amended, (“HIPAA”), and makes no representations that Android Wear satisfies HIPAA requirements. If you are (or become) a Covered Entity or Business Associate under HIPAA, you agree not to use Android Wear for any purpose or in any manner involving Protected Health Information unless you have received prior written consent to such use from Google.
-
-4.8 The Developer Preview is in development, and your testing and feedback are an important part of the development process. By using the Developer Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Developer Preview, Android Wear devices, Android Wear system software, or Android Wear services having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Developer Preview as this Developer Preview will no longer be supported after the official 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 Developer 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 Developer Preview are being used and how they are being used. Before any of this information is collected, the Developer 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 Developer Preview and is maintained in accordance with Google's Privacy Policy lcoated at http://www.google.com/policies/privacy/.
-
-7. Third Party Applications
-
-7.1 If you use the Developer 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. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-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 this License Agreement
-
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Developer Preview and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of Developer Preview (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Developer Preview to you; or
-(D) Google decides to no longer provide the Developer Preview or certain parts of the Developer Preview to users in the country in which you are resident or from which you use the service, or the provision of the Developer Preview or certain Developer Preview services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE DEVELOPER PREVIEW IS AT YOUR SOLE RISK AND THAT THE DEVELOPER PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE DEVELOPER PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE DEVELOPER 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.
-
-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 Developer Preview, (b) any application you develop on the Developer Preview that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this 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 Developer Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Developer Preview is made available.
-
-14. General Legal Terms
-
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Developer 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 Developer Preview.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this 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 this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this 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 this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this 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 this License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE DEVELOPER 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 DEVELOPER PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this 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 this 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>
diff --git a/docs/html/wear/preview/signup.jd b/docs/html/wear/preview/signup.jd
deleted file mode 100644
index 8e8ec9a..0000000
--- a/docs/html/wear/preview/signup.jd
+++ /dev/null
@@ -1,169 +0,0 @@
-page.title=Sign Up for the Developer Preview
-
-@jd:body
-
-<p>To get started with the Android Wear Developer Preview, you must agree to the
- following terms and conditions and provide the email address for your Google account.
-After signing up, you’ll have access to:</p>
-<ul>
- <li>New APIs that allow you to build enhanced notifications for wearables.</li>
- <li>Sample code using the new APIs.</li>
- <li>The Android Wear Preview app that delivers your notifications to the Android Wear emulator.</li>
-</ul>
-
-<div class="sdk-terms" style="width:678px" onfocus="this.blur()"><div class="sdk-terms-padding">
-This is the Android Wear Developer Preview License Agreement.
-
-1. Introduction
-
-1.1 The Android Wear Developer Preview Kit (referred to in this License Agreement as the “Developer Preview” and specifically including the Android system files, packaged APIs, Developer Preview library files, and the Developer Preview companion app, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Developer Preview.
-
-1.2 "Android Wear" means the Android Wear devices and the Android Wear software stack for use on Android Wear devices.
-
-1.3 "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.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 this License Agreement
-
-2.1 In order to use the Developer Preview, you must first agree to this License Agreement. You may not use the Developer Preview if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
-
-2.3 You may not use the Developer Preview and may not accept the License Agreement if you are a person barred from receiving the Developer 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 Developer Preview.
-
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Developer Preview on behalf of your employer or other entity.
-
-3. Developer Preview License from Google
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, internal-use, non-assignable and non-exclusive license to use the Developer Preview solely to develop applications to run on the Android Wear platform for Android Wear devices.
-
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the Developer Preview, including any Intellectual Property Rights that subsist in the Developer 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.3 You may not use the Developer Preview for any purpose not expressly permitted by this 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 Developer Preview or any part of the Developer Preview; or (b) load any part of the Developer Preview onto a mobile handset or wearable computing device or any other hardware device except an Android Wear device, combine any part of the Developer Preview with other software, or distribute any software or device incorporating a part of the Developer Preview.
-
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android Wear, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Developer Preview.
-
-3.5 Use, reproduction and distribution of components of the Developer Preview licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
-
-3.6 You agree that the form and nature of the Developer Preview that Google provides may change without prior notice to you and that future versions of the Developer Preview may be incompatible with applications developed on previous versions of the Developer Preview. You agree that Google may stop (permanently or temporarily) providing the Developer Preview (or any features within the Developer Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in this 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 Developer Preview.
-
-3.9 Your use of any Android system files, packaged APIs, or other components of the Developer Preview which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement.
-
-4. Use of the Developer Preview by You
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Developer Preview, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the Developer Preview and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Google Play Developer Program Policies located at https://play.google.com/about/developer-content-policy.html, and hereby incorporated into this License Agreement by reference), and (c) 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). You agree to use reasonable efforts to comply with the Android Wear Platform Design Guide available on the Android Wear developer website
-
-4.3 You agree that if you use the Developer Preview to develop applications for general public users, you will protect the privacy and legal rights of those users. If the 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 the user provides your application 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, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the Developer 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 any third party including, but not limited to, Google.
-
-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 Wear and/or applications for Android Wear, 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 this 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 Unless otherwise specified in writing by Google, Google does not intend use of Android Wear to create obligations under the Health Insurance Portability and Accountability Act, as amended, (“HIPAA”), and makes no representations that Android Wear satisfies HIPAA requirements. If you are (or become) a Covered Entity or Business Associate under HIPAA, you agree not to use Android Wear for any purpose or in any manner involving Protected Health Information unless you have received prior written consent to such use from Google.
-
-4.8 The Developer Preview is in development, and your testing and feedback are an important part of the development process. By using the Developer Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Developer Preview, Android Wear devices, Android Wear system software, or Android Wear services having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Developer Preview as this Developer Preview will no longer be supported after the official 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 Developer 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 Developer Preview are being used and how they are being used. Before any of this information is collected, the Developer 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 Developer Preview and is maintained in accordance with Google's Privacy Policy lcoated at http://www.google.com/policies/privacy/.
-
-7. Third Party Applications
-
-7.1 If you use the Developer 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. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-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 this License Agreement
-
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Developer Preview and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of Developer Preview (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Developer Preview to you; or
-(D) Google decides to no longer provide the Developer Preview or certain parts of the Developer Preview to users in the country in which you are resident or from which you use the service, or the provision of the Developer Preview or certain Developer Preview services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE DEVELOPER PREVIEW IS AT YOUR SOLE RISK AND THAT THE DEVELOPER PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE DEVELOPER PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE DEVELOPER 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.
-
-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 Developer Preview, (b) any application you develop on the Developer Preview that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this 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 Developer Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Developer Preview is made available.
-
-14. General Legal Terms
-
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Developer 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 Developer Preview.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this 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 this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this 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 this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this 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 this License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE DEVELOPER 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 DEVELOPER PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this 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 this 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></div>
-
-
-<p class="caution">
- <strong>Important:</strong> Your email address is used to provide your Google account
- access to the Android Wear Preview app Beta Preview on Google Play Store. As such, the
- email address you provide below must be for the account you use to download apps on Google Play Store.
- We may also use your email address to provide you with updates about the Android Wear
- platform release.
-</p>
-
-<iframe src="https://docs.google.com/forms/d/1iSJ084kEkV242cZisNMnj6G8qpi9r_zdEyfXA-hB1ao/viewform?embedded=true" width="100%" height="540" frameborder="0" marginheight="0" marginwidth="0" id="signupform">Loading...</iframe>
-
-
-
-
-</body>
-</html>
diff --git a/docs/html/wear/preview/start.jd b/docs/html/wear/preview/start.jd
deleted file mode 100644
index f8f0129..0000000
--- a/docs/html/wear/preview/start.jd
+++ /dev/null
@@ -1,254 +0,0 @@
-page.title=Get Started with the Developer Preview
-
-@jd:body
-
-
-<div class="cols">
-
- <div class="col-5">
-<p>The Android Wear Developer Preview includes tools and APIs that allow you to
-enhance your app notifications
-to provide an optimized user experience on Android wearables.</p>
-
-<p>With the Android Wear Developer Preview, you can:</p>
-
-<ul>
- <li>Run the Android Wear platform in the Android emulator.</li>
- <li>Connect your Android device to the emulator and view notifications from the
-device as cards on Android Wear.</li>
- <li>Try new APIs in the preview support library that enhance your app's notifications
-with features such as voice replies and notification pages.</li>
-</ul>
-
-<p>To get access to the Developer Preview tools,
-click the sign up button on the right, then follow the setup instructions below.</p>
- </div>
-
- <div class="col-7">
-<img src="/wear/images/laptop-bridge.png" width="400" height="222" alt="" />
-
-<a href="/wear/preview/signup.html" class="button" style="
- width: 370px;
- margin: 10px 0 20px;
- font-weight: bold;
- font-size: 16px;
-">Sign Up for the Developer Preview</a>
-
-<p>Signing up provides you access to:</p>
-<ul>
-<li>New notification APIs in the preview support library.</li>
-<li>Sample apps using the new notification APIs.</li>
-<li>The <em>Android Wear Preview</em> app for your mobile device, which connects
-your device to the Android Wear emulator.</li>
-</ul>
-
- </div>
-</div>
-
-
-<p class="caution"><strong>Caution:</strong>
-The current Android Wear Developer Preview is intended for <b>development and testing purposes only</b>, not for production apps. Google may change this Developer Preview significantly prior to the official release of the Android Wear SDK. You may not publicly distribute or ship any application using this Developer Preview, as this Developer Preview will no longer be supported after the official SDK is released (which will cause applications based only on the Developer Preview to break).</p>
-
-
-
-
-<h2 id="Prereq">Prerequisites</h2>
-
-<p>Before you begin the setup, you must:</p>
-
-<ol>
- <li><a href="{@docRoot}sdk/index.html"><b>Install the Android SDK</b></a>.
- <p>The Android SDK includes all the developer tools required to build
-apps for Android (optional IDEs are also available for download).</p></li>
- <li><a href="{@docRoot}wear/preview/signup.html"><b>Sign up for the Android Wear Developer Preview</b></a>.
- <p>You must sign up with a Gmail or other Google account in order to download the
-preview support library and receive access to the
-<em>Android Wear Preview</em> beta app on Google Play Store.</p></li>
-</ol>
-
-<p class="note"><strong>Note:</strong>
-If you're using the ADT plugin for Eclipse, you must update to version 22.6.1 or higher.
-If you're using Android Studio, you must update to version 0.5.1 or higher</p>
-
-
-
-<h2 id="Install">1. Install the Android Wear System Image</h2>
-
-
-<ol>
- <li>Launch <a href="{@docRoot}tools/help/sdk-manager.html"
- >Android SDK Manager</a>.
- <ul>
- <li>From Eclipse, select <b>Window > Android SDK Manager</b>.</li>
- <li>From Android Studio, select <b>Tools > Android > SDK Manager</b>.</li>
- </ul>
- </li>
- <li>Below Tools, verify that you have Android SDK Tools revision 22.6 or higher.
- <p>If your version of Android SDK Tools is lower than 22.6, you must update:</p>
- <ol>
- <li>Select <strong>Android SDK Tools</strong>.</li>
- <li>Click <strong>Install package</strong>.</li>
- <li>Accept the license and click <strong>Install</strong>.</li>
- <li>When the installation completes, restart Android SDK Manager.</li>
- </ol>
- </li>
-
- <li>Below Android 4.4.2, select <strong>Android Wear ARM EABI v7a System Image</strong>.
-<p class="note"><strong>Note:</strong> Android Wear is designed to support multiple processor architectures.
-</p></li>
- <li>Below Extras, ensure that you have the latest version of the
-<a href="{@docRoot}tools/support-library/index.html">Android Support Library</a>.
- If an update is available, select <strong>Android Support Library</strong>. If you're using Android Studio, also select <strong>Android Support Repository</strong>.</li>
- <li>Click <strong>Install packages</strong>.</li>
- <li>Accept the license and click <strong>Install</strong>.</li>
-</ol>
-
-
-
-<h2 id="SetupEmulator">2. Set Up the Android Wear Emulator</h2>
-
-<ol>
-<li>Launch the <a href="{@docRoot}tools/help/avd-manager.html"
- >Android Virtual Device Manager</a>.
-<ul>
-<li>From Eclipse, select <b>Window > Android Virtual Device Manager</b>.</li>
-<li>From Android Studio, select <b>Tools > Android > AVD Manager</b>.</li>
-</ul>
-</li>
-<li>Click <strong>New</strong>.</li>
-<li>For the AVD Name, enter "AndroidWearSquare" or "AndroidWearRound", depending on whether
-you want to create an emulator with a square or round display.</li>
-<li>For the Device, select <strong>Android Wear Square</strong> or
- <strong>Android Wear Round</strong>.</li>
-<li>For the Target, select <strong>Android 4.4.2 - API Level 19</strong> (or higher).</li>
-<li>For the CPU/ABI, select <strong>Android Wear ARM (armeabi-v7a)</strong>.
-<p class="note"><strong>Note:</strong> Android Wear is designed to support multiple processor architectures.
-</p></li>
-<li>For the Skin, select <strong>AndroidWearSquare</strong> or
-<strong>AndroidWearRound</strong>.</li>
-<li>Leave all other options set to their defaults and click <strong>OK</strong>.
- <p>Although real Android wearables do not provide a keyboard as an input method,
- you should keep <strong>Hardware keyboard present</strong> selected so you can
- provide text input on screens where users will instead provide voice input.</p>
-</li>
-<!--
-<li>Click <strong>Device Definitions</strong>.</li>
-<li>Select <strong>Android WearSquare</strong> then click <strong>Create AVD</strong>.</li>
-<li>Click <strong>OK</strong>.</li>
--->
-<li>In the list of AVDs, select the one you just created and click
- <strong>Start</strong>. In the following window, click <strong>Launch</strong>.</li>
-</ol>
-
-<p>The Android Wear emulator now starts. To begin testing your app's notifications,
-you must now pair the emulator to your development device
-that has the <em>Android Wear Preview</em> app installed.</p>
-
-<p class="note"><strong>Tip:</strong> To improve the emulator startup time, edit your AVD
-and enable <strong>Snapshot</strong> under Emulator Options. When you start the emulator,
-select <strong>Save to snapshot</strong> then click <strong>Launch</strong>. Once the emulator
-is running, close it to save a snapshot of the system.
-Start the AVD again, but select <strong>Launch from snapshot</strong> and
-deselect <strong>Save to snapshot</strong>.</p>
-
-<p class="caution"><strong>Caution:</strong> Do not install apps on the Android Wear emulator.
-The system does not support traditional Android apps and the result of running such apps is
-unpredictable.</p>
-
-
-
-<h2 id="SetupApp">3. Set Up the Android Wear Preview App</h2>
-
-<p>To view your app's notifications on the Android Wear emulator, you must have the
-<em>Android Wear Preview</em> app installed on your Android device (a phone or tablet).</p>
-
-<p>To receive the Android Wear Preview app, you must <a
-href="{@docRoot}wear/preview/signup.html">sign up for the Developer Preview</a> using the same
-Gmail or Google account you use with Google Play Store.</p>
-</p>
-
-<p class="note"><strong>Note:</strong> The <em>Android Wear Preview</em> app is compatible with
- Android 4.3 and higher and is not available for the Android emulator.</p>
-
-<p>After you've signed up for the Developer Preview,
- you'll receive a confirmation email that includes a link to opt-in to the
- <em>Android Wear Preview</em> app beta program. Once you opt-in, it may take up to 24 hours for the
- app to become available in Google Play Store.</p>
-
-<p>After you install the <em>Android Wear Preview</em> app, you can set up
- your device to communicate with the Android Wear emulator:</p>
-
-<ol>
-<li>Open the <em>Android Wear Preview</em> app. You should see a notice that the app is currently
- not enabled as a notification listener. Tap the message to open the system settings,
- then select Android Wear Preview to grant it notification access.</li>
-<li>Connect your device to your development machine over USB. Be sure that no other
- Android devices are connected to the machine.</li>
-<li>Ensure that the Android Wear emulator (created in the previous section) is running.
-The emulator should show the time and an icon that indicates no device is connected.</li>
-<li>Open a command line terminal, navigate to your Android SDK's <code>platform-tools/</code>
-directory, then execute:
-<pre style="margin-top:.5em">adb -d forward tcp:5601 tcp:5601</pre>
-<p class="note"><strong>Note:</strong> You must execute this command each time you connect your
-device over USB.</p>
-</li>
-<li>Return to the Android Wear Preview app. It should now indicate that it is connected to
- the emulator. The Android Wear emulator should now show the 'g' orb icon, indicating
- that is is connected to your device.
-</ol>
-
-<p>Now, notifications from your device also appear in the Android Wear emulator.</p>
-
-
-
-
-<h2 id="AddLibrary">4. Add the Support Library to Your Project</h2>
-
-<p>The Android Wear preview support library includes several APIs that allow you to
-optimize your app's notifications for the Android Wear user experience.</p>
-
-<p>To receive the preview support library, you must <a
-href="{@docRoot}wear/preview/signup.html">sign up for the Developer Preview</a>. The
-confirmation email you receive after you sign up includes a link to download a ZIP file,
-which contains the preview support library and some sample apps.</p>
-
-<p>After you download and unzip the package, add the preview support library
-sto your Android project:</p>
-
-<p><b>If you're using Eclipse:</b></p>
- <ol>
- <li>In your Android app project, create a <code>libs/</code> directory in your project root
- (the same location as the <code>AndroidManifest.xml</code> file).</li>
- <li>Copy the v4 support library JAR file from your Android SDK directory (e.g.,
- <code><sdk>/extras/android/support/v4/android-support-v4.jar</code>) into your
- project <code>libs/</code> directory.
- <li>Also save the <code>wearable-preview-support.jar</code> file in the <code>libs/</code> directory.
- <li>Right click each JAR file and select <strong>Build Path > Add to Build Path</strong>.</li>
- </ol>
-
- <p><b>If you're using Android Studio:</b></p>
- <ol>
- <li>In your Android app project, create a <code>libs/</code> directory in your project root
- (the same location as the <code>AndroidManifest.xml</code> file).</li>
- <li>Save the <code>wearable-preview-support.jar</code> file in the <code>libs/</code> directory.
- <li>Open the <code>build.gradle</code> file in your app module.</li>
- <li>Add a dependency rule for both the v4 support library and the Android Wear
- preview support library:
-<pre>
-dependencies {
- compile "com.android.support:support-v4:18.0.+"
- compile files('../libs/wearable-preview-support.jar')
-}
-</pre>
- </li>
- <li>Click <strong>Sync Project with Gradle Files</strong> in the toolbar.</li>
- </ol>
-
-<p>To start optimizing your notifications for Android Wear,
- read <a href="{@docRoot}wear/notifications/creating.html"
- >Creating Notifications for Android Wear</a>.</p>
-
-
-
-</body>
-</html>