Doc change: updates for final N landing page and related resources.

am: b0ca00431f

Change-Id: Ic5bbcdd6bd7e1575e274db16dfb81ed885a24dad
This commit is contained in:
Dirk Dougherty
2016-08-20 06:06:23 +00:00
committed by android-build-merger
14 changed files with 92 additions and 279 deletions

View File

@@ -1252,7 +1252,7 @@ redirects:
- from: /preview/samples.html
to: /about/versions/nougat/android-7.0-samples.html
- from: /preview/guide.html
to: /about/versions/nougat/android-7.0-testing.html
to: /about/versions/nougat/index.html
- from: /preview/api-overview.html
to: /about/versions/nougat/android-7.0.html
- from: /preview/index.html

View File

@@ -2,14 +2,12 @@ toc:
- title: Nougat
path: /about/versions/nougat/index.html
section:
- title: Android 7.0 APIs
- title: Android 7.0 for Developers
path: /about/versions/nougat/android-7.0.html
- title: Android 7.0 Changes
- title: Android 7.0 Behavior Changes
path: /about/versions/nougat/android-7.0-changes.html
- title: Android 7.0 Samples
path: /about/versions/nougat/android-7.0-samples.html
- title: Android 7.0 Testing
path: /about/versions/nougat/android-7.0-testing.html
- title: Marshmallow
path: /about/versions/marshmallow/index.html

View File

@@ -1,4 +1,16 @@
<ul id="nav">
<li class="nav-section">
<div class="nav-section-header"><a href="<?cs var:toroot ?>about/versions/nougat/index.html">
<span class="en">Nougat</span></a></div>
<ul>
<li><a href="<?cs var:toroot ?>about/versions/nougat/android-7.0.html">
Android 7.0 for Developers</a></li>
<li><a href="<?cs var:toroot ?>about/versions/nougat/android-7.0-changes.html">
Android 7.0 Changes</a></li>
<li><a href="<?cs var:toroot ?>about/versions/nougat/android-7.0-samples.html">
Android 7.0 Samples</a></li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="<?cs var:toroot ?>about/versions/marshmallow/index.html">
<span class="en">Marshmallow</span></a></div>

View File

@@ -2,7 +2,6 @@ page.title=Android 6.0 Marshmallow
page.tags="marshmallow"
meta.tags="marshamallow","android60"
fullpage=true
nonavpage=true
forcelocalnav=true
header.hide=1
footer.hide=1

View File

@@ -1,7 +1,7 @@
page.title=Android 7.0 Changes
page.title=Android 7.0 Behavior Changes
page.keywords=preview,sdk,compatibility
meta.tags="Android 7.0", "Nougat", "android n", "compatibility"
page.tags="Android 7.0", "Nougat", "android n", "developer preview"
meta.tags="Nougat", "android n", "compatibility"
page.tags="Android 7.0", "Nougat", "android n"
page.image=images/cards/card-n-changes_2x.png
@jd:body
@@ -35,16 +35,14 @@ page.image=images/cards/card-n-changes_2x.png
<h2>API Differences</h2>
<ol>
<li><a href="{@docRoot}sdk/api_diff/n-preview-4-incr/changes.html">
Preview 3 to API 24</a></li>
<li><a href="{@docRoot}sdk/api_diff/24/changes.html">
API 23 to API 24</a></li>
</ol>
<h2>See Also</h2>
<ol>
<li><a href="{@docRoot}preview/api-overview.html">
Android 7.0 APIs</a></li>
<li><a href="{@docRoot}about/versions/nougat/android-7.0.html">
Android 7.0 for Developers</a></li>
</ol>
</div>

View File

@@ -1,10 +1,11 @@
page.title=Android 7.0 Samples
page.tags="Android 7.0", "nougat", "samples", "android"
meta.tags="android n", "Nougat", "android 7.0"
page.image=images/cards/card-n-samples_2x.png
@jd:body
<p>
The following code samples are provided for Android 7.0. To
Use the code samples below to learn about Android 7.0 capabilities and APIs. To
download the samples in Android Studio, select the <b>File &gt; Import
Samples</b> menu option.
</p>

View File

@@ -1,190 +0,0 @@
page.title=Android 7.0 Testing Guide
page.image=images/cards/card-n-guide_2x.png
meta.tags="preview", "testing"
page.tags="preview", "developer preview"
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
<li><a href="#runtime-permissions">Testing Permissions</a></li>
<li><a href="#doze-standby">Testing Doze and App Standby</a></li>
<li><a href="#ids">Auto Backup and Device Identifiers</a></li>
</ol>
</div>
</div>
<p>
Android 7.0 gives you an opportunity to ensure your apps work with the next
version of the platform. This preview includes a number of APIs and behavior changes that can
impact your app, as described in the <a href="{@docRoot}preview/api-overview.html">API
Overview</a> and <a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a>. In testing
your app with the preview, there are some specific system changes that you should focus on to
ensure that users have a good experience.
</p>
<p>
This guide describes the what and how to test preview features with your app. You should
prioritize testing of these specific preview features, due to their high potential impact on your
app's behavior:
</p>
<ul>
<li><a href="#runtime-permissions">Permissions</a>
</li>
<li><a href="#doze-standby">Doze and App Standby</a>
</li>
<li><a href="#ids">Auto Backup and Device Identifiers</a></li>
</ul>
<p>
For more information about how to set up devices or virtual devices with a preview system image
for testing, see <a href="{@docRoot}preview/setup-sdk.html">Set up
the Android N SDK</a>.
</p>
<h2 id="runtime-permissions">Testing Permissions</h2>
<p>
The new <a href="{@docRoot}preview/features/runtime-permissions.html">Permissions</a> model
changes the way that permissions are allocated to your app by the user. Instead of granting all
permissions during the install procedure, your app must ask the user for individual permissions
at runtime. For users this behavior provides more granular control over each apps activities, as
well as better context for understanding why the app is requesting a specific permission. Users
can grant or revoke the permissions granted to an app individually at any time. This feature of
the preview is most likely to have an impact on your app's behavior and may prevent some of your
app features from working, or they may work in a degraded state.
</p>
<p class="caution">
This change affects all apps running on the new platform, even those not targeting the new
platform version. The platform provides a limited compatibility behavior for legacy apps, but you
should begin planning your apps migration to the new permissions model now, with a goal of
publishing an updated version of your app at the official platform launch.
</p>
<h3 id="permission-test-tips">Test tips</h3>
<p>
Use the following test tips to help you plan and execute testing of your app with the new
permissions behavior.
</p>
<ul>
<li>Identify your apps current permissions and the related code paths.</li>
<li>Test user flows across permission-protected services and data.</li>
<li>Test with various combinations of granted/revoked permission.</li>
<li>Use the {@code adb} tool to manage permssions from the command line:
<ul>
<li>List permissions and status by group:
<pre>adb shell pm list permissions -d -g</pre>
</li>
<li>Grant or revoke one or more permissions using the following syntax:<br>
<pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
</li>
</ul>
</li>
<li>Analyze your app for services that use permissions.</li>
</ul>
<h3 id="permission-test-strategy">Test strategy</h3>
<p>
The permissions change affects the structure and design of your app, as well as
the user experience and flows you provide to users. You should assess your apps current
permissions use and start planning for the new flows you want to offer. The official release of
the platform provides compatibility behavior, but you should plan on updating your app and not
rely on these behaviors.
</p>
<p>
Identify the permissions that your app actually needs and uses, and then find the various code
paths that use the permission-protected services. You can do this through a combination of
testing on the new platform and code analysis. In testing, you should focus on opting in to
runtime permissions by changing the apps {@code targetSdkVersion} to the preview version. For
more information, see <a href="{@docRoot}preview/setup-sdk.html#">Set up
the Android N SDK</a>.
</p>
<p>
Test with various combinations of permissions revoked and added, to highlight the user flows that
depend on permissions. Where a dependency is not obvious or logical you should consider
refactoring or compartmentalizing that flow to eliminate the dependency or make it clear why the
permission is needed.
</p>
<p>
For more information on the behavior of runtime permissions, testing, and best practices, see the
<a href="{@docRoot}preview/features/runtime-permissions.html">Permissions</a> developer
preview page.
</p>
<h2 id="doze-standby">Testing Doze and App Standby</h2>
<p>
The power saving features of Doze and App Standby limit the amount of background processing that
your app can perform when a device is in an idle state or while your app is not in focus. The
restrictions the system may impose on apps include limited or no network access,
suspended background tasks, suspended Notifications, ignored wake requests, and alarms. To ensure
that your app behaves properly with these power saving optimizations, you should test your app by
simulating these low power states.
</p>
<h4 id="doze">Testing your app with Doze</h4>
<p>To test Doze with your app:</p>
<ol>
<li>Configure a hardware device or virtual device with an Android N system image.</li>
<li>Connect the device to your development machine and install your app.</li>
<li>Run your app and leave it active.</li>
<li>Simulate the device going into Doze mode by running the following commands:
<pre>
$ adb shell dumpsys battery unplug
$ adb shell dumpsys deviceidle step
$ adb shell dumpsys deviceidle -h
</pre>
</li>
<li>Observe the behavior of your app when the device is re-activated. Make sure it
recovers gracefully when the device exits Doze.</li>
</ol>
<h4 id="standby">Testing apps with App Standby</h4>
<p>To test the App Standby mode with your app:</p>
<ol>
<li>Configure a hardware device or virtual device with an Android N system image.</li>
<li>Connect the device to your development machine and install your app.</li>
<li>Run your app and leave it active.</li>
<li>Simulate the app going into standby mode by running the following commands:
<pre>
$ adb shell am broadcast -a android.os.action.DISCHARGING
$ adb shell am set-idle &lt;packageName&gt; true
</pre>
</li>
<li>Simulate waking your app using the following command:
<pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
</li>
<li>Observe the behavior of your app when it is woken. Make sure it recovers gracefully
from standby mode. In particular, you should check if your app's Notifications and background
jobs continue to function as expected.</li>
</ol>
<h2 id="ids">Auto Backup for Apps and Device-Specific Identifiers</h2>
<p>If your app is persisting any device-specific identifiers, such as Google
Cloud Messaging registration ID, in internal storage,
make sure to follow best practices to exclude the storage
location from auto-backup, as described in <a href="{@docRoot}preview/backup/index.html">Auto
Backup for Apps</a>. </p>

View File

@@ -1,6 +1,6 @@
page.title=Android 7.0 APIs
meta.tags="Android 7.0", "android n", "Nougat"
page.tags="Android 7.0", "Nougat", "android n", "developer preview"
page.title=Android 7.0 for Developers
meta.tags="Nougat", "android n"
page.tags="Android 7.0", "Nougat", "android n"
page.image=images/cards/card-n-apis_2x.png
@jd:body
@@ -52,16 +52,20 @@ page.image=images/cards/card-n-apis_2x.png
<p>
Android 7.0
(<a href="{@docRoot}reference/android/os/Build.VERSION_CODES.html#N">N</a>)
offers new features for users and app developers. This document provides
an introduction to the most notable APIs. Make sure, also,
to check out the <href="{@docRoot}about/versions/nougat/behavior.changes.html">
Behavior Changes</a> to learn about areas where platform changes
may affect your apps. In addition, the various developer guides
can provide more information about key features.
Android 7.0 Nougat introduces a variety of
new features and capabilities for users and developers.
This document highlights what's new for developers. </p>
<p>Make sure check out the
<href="{@docRoot}about/versions/nougat/android-7.0-changes.html">
Android 7.0 behavior changes</a> to learn about areas where platform changes
may affect your apps.
</p>
<p>To learn more about
the consumer features of Android 7.0, visit <a
href="http://www.android.com">www.android.com</a>.</p>
<h2 id="multi-window_support">Multi-window Support</h2>

View File

@@ -1,4 +1,4 @@
page.title=Android N Developer Preview
page.title=Android 7.0 Nougat
page.tags="preview","developer"
meta.tags="preview", "android"
fullpage=true
@@ -17,44 +17,44 @@ footer.hide=1
})
</script>
<section class="dac-expand dac-hero dac-light" style="background-color:#B2DFDB">
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
<div class="cols dac-hero-content" style="padding-bottom:1em;">
<div class="col-7of16 col-push-9of16" style="padding-left:2em">
<div class="col-7of16 col-push-8of16" style="padding-left:2em">
<h1 class="dac-hero-title">Android 7.0 Nougat</h1>
<p class="dac-hero-description">
<strong>Android 7.0 Nougat brings a new crop of sweet features to your Android device.</strong>
<strong>Test your apps</strong> on Nexus and other devices. Support new system
Android 7.0 brings new features for performance, productivity,
and security. <strong>Test your apps</strong> with new system
behaviors to <strong>save power and memory</strong>.
Extend your apps with <strong>multi-window UI</strong>,
Take advantage of <strong>multi-window UI</strong>,
<strong>direct reply notifications</strong> and more.
</p>
<a class="dac-hero-cta" href="{@docRoot}preview/overview.html">
<a class="dac-hero-cta" href="{@docRoot}about/versions/nougat/android-7.0.html">
<span class="dac-sprite dac-auto-chevron"></span>
Get started
</a><!--<br>
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
<span class="dac-sprite dac-auto-chevron"></span>
Update to Android N (final SDK)
</a><br>-->
</a>
</div>
<div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
<div class="col-7of16 col-pull-6of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
<img class="dac-hero-image" src="{@docRoot}images/home/n-preview-hero.png"
srcset="{@docRoot}images/home/n-preview-hero.png 1x,
{@docRoot}images/home/n-preview-hero_2x.png 2x">
{@docRoot}images/home/n-preview-hero_2x.png 2x" />
</a>
</div>
</div>
</div></a>
<div class="dac-section dac-small">
<div class="resource-widget resource-flow-layout col-16"
data-query="collection:nougat/landing/resources"
data-cardSizes="6x2"
data-maxResults="3"></div>
</div>
</div>
</div>
</section>
<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
@@ -62,17 +62,11 @@ footer.hide=1
</a>
<ul class="dac-actions">
<li class="dac-action">
<a class="dac-action-link" href="https://developer.android.com/preview/bug">
<a class="dac-action-link" href="https://source.android.com/source/report-bugs.html">
<i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
Report an issue
</a>
</li>
<li class="dac-action">
<a class="dac-action-link" href="{@docRoot}preview/support.html">
<i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
See release notes
</a>
</li>
<li class="dac-action">
<a class="dac-action-link" href="{@docRoot}preview/dev-community">
<i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
@@ -122,7 +116,7 @@ footer.hide=1
</div>
<div class="resource-widget resource-flow-layout col-16"
data-query="collection:preview/landing/videos/first,type:youtube+tag:androidn"
data-query="collection:nougat/landing/videos/first,type:youtube+tag:androidn"
data-sortOrder="-timestamp"
data-cardSizes="6x6"
data-items-per-page="6"
@@ -139,7 +133,7 @@ footer.hide=1
</div>
<div class="resource-widget resource-flow-layout col-16"
data-query="collection:preview/landing/more"
data-query="collection:nougat/landing/more"
data-cardSizes="6x6"
data-items-per-page="6"
data-maxResults="15"

View File

@@ -1,4 +1,6 @@
page.title=Notifications
page.image=images/android-7.0/notifications-card.png
page.tags="notifications", "alerts"
@jd:body
<div id="qv-wrapper">

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@@ -16,34 +16,30 @@ nonavpage=true
})
</script>
<section class="dac-expand dac-hero dac-invert" style="background-color:#455A64">
<div class="wrap" style="max-width:1100px;margin-top:0">
<div class="col-7of16 col-push-9of16" style="padding-left:2em;">
<a href="{@docRoot}preview/index.html">
<h1 class="dac-hero-title">Android N Developer Preview</h1>
<p class="dac-hero-description">
<strong>Android N final SDK is now available!</strong>
Get ready for the next version of Android!
<strong>Test your apps</strong> on Nexus and other devices. Support new system
behaviors to <strong>save power and memory</strong>.
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
<a href="{@docRoot}about/versions/nougat/index.html">
<h1 class="dac-hero-title" style="color:#004d40">Android 7.0 Nougat!</h1>
<p class="dac-hero-description" style="color:#004d40">
<strong>Android 7.0 Nougat is here!</strong>
Get your apps ready for the latest version of Android, with new system
behaviors to <strong>save battery and memory</strong>.
Extend your apps with <strong>multi-window UI</strong>,
<strong>direct reply notifications</strong> and more.
</p>
<a class="dac-hero-cta" href="/preview/index.html">
<span class="dac-sprite dac-auto-chevron"></span>
<a class="dac-hero-cta" href="{@docRoot}about/versions/nougat/index.html" style="color:#004d40">
<span class="dac-sprite dac-auto-chevron" style="background-color:#b2dfdb"></span>
Learn more
</a><!--<br>
<a class="dac-hero-cta" href="/preview/support.html">
<span class="dac-sprite dac-auto-chevron"></span>
Update to Developer Preview (final SDK)
</a><br>-->
</a>
</a>
</a>
</div>
<div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
<a href="{@docRoot}preview/index.html">
<img style="" class="dac-hero-image" src="/images/home/n-preview-hero.png"
srcset="/images/home/n-preview-hero.png 1x,
/images/home/n-preview-hero_2x.png 2x">
<div class="col-6of16 col-pull-6of16 dac-hero-figure" style="padding-left:1em;padding-top:1em;">
<a href="{@docRoot}about/versions/nougat/index.html">
<img class="dac-hero-image" src="{@docRoot}images/home/nougat_bg.jpg"
srcset="{@docRoot}images/home/nougat_bg.jpg 1x,
{@docRoot}images/home/nougat_bg_2x.jpg 2x">
</a>
</div>
</div>

View File

@@ -5559,13 +5559,13 @@ METADATA['en'].collections = {
"nougat/landing/resources": {
"title": "",
"resources": [
"about/versions/nougat/api-overview.html",
"about/versions/nougat/behavior-changes.html",
"about/versions/nougat/samples.html",
"about/versions/nougat/android-7.0.html",
"about/versions/nougat/android-7.0-changes.html",
"about/versions/nougat/android-7.0-samples.html",
]
},
"preview/landing/videos/first": {
"nougat/landing/videos/first": {
"title": "",
"resources": [
"https://www.youtube.com/watch?v=CsulIu3UaUM"
@@ -5583,21 +5583,20 @@ METADATA['en'].collections = {
"training/articles/memory.html",
]
},
"preview/landing/more": {
"nougat/landing/more": {
"title": "",
"resources": [
"preview/features/multi-window.html",
"preview/features/notification-updates.html",
"preview/features/background-optimization.html",
"preview/features/data-saver.html",
"preview/features/direct-boot.html",
"preview/features/icu4j-framework.html",
"preview/features/multilingual-support.html",
"preview/features/scoped-folder-access.html",
"preview/features/security-config.html",
"preview/features/picture-in-picture.html",
"preview/features/tv-recording-api.html"
"guide/topics/ui/multi-window.html",
"guide/topics/ui/notifiers/notifications.html",
"topic/performance/background-optimization.html",
"training/basics/network-ops/data-saver.html",
"training/articles/direct-boot.html",
"guide/topics/resources/icu4j-framework.html",
"guide/topics/resources/multilingual-support.html",
"training/articles/scoped-directory-access.html",
"training/articles/security-config.html",
"training/tv/playback/picture-in-picture.html",
"training/tv/tif/content-recording.html"
]
},
"work/landing/primary": {