Merge "docs: Add gen. dumpsys article, rename and update input."
diff --git a/src/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf b/src/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf
new file mode 100644
index 0000000..40e9cee
--- /dev/null
+++ b/src/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf
Binary files differ
diff --git a/src/devices/audio/images/ape_fwk_hal_audio.png b/src/devices/audio/images/ape_fwk_hal_audio.png
index f42abac..fa6c47a 100644
--- a/src/devices/audio/images/ape_fwk_hal_audio.png
+++ b/src/devices/audio/images/ape_fwk_hal_audio.png
Binary files differ
diff --git a/src/devices/audio/index.jd b/src/devices/audio/index.jd
index d3868d3..b658e85 100644
--- a/src/devices/audio/index.jd
+++ b/src/devices/audio/index.jd
@@ -25,7 +25,7 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_audio.png" alt="Android Audio HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_audio.png" alt="Android Audio HAL icon"/>
<p>
Android's audio Hardware Abstraction Layer (HAL) connects the higher-level, audio-specific
framework APIs in <a href="http://developer.android.com/reference/android/media/package-summary.html">android.media</a> to the underlying audio driver and hardware. This section includes implementation instructions and tips for improving performance.</p>
diff --git a/src/devices/bluetooth.jd b/src/devices/bluetooth.jd
index 4f0482f..8677b7d 100644
--- a/src/devices/bluetooth.jd
+++ b/src/devices/bluetooth.jd
@@ -24,12 +24,14 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_bluetooth.png" alt="Android Bluetooth HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_bluetooth.png" alt="Android Bluetooth HAL icon"/>
<p>Android provides a default Bluetooth stack, BlueDroid, that is divided into two layers: The Bluetooth Embedded System (BTE), which implements the core Bluetooth functionality and the Bluetooth Application Layer (BTA), which communicates with Android framework applications.</p>
+<p>To fully leverage the <a href="http://developer.android.com/about/versions/android-5.0.html#BluetoothBroadcasting">Bluetooth Low Energy APIs</a> added in Android 5.0, you should implement the <a href="Android-5.0-Bluetooth-HCI-Reqs.pdf">Android 5.0 Bluetooth HCI Requirements</a>.</p>
+
<h2 id="architecture">Architecture</h2>
-<p>A Bluetooth system service communicates with the Bluetooth stack through JNI and with applications through Binder IPC. The system service provides developers access to various Bluetooth profiles. The following diagram shows the general structure of the Bluetooth stack:
+<p>A Bluetooth system service communicates with the Bluetooth stack through JNI and with applications through Binder IPC. The system service provides developers access to various Bluetooth profiles. The following diagram shows the general structure of the Bluetooth stack:
</p>
<img src="images/ape_fwk_bluetooth.png" alt="Android Bluetooth architecture" id="figure1" />
@@ -41,7 +43,7 @@
<dt>Application framework</dt>
<dd>At the application framework level is the app's code, which utilizes the <a
href="http://developer.android.com/reference/android/bluetooth/package-summary.html">android.bluetooth</a>
- APIs to interact with the bluetooth hardware. Internally, this code calls the Bluetooth process through
+ APIs to interact with the Bluetooth hardware. Internally, this code calls the Bluetooth process through
the Binder IPC mechanism.</dd>
<dt>Bluetooth system service</dt>
@@ -59,7 +61,7 @@
<dt>HAL</dt>
<dd>The hardware abstraction layer defines the standard interface that the <a
href="http://developer.android.com/reference/android/bluetooth/package-summary.html">android.bluetooth</a> APIs
- and Bluetooth process calls into and that you must implement to have your bluetooth hardware
+ and Bluetooth process calls into and that you must implement to have your Bluetooth hardware
function correctly. The header files for the Bluetooth HAL is located
in the <code>hardware/libhardware/include/hardware/bluetooth.h</code> and
<code>hardware/libhardware/include/hardware/bt_*.h</code> files.
@@ -80,21 +82,22 @@
<h2 id="implementing">Implementing the HAL</h2>
-<p>The Bluetooth HAL is located in the <code>hardware/libhardware/include/hardware/</code> directory
- and consists of the following header files:
+<p>The Bluetooth HAL is located in the <code>hardware/libhardware/include/hardware/</code> directory. Please see that directory for the <strong>complete set</strong> of files, which include but are not limited to the following:
+</p>
<ul>
- <li><code>bluetooth.h</code>: Contains the HAL for the Bluetooth hardware on the device</li>
- <li><code>bt_av.h</code>: Contains the HAL for the advanced audio profile.</li>
- <li><code>bt_hf.h</code>: Contains the HAL for the handsfree profile.</li>
- <li><code>bt_hh.h</code>: Contains the HAL for the HID host profile</li>
- <li><code>bt_hl.h</code>: Contains the HAL for the health profile</li>
- <li><code>bt_pan.h</code>: Contains the HAL for the pan profile</li>
- <li><code>bt_sock.h</code>: Contains the HAL for the socket profile.</li>
+ <li><code>bluetooth.h</code>: Includes the interface definition for the Bluetooth hardware on the device.</li>
+ <li><code>bt_av.h</code>: Includes the interface definition for the A2DP profile.</li>
+ <li><code>bt_gatt.h</code>, <code>bt_gatt_client.h</code>, and <code>bt_gatt_server.h</code>: These include the interface definition for the GATT profile.</li>
+ <li><code>bt_hf.h</code>: Includes the interface definition for the HFP profile.</li>
+ <li><code>bt_hh.h</code>: Includes the interface definition for the HID host profile.</li>
+ <li><code>bt_hl.h</code>: Includes the interface definition for the HDP profile.</li>
+ <li><code>bt_mce.h</code>: Includes the interface definition for the MAP profile.</li>
+ <li><code>bt_pan.h</code>: Includes the interface definition for the PAN profile.</li>
+ <li><code>bt_rc.h</code>: Includes the interface definition for the AVRCP profile.</li>
+ <li><code>bt_sock.h</code>: Includes the interface definition for RFCOMM sockets.</li>
</ul>
-</p>
-
<p>Keep in mind that your Bluetooth implementation is not constrained to the features
and profiles exposed in the HAL. You can find the default implementation located
in the BlueDroid Bluetooth stack in the <code>external/bluetooth/bluedroid</code> directory,
diff --git a/src/devices/camera/images/ape_fwk_hal_camera.png b/src/devices/camera/images/ape_fwk_hal_camera.png
index b4552ae..c8dc558 100644
--- a/src/devices/camera/images/ape_fwk_hal_camera.png
+++ b/src/devices/camera/images/ape_fwk_hal_camera.png
Binary files differ
diff --git a/src/devices/camera/index.jd b/src/devices/camera/index.jd
index 419242a..1e5cab8 100644
--- a/src/devices/camera/index.jd
+++ b/src/devices/camera/index.jd
@@ -24,10 +24,10 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_camera.png" alt="Android Camera HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_camera.png" alt="Android Camera HAL icon"/>
-<p>Android's camera HAL connects the higher level
-camera framework APIs in <a href="http://developer.android.com/reference/android/hardware/package-summary.html">android.hardware</a> to your underlying camera driver and hardware.</p>
+<p>Android's camera Hardware Abstraction Layer (HAL) connects the higher level
+camera framework APIs in <a href="http://developer.android.com/reference/android/hardware/package-summary.html">android.hardware</a> to your underlying camera driver and hardware. The camera subsystem includes implementations for camera pipeline components while the camera HAL provides interfaces for use in implementing your version of these components.</p>
<h2 id="architecture">Architecture</h2>
<p>The following figure and list describe the components involved and where to find the source for each:
diff --git a/src/devices/drm.jd b/src/devices/drm.jd
index 4403a71..3d47e30 100644
--- a/src/devices/drm.jd
+++ b/src/devices/drm.jd
@@ -25,7 +25,7 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_drm.png" alt="Android DRM HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_drm.png" alt="Android DRM HAL icon"/>
<p>This document provides an overview of the Android DRM framework, and
introduces the interfaces a DRM plug-in must implement. This document does not
diff --git a/src/devices/graphics/images/ape_fwk_hal_graphics.png b/src/devices/graphics/images/ape_fwk_hal_graphics.png
index 29251ba..b29b3d3 100644
--- a/src/devices/graphics/images/ape_fwk_hal_graphics.png
+++ b/src/devices/graphics/images/ape_fwk_hal_graphics.png
Binary files differ
diff --git a/src/devices/graphics/index.jd b/src/devices/graphics/index.jd
index 114f68c..3bba9dd 100644
--- a/src/devices/graphics/index.jd
+++ b/src/devices/graphics/index.jd
@@ -25,9 +25,8 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;"
-src="images/ape_fwk_hal_graphics.png" alt="Android Graphics HAL icon"
-width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;"
+src="images/ape_fwk_hal_graphics.png" alt="Android Graphics HAL icon"/>
<p>The Android framework offers a variety of graphics rendering APIs for 2D and
3D that interact with manufacturer implementations of graphics drivers, so it
diff --git a/src/devices/images/ape_fwk_hal_bluetooth.png b/src/devices/images/ape_fwk_hal_bluetooth.png
index 46dad48..d39194e 100644
--- a/src/devices/images/ape_fwk_hal_bluetooth.png
+++ b/src/devices/images/ape_fwk_hal_bluetooth.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_hal_drm.png b/src/devices/images/ape_fwk_hal_drm.png
index 50b8754..fc67294 100644
--- a/src/devices/images/ape_fwk_hal_drm.png
+++ b/src/devices/images/ape_fwk_hal_drm.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_hal_media.png b/src/devices/images/ape_fwk_hal_media.png
index 8a21043..3067947 100644
--- a/src/devices/images/ape_fwk_hal_media.png
+++ b/src/devices/images/ape_fwk_hal_media.png
Binary files differ
diff --git a/src/devices/input/images/ape_fwk_hal_input.png b/src/devices/input/images/ape_fwk_hal_input.png
index 0c77977..e5706f7 100644
--- a/src/devices/input/images/ape_fwk_hal_input.png
+++ b/src/devices/input/images/ape_fwk_hal_input.png
Binary files differ
diff --git a/src/devices/input/index.jd b/src/devices/input/index.jd
index cb8ef09..8dd1508 100644
--- a/src/devices/input/index.jd
+++ b/src/devices/input/index.jd
@@ -17,7 +17,7 @@
limitations under the License.
-->
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_input.png" alt="Android Input HAL icon" width="175" />
+<img style="float: right; margin: 0px 135px 15px 15px;" src="images/ape_fwk_hal_input.png" alt="Android Input HAL icon"/>
<p>The Android input subsystem supports many different device classes,
including keyboard, joystick, trackball, mouse, and touch screen. The documentation in this section describes how to configure,
diff --git a/src/devices/media.jd b/src/devices/media.jd
index 7987ace..166ba59 100644
--- a/src/devices/media.jd
+++ b/src/devices/media.jd
@@ -24,7 +24,7 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_media.png" alt="Android Media HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_media.png" alt="Android Media HAL icon"/>
<p>
Android provides a media playback engine at the native level called Stagefright that comes built-in with software-based codecs for several popular media formats. Stagefright features for audio and video playback include integration with OpenMAX codecs, session management, time-synchronized rendering, transport control, and DRM.</p>
diff --git a/src/devices/sensors/images/ape_fwk_hal_sensors.png b/src/devices/sensors/images/ape_fwk_hal_sensors.png
index 1a63fa9..d5b5be8 100644
--- a/src/devices/sensors/images/ape_fwk_hal_sensors.png
+++ b/src/devices/sensors/images/ape_fwk_hal_sensors.png
Binary files differ
diff --git a/src/devices/sensors/index.jd b/src/devices/sensors/index.jd
index 22cda10..537025e 100644
--- a/src/devices/sensors/index.jd
+++ b/src/devices/sensors/index.jd
@@ -23,7 +23,7 @@
</ol>
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_sensors.png" alt="Android Sensors HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_sensors.png" alt="Android Sensors HAL icon"/>
<p>Android sensors give applications access to a mobile device's underlying physical sensors. They are data-providing virtual devices defined by <a href="{@docRoot}devices/halref/sensors_8h.html">sensors.h</a>, the sensor Hardware Abstraction Layer (HAL).</p>
diff --git a/src/devices/storage/images/ape_fwk_hal_extstor.png b/src/devices/storage/images/ape_fwk_hal_extstor.png
index 015ea46..618cba2 100644
--- a/src/devices/storage/images/ape_fwk_hal_extstor.png
+++ b/src/devices/storage/images/ape_fwk_hal_extstor.png
Binary files differ
diff --git a/src/devices/storage/index.jd b/src/devices/storage/index.jd
index bcc6cce..e8786ec 100644
--- a/src/devices/storage/index.jd
+++ b/src/devices/storage/index.jd
@@ -17,7 +17,7 @@
limitations under the License.
-->
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_extstor.png" alt="Android external storage HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_extstor.png" alt="Android external storage HAL icon"/>
<p>Android supports devices with external storage, which is defined to be a
case-insensitive filesystem with immutable POSIX permission classes and
diff --git a/src/devices/tv/images/ape_fwk_hal_tv.png b/src/devices/tv/images/ape_fwk_hal_tv.png
index 0c04027..c7b3613 100644
--- a/src/devices/tv/images/ape_fwk_hal_tv.png
+++ b/src/devices/tv/images/ape_fwk_hal_tv.png
Binary files differ
diff --git a/src/devices/tv/index.jd b/src/devices/tv/index.jd
index 7d33f80..d502872 100644
--- a/src/devices/tv/index.jd
+++ b/src/devices/tv/index.jd
@@ -24,7 +24,7 @@
</div>
</div>
-<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_tv.png" alt="Android TV HAL icon" width="175" />
+<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_tv.png" alt="Android TV HAL icon"/>
<p>The Android TV Input Framework (TIF) simplifies delivery of live content to Android TV. The Android TIF provides a standard API for manufacturers to create input modules for controlling Android TV, and enables live TV search and recommendations via metadata published by the TV Input.</p>
<p>The framework does not seek to implement TV standards or regional requirements, but does makes it easier for device manufacturers to meet regional digital TV broadcast standards without re-implementation. Documentation in this section might also be useful to third-party app developers who want to create custom TV Inputs.</p>
diff --git a/src/source/build-numbers.jd b/src/source/build-numbers.jd
index d3fefd3..3337685 100644
--- a/src/source/build-numbers.jd
+++ b/src/source/build-numbers.jd
@@ -178,6 +178,12 @@
<th>Supported devices</th>
</tr>
<tr>
+ <td>LMY47I</td>
+ <td>android-5.1.0_r3</td>
+ <td>Lollipop</td>
+ <td>Nexus 5, Nexus 6</td>
+</tr>
+<tr>
<td>LMY47D</td>
<td>android-5.1.0_r1</td>
<td>Lollipop</td>