summaryrefslogtreecommitdiffstats
path: root/docs/html/guide
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/guide')
-rw-r--r--docs/html/guide/appendix/media-formats.jd32
-rw-r--r--docs/html/guide/components/intents-common.jd453
-rw-r--r--docs/html/guide/index.jd2
-rw-r--r--docs/html/guide/topics/admin/device-admin.jd7
-rw-r--r--docs/html/guide/topics/connectivity/usb/host.jd8
-rw-r--r--docs/html/guide/topics/manifest/activity-element.jd9
-rw-r--r--docs/html/guide/topics/manifest/application-element.jd6
-rw-r--r--docs/html/guide/topics/manifest/data-element.jd5
-rw-r--r--docs/html/guide/topics/manifest/uses-feature-element.jd20
-rw-r--r--docs/html/guide/topics/manifest/uses-sdk-element.jd9
-rw-r--r--docs/html/guide/topics/resources/string-resource.jd30
-rw-r--r--docs/html/guide/topics/ui/layout/grid.jd2
-rw-r--r--docs/html/guide/topics/ui/layout/gridview.jd9
-rw-r--r--docs/html/guide/topics/ui/settings.jd2
14 files changed, 110 insertions, 484 deletions
diff --git a/docs/html/guide/appendix/media-formats.jd b/docs/html/guide/appendix/media-formats.jd
index 19f510a..2a908ba 100644
--- a/docs/html/guide/appendix/media-formats.jd
+++ b/docs/html/guide/appendix/media-formats.jd
@@ -71,7 +71,7 @@ page.tags=video,audio,mpeg,mp4,m4a,mp3,3gp,3gpp,flac,wave,wav
</tr>
<tr>
-<td rowspan="11">Audio</td>
+<td rowspan="12">Audio</td>
<td>AAC LC</td>
<td style="text-align: center;"><big>&bull;</big></td>
<td style="text-align: center;"><big>&bull;</big></td>
@@ -180,6 +180,15 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz.</td>
</tr>
<tr>
+<td>Opus</td>
+<td style="text-align: center;"></td>
+<td style="text-align: center;"><big>&bull;</big><br><small>(Android 5.0+)</small></td>
+<td></td>
+<td>
+ Matroska (.mkv)</td>
+</tr>
+
+<tr>
<td rowspan="5">Image</td>
<td>JPEG</td>
<td style="text-align: center;"><big>&bull;</big></td>
@@ -235,7 +244,7 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz.</td>
<tr>
-<td rowspan="4">Video</td>
+<td rowspan="6">Video</td>
<td>H.263</td>
<td style="text-align: center;"><big>&bull;</big></td>
<td style="text-align: center;"><big>&bull;</big></td>
@@ -257,6 +266,15 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz.</td>
</tr>
<tr>
+<td>H.265 HEVC</td>
+<td style="text-align: center;" nowrap></td>
+<td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 5.0+)</small></td>
+<td>Main Profile Level 3 for mobile devices and Main Profile Level 4.1 for Android TV</td>
+<td>
+ &bull; MPEG-4 (.mp4)<br>
+</tr>
+
+<tr>
<td>MPEG-4 SP</td>
<td>&nbsp;</td>
<td style="text-align: center;"><big>&bull;</big></td>
@@ -275,6 +293,16 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz.</td>
&bull; Matroska (.mkv, Android 4.0+)</td>
</tr>
+<tr>
+<td>VP9</td>
+<td style="text-align: center;" nowrap></td>
+<td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 4.4+)</small></td>
+<td></td>
+<td>
+ &bull; <a href="http://www.webmproject.org/">WebM</a> (.webm)<br>
+ &bull; Matroska (.mkv, Android 4.0+)</td>
+</tr>
+
</tbody></table>
diff --git a/docs/html/guide/components/intents-common.jd b/docs/html/guide/components/intents-common.jd
index 05e3133..964f075 100644
--- a/docs/html/guide/components/intents-common.jd
+++ b/docs/html/guide/components/intents-common.jd
@@ -50,15 +50,6 @@ page.tags="IntentFilter"
<li><a href="#OpenFile">Open a specific type of file</a></li>
</ol>
</li>
- <li><a href="#Fitness">Fitness</a>
- <ol>
- <li><a href="#TrackRide">Start/Stop a bike ride</a></li>
- <li><a href="#TrackRun">Start/Stop a run</a></li>
- <li><a href="#TrackWorkout">Start/Stop a workout</a></li>
- <li><a href="#ShowHR">Show heart rate</a></li>
- <li><a href="#ShowStepCount">Show step count</a></li>
- </ol>
- </li>
<li><a href="#Local">Local Actions</a>
<ol>
<li><a href="#CallCar">Call a car</a></li>
@@ -1348,391 +1339,6 @@ Framework</a> guide.</p>
-
-
-
-
-
-<h2 id="Fitness">Fitness</h2>
-
-<h3 id="TrackRide">Start/Stop a bike ride</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
- <div class="now-img-cont">
- <a href="#Now">
- <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
- width="30" height="30" alt=""/>
- </a>
- </div>
- <p class="now-title">Google Now</p>
- <ul>
- <li>"start cycling"</li>
- <li>"start my bike ride"</li>
- <li>"stop cycling"</li>
- </ul>
-</div>
-
-<p>To track a bike ride, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-<code>ACTION_TRACK</code></a> action with the <code>"vnd.google.fitness.activity/biking"</code>
-MIME type and set the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-<code>EXTRA_STATUS</code></a> extra to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-<code>STATUS_ACTIVE</code></a> when starting and to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-<code>STATUS_COMPLETED</code></a> when stopping.</p>
-
-<dl>
- <dt><b>Action</b></dt>
- <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
- <code>ACTION_TRACK</code></a><dd>
-
- <dt><b>Data URI</b></dt>
- <dd>None</dd>
-
- <dt><b>MIME Type</b></dt>
- <dd><code>"vnd.google.fitness.activity/biking"</code></dd>
-
- <dt><b>Extras</b></dt>
- <dd>
- <dl>
- <dt><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
- <code>EXTRA_STATUS</code></a></dt>
- <dd>A string with the value <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
- <code>STATUS_ACTIVE</code></a> when starting and
- <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
- <code>STATUS_COMPLETED</code></a> when stopping.</dd>
- </dl>
- </dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void startBikeRide() {
- Intent intent = new Intent(FitnessIntents.ACTION_TRACK)
- .setType("vnd.google.fitness.activity/biking")
- .putExtra(FitnessIntents.EXTRA_STATUS, FitnessIntents.STATUS_ACTIVE);
- if (intent.resolveActivity(getPackageManager()) != null) {
- startActivity(intent);
- }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
- &lt;intent-filter>
- &lt;action android:name="vnd.google.fitness.TRACK" />
- &lt;data android:mimeType="vnd.google.fitness.activity/biking" />
- &lt;category android:name="android.intent.category.DEFAULT" />
- &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-
-<h3 id="TrackRun">Start/Stop a run</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
- <div class="now-img-cont">
- <a href="#Now">
- <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
- width="30" height="30" alt=""/>
- </a>
- </div>
- <p class="now-title">Google Now</p>
- <ul>
- <li>"track my run"</li>
- <li>"start running"</li>
- <li>"stop running"</li>
- </ul>
-</div>
-
-<p>To track a run, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-<code>ACTION_TRACK</code></a> action with the <code>"vnd.google.fitness.activity/running"</code>
-MIME type and set the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-<code>EXTRA_STATUS</code></a> extra to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-<code>STATUS_ACTIVE</code></a> when starting and to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-<code>STATUS_COMPLETED</code></a> when stopping.</p>
-
-<dl>
- <dt><b>Action</b></dt>
- <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
- <code>ACTION_TRACK</code></a><dd>
-
- <dt><b>Data URI</b></dt>
- <dd>None</dd>
-
- <dt><b>MIME Type</b></dt>
- <dd><code>"vnd.google.fitness.activity/running"</code></dd>
-
- <dt><b>Extras</b></dt>
- <dd>
- <dl>
- <dt><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
- <code>EXTRA_STATUS</code></a></dt>
- <dd>A string with the value <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
- <code>STATUS_ACTIVE</code></a> when starting and
- <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
- <code>STATUS_COMPLETED</code></a> when stopping.</dd>
- </dl>
- </dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void startRun() {
- Intent intent = new Intent(FitnessIntents.ACTION_TRACK)
- .setType("vnd.google.fitness.activity/running")
- .putExtra(FitnessIntents.EXTRA_STATUS, FitnessIntents.STATUS_ACTIVE);
- if (intent.resolveActivity(getPackageManager()) != null) {
- startActivity(intent);
- }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
- &lt;intent-filter>
- &lt;action android:name="vnd.google.fitness.TRACK" />
- &lt;data android:mimeType="vnd.google.fitness.activity/running" />
- &lt;category android:name="android.intent.category.DEFAULT" />
- &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-<h3 id="TrackWorkout">Start/Stop a workout</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
- <div class="now-img-cont">
- <a href="#Now">
- <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
- width="30" height="30" alt=""/>
- </a>
- </div>
- <p class="now-title">Google Now</p>
- <ul>
- <li>"start a workout"</li>
- <li>"track my workout"</li>
- <li>"stop workout"</li>
- </ul>
-</div>
-
-<p>To track a workout, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-<code>ACTION_TRACK</code></a> action with the <code>"vnd.google.fitness.activity/other"</code>
-MIME type and set the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-<code>EXTRA_STATUS</code></a> extra to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-<code>STATUS_ACTIVE</code></a> when starting and to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-<code>STATUS_COMPLETED</code></a> when stopping.</p>
-
-<dl>
- <dt><b>Action</b></dt>
- <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
- <code>ACTION_TRACK</code></a><dd>
-
- <dt><b>Data URI</b></dt>
- <dd>None</dd>
-
- <dt><b>MIME Type</b></dt>
- <dd><code>"vnd.google.fitness.activity/other"</code></dd>
-
- <dt><b>Extras</b></dt>
- <dd>
- <dl>
- <dt><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
- <code>EXTRA_STATUS</code></a></dt>
- <dd>A string with the value <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
- <code>STATUS_ACTIVE</code></a> when starting and
- <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
- <code>STATUS_COMPLETED</code></a> when stopping.</dd>
- </dl>
- </dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void startWorkout() {
- Intent intent = new Intent(FitnessIntents.ACTION_TRACK)
- .setType("vnd.google.fitness.activity/other")
- .putExtra(FitnessIntents.EXTRA_STATUS, FitnessIntents.STATUS_ACTIVE);
- if (intent.resolveActivity(getPackageManager()) != null) {
- startActivity(intent);
- }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
- &lt;intent-filter>
- &lt;action android:name="vnd.google.fitness.TRACK" />
- &lt;data android:mimeType="vnd.google.fitness.activity/other" />
- &lt;category android:name="android.intent.category.DEFAULT" />
- &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-<h3 id="ShowHeartRate">Show heart rate</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
- <div class="now-img-cont">
- <a href="#Now">
- <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
- width="30" height="30" alt=""/>
- </a>
- </div>
- <p class="now-title">Google Now</p>
- <ul>
- <li>"what's my heart rate?"</li>
- <li>"what's my bpm?"</li>
- </ul>
-</div>
-
-<p>To show the user's heart rate, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-<code>ACTION_VIEW</code></a> action with the
-<code>"vnd.google.fitness.data_type/com.google.heart_rate.bpm"</code> MIME type.</p>
-
-<dl>
- <dt><b>Action</b></dt>
- <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
- <code>ACTION_VIEW</code></a><dd>
-
- <dt><b>Data URI</b></dt>
- <dd>None</dd>
-
- <dt><b>MIME Type</b></dt>
- <dd><code>"vnd.google.fitness.data_type/com.google.heart_rate.bpm"</code></dd>
-
- <dt><b>Extras</b></dt>
- <dd>None</dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void showHeartRate() {
- Intent intent = new Intent(FitnessIntents.ACTION_VIEW)
- .setType("vnd.google.fitness.data_type/com.google.heart_rate.bpm");
- if (intent.resolveActivity(getPackageManager()) != null) {
- startActivity(intent);
- }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
- &lt;intent-filter>
- &lt;action android:name="vnd.google.fitness.VIEW" />
- &lt;data android:mimeType="vnd.google.fitness.data_type/com.google.heart_rate.bpm" />
- &lt;category android:name="android.intent.category.DEFAULT" />
- &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-
-<h3 id="ShowStepCount">Show step count</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
- <div class="now-img-cont">
- <a href="#Now">
- <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
- width="30" height="30" alt=""/>
- </a>
- </div>
- <p class="now-title">Google Now</p>
- <ul>
- <li>"how many steps have I taken?"</li>
- <li>"what's my step count?"</li>
- </ul>
-</div>
-
-<p>To show the user's step count, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-<code>ACTION_VIEW</code></a> action with the
-<code>"vnd.google.fitness.data_type<br/>/com.google.step_count<br/>.cumulative"</code> MIME
-type.</p>
-
-<dl>
- <dt><b>Action</b></dt>
- <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
- <code>ACTION_VIEW</code></a><dd>
-
- <dt><b>Data URI</b></dt>
- <dd>None</dd>
-
- <dt><b>MIME Type</b></dt>
- <dd><code>"vnd.google.fitness.data_type/com.google.step_count.cumulative"</code></dd>
-
- <dt><b>Extras</b></dt>
- <dd>None</dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void showStepCount() {
- Intent intent = new Intent(FitnessIntents.ACTION_VIEW)
- .setType("vnd.google.fitness.data_type/com.google.step_count.cumulative");
- if (intent.resolveActivity(getPackageManager()) != null) {
- startActivity(intent);
- }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
- &lt;intent-filter>
- &lt;action android:name="vnd.google.fitness.VIEW" />
- &lt;data android:mimeType="vnd.google.fitness.data_type/com.google.step_count.cumulative" />
- &lt;category android:name="android.intent.category.DEFAULT" />
- &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-
-
-
-
<h2 id="Local">Local Actions</h2>
<h3 id="CallCar">Call a car</h3>
@@ -2695,65 +2301,6 @@ about declaring each intent filter, click on the action description.</p>
<td>{@link android.content.Intent#ACTION_CALL Intent.ACTION_CALL}</td>
</tr>
<tr>
- <td rowspan="5" style="vertical-align:middle">Fitness</td>
- <td>
- <p><a href="#TrackRide">Start/stop a bike ride</a></p>
- <ul class="now-list">
- <li>"start cycling"</li>
- <li>"start my bike ride"</li>
- <li>"stop cycling"</li>
- </ul>
- </td>
- <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
- <code>FitnessIntents.ACTION_TRACK</code></a></td>
-</tr>
-<tr>
- <td>
- <p><a href="#TrackRun">Start/stop a run</a></p>
- <ul class="now-list">
- <li>"track my run"</li>
- <li>"start running"</li>
- <li>"stop running"</li>
- </ul>
- </td>
- <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
- <code>FitnessIntents.ACTION_TRACK</code></a></td>
-</tr>
-<tr>
- <td>
- <p><a href="#TrackWorkout">Start/stop a workout</a></p>
- <ul class="now-list">
- <li>"start a workout"</li>
- <li>"track my workout"</li>
- <li>"stop workout"</li>
- </ul>
- </td>
- <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
- <code>FitnessIntents.ACTION_TRACK</code></a></code></td>
-</tr>
-<tr>
- <td>
- <p><a href="#ShowHeartRate">Show heart rate</a></p>
- <ul class="now-list">
- <li>"what's my heart rate"</li>
- <li>"what's my bpm"</li>
- </ul>
- </td>
- <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
- <code>FitnessIntents.ACTION_VIEW</code></a></code></td>
-</tr>
-<tr>
- <td>
- <p><a href="#ShowStepCount">Show step count</a></p>
- <ul class="now-list">
- <li>"how many steps have I taken"</li>
- <li>"what's my step count"</li>
- </ul>
- </td>
- <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
- <code>FitnessIntents.ACTION_VIEW</code></a></td>
-</tr>
-<tr>
<td style="vertical-align:middle">Local</td>
<td>
<p><a href="#CallCar">Book a car</a></p>
diff --git a/docs/html/guide/index.jd b/docs/html/guide/index.jd
index d78a1b1..cb4f65c 100644
--- a/docs/html/guide/index.jd
+++ b/docs/html/guide/index.jd
@@ -30,7 +30,7 @@ screen for a user interface, and a <em>service</em> independently performs
work in the background.</p>
<p>From one component you can start another component using an <em>intent</em>. You can even start
-a component in a different app, such an activity in a maps app to show an address. This model
+a component in a different app, such as an activity in a maps app to show an address. This model
provides multiple entry points for a single app and allows any app to behave as a user's "default"
for an action that other apps may invoke.</p>
diff --git a/docs/html/guide/topics/admin/device-admin.jd b/docs/html/guide/topics/admin/device-admin.jd
index bed4b4d..45bd76a 100644
--- a/docs/html/guide/topics/admin/device-admin.jd
+++ b/docs/html/guide/topics/admin/device-admin.jd
@@ -48,6 +48,11 @@ solutions for Android-powered devices. It discusses the various features
provided by the Device Administration API to provide stronger security for
employee devices that are powered by Android.</p>
+<p class="note"><strong>Note</strong> For information on building a Work Policy
+Controller for Android for Work deployments, see <a
+href="{@docRoot}training/enterprise/work-policy-ctrl.html">Building a Work
+Policy Controller</a>.</p>
+
<h2 id="overview">Device Administration API Overview</h2>
@@ -712,4 +717,4 @@ mDPM.setStorageEncryption(mDeviceAdminSample, true);
</pre>
<p>
See the Device Administration API sample for a complete example of how to enable storage encryption.
-</p> \ No newline at end of file
+</p>
diff --git a/docs/html/guide/topics/connectivity/usb/host.jd b/docs/html/guide/topics/connectivity/usb/host.jd
index 355dd2d..f957b60 100644
--- a/docs/html/guide/topics/connectivity/usb/host.jd
+++ b/docs/html/guide/topics/connectivity/usb/host.jd
@@ -31,7 +31,7 @@ page.title=USB Host
<li><a href="{@docRoot}resources/samples/USB/AdbTest/index.html">AdbTest</a></li>
<li><a href=
- "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissleLauncher</a></li>
+ "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissileLauncher</a></li>
</ol>
</div>
</div>
@@ -283,7 +283,7 @@ while(deviceIterator.hasNext()){
<h3 id="permission-d">Obtaining permission to communicate with a device</h3>
- <p>Before communicating with the USB device, your applicaton must have permission from your
+ <p>Before communicating with the USB device, your application must have permission from your
users.</p>
<p class="note"><strong>Note:</strong> If your application <a href="#using-intents">uses an
@@ -388,7 +388,7 @@ mUsbManager.requestPermission(device, mPermissionIntent);
should have more logic to correctly find the correct interface and endpoints to communicate on
and also should do any transferring of data in a different thread than the main UI thread:</p>
<pre>
-private Byte[] bytes
+private Byte[] bytes;
private static int TIMEOUT = 0;
private boolean forceClaim = true;
@@ -409,7 +409,7 @@ connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT); //do in another
<p>For more information, see the <a href=
"{@docRoot}resources/samples/USB/AdbTest/index.html">AdbTest sample</a>, which shows how to do
asynchronous bulk transfers, and the <a href=
- "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissleLauncher sample</a>, which
+ "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissileLauncher sample</a>, which
shows how to listen on an interrupt endpoint asynchronously.</p>
<h3 id="terminating-d">Terminating communication with a device</h3>
diff --git a/docs/html/guide/topics/manifest/activity-element.jd b/docs/html/guide/topics/manifest/activity-element.jd
index c1256f9..99e64d9 100644
--- a/docs/html/guide/topics/manifest/activity-element.jd
+++ b/docs/html/guide/topics/manifest/activity-element.jd
@@ -13,10 +13,11 @@ parent.link=manifest-intro.html
android:<a href="#clear">clearTaskOnLaunch</a>=["true" | "false"]
android:<a href="#config">configChanges</a>=["mcc", "mnc", "locale",
"touchscreen", "keyboard", "keyboardHidden",
- "navigation", "screenLayout", "fontScale", "uiMode",
- "orientation", "screenSize", "smallestScreenSize"]
- android:<a href="#dlmode">documentLaunchMode</a>=["intoExisting", "always",
- "none", "never"]
+ "navigation", "screenLayout", "fontScale",
+ "uiMode", "orientation", "screenSize",
+ "smallestScreenSize"]
+ android:<a href="#dlmode">documentLaunchMode</a>=["intoExisting" | "always" |
+ "none" | "never"]
android:<a href="#enabled">enabled</a>=["true" | "false"]
android:<a href="#exclude">excludeFromRecents</a>=["true" | "false"]
android:<a href="#exported">exported</a>=["true" | "false"]
diff --git a/docs/html/guide/topics/manifest/application-element.jd b/docs/html/guide/topics/manifest/application-element.jd
index 8a0e837..b5af9c3 100644
--- a/docs/html/guide/topics/manifest/application-element.jd
+++ b/docs/html/guide/topics/manifest/application-element.jd
@@ -449,9 +449,13 @@ href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.<
<dt><a name="vmSafeMode"></a>{@code android:vmSafeMode}</dt>
<dd>Indicates whether the app would like the virtual machine (VM) to operate
in safe mode. The default value is {@code "false"}.
-</dd>
+<p> This attribute was added in API level 8 where a value of "true"
+disabled the Dalvik just-in-time (JIT) compiler. </p>
+<p> This attribute was adapted in API level 22 where a value of "true"
+disabled the ART ahead-of-time (AOT) compiler. </p>
+</dd>
</dl></dd>
diff --git a/docs/html/guide/topics/manifest/data-element.jd b/docs/html/guide/topics/manifest/data-element.jd
index ecba508..77f16dd 100644
--- a/docs/html/guide/topics/manifest/data-element.jd
+++ b/docs/html/guide/topics/manifest/data-element.jd
@@ -24,7 +24,7 @@ just a URI, or both a data type and a URI. A URI is specified by separate
attributes for each of its parts:
<p style="margin-left: 2em">
-{@code &lt;scheme>://&lt;host>:&lt;port>/[&lt;path>|&lt;pathPrefix>|&lt;pathPattern>]}</p>
+{@code &lt;scheme>://&lt;host>:&lt;port>[&lt;path>|&lt;pathPrefix>|&lt;pathPattern>]}</p>
<p>
These attributes that specify the URL format are optional, but also mutually dependent:
@@ -115,7 +115,8 @@ the filter.</dd>
<dt><a name="path"></a>{@code android:path}
<br/>{@code android:pathPrefix}
<br/>{@code android:pathPattern}</dt>
-<dd>The path part of a URI. The {@code path} attribute specifies a complete
+<dd>The path part of a URI which must begin with a /.
+The {@code path} attribute specifies a complete
path that is matched against the complete path in an Intent object. The
{@code pathPrefix} attribute specifies a partial path that is matched against
only the initial part of the path in the Intent object. The {@code pathPattern}
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index b040898..c1ccef0 100644
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -143,12 +143,12 @@ features</a> tables, below. Descriptor string values are case-sensitive.</dd>
the feature specified in <code>android:name</code>.
<ul>
-<li>When you declare <code>"android:required="true"</code> for a feature,
+<li>When you declare <code>android:required="true"</code> for a feature,
you are specifying that the application <em>cannot function, or is not
designed to function</em>, when the specified feature is not present on the
device. </li>
-<li>When you declare <code>"android:required="false"</code> for a feature, it
+<li>When you declare <code>android:required="false"</code> for a feature, it
means that the application <em>prefers to use the feature</em> if present on
the device, but that it <em>is designed to function without the specified
feature</em>, if necessary. </li>
@@ -593,6 +593,22 @@ external camera device if one is connected. Use this in preference to
<td><code>android.hardware.camera.external</code></td>
<td>The application uses an external camera device if one is connected.</td>
</tr>
+<tr>
+ <td><code>android.hardware.camera.level.full</code></td>
+ <td>The application uses a camera device with <code>FULL</code>-level support.</td>
+</tr>
+<tr>
+ <td><code>android.hardware.camera.capability.manual_sensor</code></td>
+ <td>The application uses a a camera device with the <code>MANUAL_SENSOR</code> capability.</td>
+</tr>
+<tr>
+ <td><code>android.hardware.camera.capability.manual_post_processing</code></td>
+ <td>The application uses a a camera device with the <code>MANUAL_POST_PROCESSING</code> capability.</td>
+</tr>
+<tr>
+ <td><code>android.hardware.camera.capability.raw</code></td>
+ <td>The application uses a a camera device with the <code>RAW</code> capability.</td>
+</tr>
<tr>
<td>Infrared</td>
diff --git a/docs/html/guide/topics/manifest/uses-sdk-element.jd b/docs/html/guide/topics/manifest/uses-sdk-element.jd
index e5e64e5..3ac87ef 100644
--- a/docs/html/guide/topics/manifest/uses-sdk-element.jd
+++ b/docs/html/guide/topics/manifest/uses-sdk-element.jd
@@ -227,11 +227,16 @@ Versions dashboards page</a>.</p>
<table>
<tr><th>Platform Version</th><th>API Level</th><th>VERSION_CODE</th><th>Notes</th></tr>
+ <tr><td><a href="{@docRoot}about/versions/android-5.1.html">Android 5.1</a></td>
+ <td><a href="{@docRoot}sdk/api_diff/22/changes.html" title="Diff Report">22</a></td>
+ <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</td>
+ <td rowspan="2"><a href="{@docRoot}about/versions/lollipop.html">Platform
+Highlights</a></td></tr>
+
<tr><td><a href="{@docRoot}about/versions/android-5.0.html">Android 5.0</a></td>
<td><a href="{@docRoot}sdk/api_diff/21/changes.html" title="Diff Report">21</a></td>
<td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</td>
- <td><a href="{@docRoot}about/versions/lollipop.html">Platform
-Highlights</a></td></tr>
+ </tr>
<tr><td style="color:#bbb">Android 4.4W</td>
<td><a href="{@docRoot}sdk/api_diff/20/changes.html" title="Diff Report">20</a></td>
diff --git a/docs/html/guide/topics/resources/string-resource.jd b/docs/html/guide/topics/resources/string-resource.jd
index cbfa82e..743e692 100644
--- a/docs/html/guide/topics/resources/string-resource.jd
+++ b/docs/html/guide/topics/resources/string-resource.jd
@@ -401,19 +401,35 @@ android.content.res.Resources#getQuantityString(int,int) getQuantityString}.</p>
format and style your string resources.</p>
-<h3>Escaping apostrophes and quotes</h3>
+<h3 id="escaping_quotes">Escaping apostrophes and quotes</h3>
-<p>If you have an apostrophe or a quote in your string, you must either escape it or enclose the
-whole string in the other type of enclosing quotes. For example, here are some stings that
-do and don't work:</p>
+<p>
+ If you have an apostrophe (<code>'</code>) in your string, you must either
+ escape it with a backslash (<code>\'</code>) or enclose the string in
+ double-quotes (<code>""</code>). For example, here are some strings that do
+ and don't work:
+</p>
<pre>
-&lt;string name="good_example">"This'll work"&lt;/string>
-&lt;string name="good_example_2">This\'ll also work&lt;/string>
+&lt;string name="good_example">This\'ll work&lt;/string>
+&lt;string name="good_example_2">"This'll also work"&lt;/string>
&lt;string name="bad_example">This doesn't work&lt;/string>
-&lt;string name="bad_example_2">XML encodings don&amp;apos;t work&lt;/string>
+ &lt;!-- Causes a compile error -->
</pre>
+<p>
+ If you have a double-quote in your string, you must escape it
+ (<code>\"</code>). Surrounding the string with single-quotes does
+ <em>not</em> work.
+</p>
+
+<pre>
+&lt;string name="good_example">This is a \"good string\".&lt;/string>
+&lt;string name="bad_example">This is a "bad string".&lt;/string>
+ &lt;!-- Quotes are stripped; displays as: This is a bad string. -->
+&lt;string name="bad_example_2">'This is another "bad string".'&lt;/string>
+ &lt;!-- Causes a compile error -->
+</pre>
<h3>Formatting strings</h3>
diff --git a/docs/html/guide/topics/ui/layout/grid.jd b/docs/html/guide/topics/ui/layout/grid.jd
index c2f1321..3474f48 100644
--- a/docs/html/guide/topics/ui/layout/grid.jd
+++ b/docs/html/guide/topics/ui/layout/grid.jd
@@ -181,7 +181,7 @@ file.</p>
<li>Run the application.</li>
</ol>
<p>You should see the following:</p>
-<img src="images/hello-tablelayout.png" width="150px" />
+<img src="{@docRoot}guide/topics/ui/images/hello-tablelayout.png" width="150px" />
diff --git a/docs/html/guide/topics/ui/layout/gridview.jd b/docs/html/guide/topics/ui/layout/gridview.jd
index a4bf224..13467ae 100644
--- a/docs/html/guide/topics/ui/layout/gridview.jd
+++ b/docs/html/guide/topics/ui/layout/gridview.jd
@@ -70,8 +70,10 @@ public void onCreate(Bundle savedInstanceState) {
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
- public void onItemClick(AdapterView&lt;?> parent, View v, int position, long id) {
- Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
+ public void onItemClick(AdapterView&lt;?> parent, View v,
+ int position, long id) {
+ Toast.makeText(HelloGridView.this, "" + position,
+ Toast.LENGTH_SHORT).show();
}
});
}
@@ -118,7 +120,8 @@ public class ImageAdapter extends BaseAdapter {
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
- if (convertView == null) { // if it's not recycled, initialize some attributes
+ if (convertView == null) {
+ // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
diff --git a/docs/html/guide/topics/ui/settings.jd b/docs/html/guide/topics/ui/settings.jd
index f454c4e..02f1255 100644
--- a/docs/html/guide/topics/ui/settings.jd
+++ b/docs/html/guide/topics/ui/settings.jd
@@ -801,7 +801,7 @@ String syncConnPref = sharedPref.getString(SettingsActivity.KEY_PREF_SYNC_CONN,
<h3 id="Listening">Listening for preference changes</h3>
-<p>There are several reasons you might want to be notified as soon as the use changes one of the
+<p>There are several reasons you might want to be notified as soon as the user changes one of the
preferences. In order to receive a callback when a change happens to any one of the preferences,
implement the {@link android.content.SharedPreferences.OnSharedPreferenceChangeListener
SharedPreference.OnSharedPreferenceChangeListener} interface and register the listener for the