aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Marwaha <vikasmarwaha@google.com>2017-10-04 11:43:09 -0700
committerVikas Marwaha <vikasmarwaha@google.com>2017-10-04 11:43:09 -0700
commitd5201387feec10a7ad0bce3b80fe68ffff2c1242 (patch)
tree14a6fc184cb887cd5abf7e7ae4d16e0c325baa67
parentff57c23d9e3cc032b42c4df6ea9496e1a85bd67a (diff)
parent2e5325ec71cd912c4483610df72cb35dbafd6ec6 (diff)
downloadplatform_compatibility_cdd-d5201387feec10a7ad0bce3b80fe68ffff2c1242.tar.gz
platform_compatibility_cdd-d5201387feec10a7ad0bce3b80fe68ffff2c1242.tar.bz2
platform_compatibility_cdd-d5201387feec10a7ad0bce3b80fe68ffff2c1242.zip
resolve merge conflicts of 2e5325e to oc-dr1-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution. Change-Id: I539253cb0f46b5b2058278e8472c0c579d5501c5
-rw-r--r--2_device-types/2_2_handheld-reqs.md15
-rw-r--r--2_device-types/2_3_television-reqs.md7
-rw-r--r--2_device-types/2_4_watch-reqs.md54
-rw-r--r--2_device-types/2_5_automotive-reqs.md155
-rw-r--r--4_application-packaging/4_0_intro.md21
-rw-r--r--5_multimedia/5_3_video-decoding.md2
-rw-r--r--7_hardware-compatibility/7_3_sensors.md4
-rw-r--r--7_hardware-compatibility/7_5_cameras.md12
-rw-r--r--7_hardware-compatibility/7_6_memory-and-storage.md2
9 files changed, 239 insertions, 33 deletions
diff --git a/2_device-types/2_2_handheld-reqs.md b/2_device-types/2_2_handheld-reqs.md
index 871375fe..2570f5a1 100644
--- a/2_device-types/2_2_handheld-reqs.md
+++ b/2_device-types/2_2_handheld-reqs.md
@@ -94,14 +94,13 @@ policies defined in the Android SDK documentation.
**Accessibility (Section 3.10)**
-* [H-SR] Android Handheld device implementations MUST support third-party
- accessibility services.
-
-* [H-SR] Android Handheld device implementations are STRONGLY RECOMMENDED to
- preload accessibility services on the device comparable with or exceeding
- functionality of the Switch Access and TalkBack (for languages supported by
- the preloaded Text-to-speech engine) accessibility services as provided in
- the [talkback open source project](https://github.com/google/talkback).
+* [H-0-1] MUST support third-party accessibility services.
+
+* [H-SR] Are STRONGLY RECOMMENDED to preload accessibility services on the
+ device comparable with or exceeding functionality of the Switch Access and
+ TalkBack (for languages supported by the preloaded Text-to-speech engine)
+ accessibility services as provided in the [talkback open source
+ project](https://github.com/google/talkback).
**Text-to-Speech (Section 3.11)**
diff --git a/2_device-types/2_3_television-reqs.md b/2_device-types/2_3_television-reqs.md
index 39ff09eb..d4b45f8d 100644
--- a/2_device-types/2_3_television-reqs.md
+++ b/2_device-types/2_3_television-reqs.md
@@ -51,10 +51,11 @@ If Android Television device implementations support a lock screen,they:
**Accessibility (Section 3.10)**
-* [T-SR] Android Television device implementations MUST support third-party
- accessibility services.
+Television device implementations:
-* [T-SR] Android Television device implementations are STRONGLY RECOMMENDED to
+* [T-0-1] MUST support third-party accessibility services.
+
+* [T-SR] Are STRONGLY RECOMMENDED to
preload accessibility services on the device comparable with or exceeding
functionality of the Switch Access and TalkBack (for languages supported by
the preloaded Text-to-speech engine) accessibility services as provided in
diff --git a/2_device-types/2_4_watch-reqs.md b/2_device-types/2_4_watch-reqs.md
index 500aab8b..35b56105 100644
--- a/2_device-types/2_4_watch-reqs.md
+++ b/2_device-types/2_4_watch-reqs.md
@@ -15,7 +15,59 @@ Watch device implementations.
### 2.4.1\. Hardware
-To be added.
+**Screen Size (Section 7.1.1.1)**
+
+Watch device implementations:
+
+* [W-0-1] MUST have a screen with the physical diagonal size in the range from
+ 1.1 to 2.5 inches.
+
+**Navigation Keys (Section 7.2.3)**
+
+Watch device implementations:
+
+* [W-0-1] MUST have the Home function available to the user, and the Back
+ function except for when it is in `UI_MODE_TYPE_WATCH`.
+
+**Touchscreen Input (Section 7.2.4)**
+
+Watch device implementations:
+
+* [W-0-1] MUST support touchscreen input.
+
+**Accelerometer (Section 7.3.1)**
+
+Watch device implementations:
+
+* [W-SR] Are STRONGLY RECOMMENDED to include a 3-axis accelerometer.
+
+**Bluetooth (Section 7.4.3)**
+
+Watch device implementations:
+
+* [W-0-1] MUST support Bluetooth.
+
+
+**Minimum Memory and Storage (Section 7.6.1)**
+
+Watch device implementations:
+
+* [W-0-1] MUST have at least 1GB of non-volatile storage available for
+ application private data (a.k.a. "/data" partition)
+* [W-0-2] MUST have at least 416MB memory available to the kernel and
+ userspace.
+
+**Microphone (Section 7.8.1)**
+
+Watch device implementations:
+
+* [W-0-1] MUST include a microphone.
+
+**Audio Output (Section 7.8.1)**
+
+Watch device implementations:
+
+* MAY but SHOULD NOT have audio output.
### 2.4.2\. Multimedia
diff --git a/2_device-types/2_5_automotive-reqs.md b/2_device-types/2_5_automotive-reqs.md
index d6f42710..62338d58 100644
--- a/2_device-types/2_5_automotive-reqs.md
+++ b/2_device-types/2_5_automotive-reqs.md
@@ -16,16 +16,161 @@ Automotive device implementations.
### 2.5.1\. Hardware
-Android Automotive device implementations:
+**Screen Size (Section 7.1.1.1)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST have a screen at least 6 inches in physical diagonal size.
+* [A-0-2] MUST have a screen size layout of at least 750 dp x 480 dp.
+
+**Navigation Keys (Section 7.2.3)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST provide the Home function and MAY provide Back and Recent
+ functions.
+* [A-0-2] MUST send both the normal and long press event of the the Back
+ function
+ ([`KEYCODE_BACK`](http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK))
+ to the foreground application.
+
+**Accelerometer (Section 7.3.1)**
+
+Automotive device implementations:
+
+* [A-SR] Are STRONGLY RECOMMENDED to include a 3-axis accelerometer.
+
+If Automotive device implementations include a 3-axis accelerometer, they:
+
+* [A-1-1] MUST be able to report events up to a frequency of at least 100 Hz.
+* [A-1-2] MUST comply with the Android
+ [car sensor coordinate system](
+ http://source.android.com/devices/sensors/sensor-types.html#auto_axes).
+
+**GPS (Section 7.3.3)**
+
+If Automotive device implementations include a GPS/GNSS receiver and report
+the capability to applications through the `android.hardware.location.gps`
+feature flag:
+
+* [A-1-1] GNSS technology generation MUST be the year "2017" or newer.
+
+**Gyroscope (Section 7.3.4)**
+
+If Automotive device implementations include a gyroscope, they:
+
+* [A-1-1] MUST be able to report events up to a frequency of at least 100 Hz.
+
+**Android Automotive-only sensors (Section 7.3.11)**
+**Current Gear (Section 7.3.11.1)**
+
+Automotive device implementations:
+
+* SHOULD provide current gear as `SENSOR_TYPE_GEAR`.
+
+**Day Night Mode (Section 7.3.11.2)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST support day/night mode defined as `SENSOR_TYPE_NIGHT`.
+* [A-0-2] The value of the `SENSOR_TYPE_NIGHT` flag MUST be consistent with
+ dashboard day/night mode and SHOULD be based on ambient light sensor input.
+* The underlying ambient light sensor MAY be the same as
+[Photometer](#7_3_7_photometer).
+
+**Driving Status (Section 7.3.11.3)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST support driving status defined as
+ `SENSOR_TYPE_DRIVING_STATUS`, with a default value of
+ `DRIVE_STATUS_UNRESTRICTED` when the vehicle is fully stopped and parked.
+ It is the responsibility of device manufacturers to configure
+ `SENSOR_TYPE_DRIVING_STATUS` in compliance with all laws and regulations
+ that apply to markets where the product is shipping.
+
+**Wheel Speed (Section 7.3.11.4)**
+
+Automotive device implementations:
-* [A-0-1] MUST have a screen with the physical diagonal length equal to or greater
- than 6 inches.
+* [A-0-1] MUST provide vehicle speed defined as `SENSOR_TYPE_CAR_SPEED`.
-More to be added.
+**Bluetooth (Section 7.4.3)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST support Bluetooth and SHOULD support Bluetooth LE.
+
+* [A-0-2] Android Automotive implementations MUST support the following
+ Bluetooth profiles:
+ * Phone calling over Hands-Free Profile (HFP).
+ * Media playback over Audio Distribution Profile (A2DP).
+ * Media playback control over Remote Control Profile (AVRCP).
+ * Contact sharing using the Phone Book Access Profile (PBAP).
+* SHOULD support Message Access Profile (MAP).
+
+**Minimum Network Capability (Section 7.4.5)**
+
+Automotive device implementations:
+
+* SHOULD include support for cellular network based data connectivity.
+
+**Minimum Memory and Storage (Section 7.6.1)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST have at least 4GB of non-volatile storage available for
+ application private data (a.k.a. "/data" partition)
+
+**USB peripheral mode (Section 7.7.1)**
+
+Automotive device implementations:
+
+* SHOULD include a USB port supporting peripheral mode.
+
+**Microphone (Section 7.8.1)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST include a microphone.
+
+**Audio Output (Section 7.8.2)**
+
+Automotive device implementations:
+
+* [A-0-1] MUST have an audio output and declare
+ `android.hardware.audio.output`.
### 2.5.2\. Multimedia
-To be added.
+**Audio Encoding (Section 5.1)**
+
+Automotive device implementations MUST support the following audio encoding:
+
+* [A-0-1] MPEG-4 AAC Profile (AAC LC)
+* [A-0-2] MPEG-4 HE AAC Profile (AAC+)
+* [A-0-3] AAC ELD (enhanced low delay AAC)
+
+**Video Encoding (Section 5.2)**
+
+Automotive device implementations MUST support the following video encoding:
+
+* [A-0-1] H.264 AVC
+* [A-0-2] VP8
+
+**Video Decoding (Section 5.3)**
+
+Automotive device implementations MUST support the following video decoding:
+
+* [A-0-1] H.264 AVC
+* [A-0-2] MPEG-4 SP
+* [A-0-3] VP8
+* [A-0-4] VP9
+
+Automotive device implementations are STRONGLY RECOMMENDED to support the
+following video decoding:
+
+* [A-SR] H.265 HEVC
### 2.5.3\. Software
diff --git a/4_application-packaging/4_0_intro.md b/4_application-packaging/4_0_intro.md
index 4285e9cc..1a25035e 100644
--- a/4_application-packaging/4_0_intro.md
+++ b/4_application-packaging/4_0_intro.md
@@ -31,20 +31,25 @@ intent and the storage manager app handling [ACTION_MANAGE_STORAGE](
https://developer.android.com/reference/android/os/storage/StorageManager.html#ACTION_MANAGE_STORAGE)
intent.
-Device implementations MUST NOT install application packages from unknown
+* [C-0-5] MUST have an activity that handles the
+[`android.settings.MANAGE_UNKNOWN_APP_SOURCES`](http://developer.android.com/reference/android/provider/Settings.html#ACTION_MANAGE_UNKNOWN_APP_SOURCES)
+intent.
+
+* [C-0-6] MUST NOT install application packages from unknown
sources, unless the app that [requests the installation](https://developer.android.com/reference/android/content/Intent.html#ACTION_INSTALL_PACKAGE)
meets all the following requirements:
-* It MUST declare the [`REQUEST_INSTALL_PACKAGES`](http://developer.android.com/reference/android/Manifest.permission.html#REQUEST_INSTALL_PACKAGES)
+ * It MUST declare the [`REQUEST_INSTALL_PACKAGES`](http://developer.android.com/reference/android/Manifest.permission.html#REQUEST_INSTALL_PACKAGES)
permission or have the `android:targetSdkVersion` set at 24 or lower.
-* It MUST have been granted permission by the user to install apps from
+ * It MUST have been granted permission by the user to install apps from
unknown sources.
-Device implementations MUST have an activity that handles the
-[`android.settings.MANAGE_UNKNOWN_APP_SOURCES`](http://developer.android.com/reference/android/provider/Settings.html#ACTION_MANAGE_UNKNOWN_APP_SOURCES)
-intent. They SHOULD provide a user affordance to grant/revoke the permission to
+* SHOULD provide a user affordance to grant/revoke the permission to
install apps from unknown sources per application, but MAY choose to implement
-this as a no-op and return `RESULT_CANCELED` for [`startActivityForResult()`](http://developer.android.com/reference/android/app/Activity.html#startActivityForResult%28android.content.Intent, int%29),
+this as a no-op and return `RESULT_CANCELED` for
+[`startActivityForResult()`](http://developer.android.com/reference/android/app/Activity.html#startActivityForResult%28android.content.Intent,
+int%29),
if the device implementation does not want to allow users to have this choice.
-However even in such cases, they SHOULD indicate to the user why there is no such
+However, even in such cases, they SHOULD indicate to the user why there is no
+such
choice presented.
diff --git a/5_multimedia/5_3_video-decoding.md b/5_multimedia/5_3_video-decoding.md
index 255d5038..007cf999 100644
--- a/5_multimedia/5_3_video-decoding.md
+++ b/5_multimedia/5_3_video-decoding.md
@@ -256,7 +256,7 @@ following table.
If device implementations support VP9 codec and a hardware decoder:
-* [C-2-2] MUST support the HD decoding profiles as indicated in the following
+* [C-2-1] MUST support the HD decoding profiles as indicated in the following
table.
If the height that is reported by the `Display.getSupportedModes()` method is
diff --git a/7_hardware-compatibility/7_3_sensors.md b/7_hardware-compatibility/7_3_sensors.md
index 20903411..0553ac68 100644
--- a/7_hardware-compatibility/7_3_sensors.md
+++ b/7_hardware-compatibility/7_3_sensors.md
@@ -42,7 +42,7 @@ SystemClock.elapsedRealtimeNano() clock. Existing and new Android devices are
upgrade to the future platform releases where this might become a REQUIRED
component. The synchronization error SHOULD be below 100 milliseconds.
-* [C-1-7] For any API indicated by the Android SDK documentation to be a
+* [C-1-4] For any API indicated by the Android SDK documentation to be a
[continuous sensor](
https://source.android.com/devices/sensors/report-modes.html#continuous),
device implementations MUST continuously provide
@@ -50,7 +50,7 @@ component. The synchronization error SHOULD be below 100 milliseconds.
where jitter is defined as the standard deviation of the difference of the
reported timestamp values between consecutive events.
-* [C-1-8] MUST ensure that the sensor event stream
+* [C-1-5] MUST ensure that the sensor event stream
MUST NOT prevent the device CPU from entering a suspend state or waking up
from a suspend state.
* When several sensors are activated, the power consumption SHOULD NOT exceed
diff --git a/7_hardware-compatibility/7_5_cameras.md b/7_hardware-compatibility/7_5_cameras.md
index d0593d4d..d5ae3363 100644
--- a/7_hardware-compatibility/7_5_cameras.md
+++ b/7_hardware-compatibility/7_5_cameras.md
@@ -56,7 +56,7 @@ If device implementations include at least one front-facing camera, they:
* [C-1-3] MUST NOT use a front-facing camera as the default for the
Camera API and MUST NOT configure the API to treat a front-facing camera as
the default rear-facing camera, even if it is the only camera on the device.
-* [C-1-5] The camera preview MUST be mirrored horizontally relative to the
+* [C-1-4] The camera preview MUST be mirrored horizontally relative to the
orientation specified by the application when the current application has
explicitly requested that the Camera
display be rotated via a call to the
@@ -68,9 +68,9 @@ that the Camera display be rotated via a call to the
[`android.hardware.Camera.setDisplayOrientation()`](
http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int))
method.
-* [C-1-6] MUST NOT mirror the final captured still image or video streams
+* [C-1-5] MUST NOT mirror the final captured still image or video streams
returned to application callbacks or committed to media storage.
-* [C-1-7] MUST mirror the image displayed by the postview in the same manner
+* [C-1-6] MUST mirror the image displayed by the postview in the same manner
as the camera preview image stream.
* MAY include features (such as auto-focus, flash, etc.) available to
rear-facing cameras as described in [section 7.5.1](#7_5_1_rear-facing_camera).
@@ -99,7 +99,11 @@ camera connects through the USB port.
high-quality unencoded streams (i.e. raw or independently compressed picture
streams).
* MAY support multiple cameras.
-* MAY support camera-based video encoding. If supported, a simultaneous
+* MAY support camera-based video encoding.
+
+If camera-based video encoding is supported:
+
+* [C-2-1] A simultaneous
unencoded / MJPEG stream (QVGA or greater resolution) MUST be accessible to
the device implementation.
diff --git a/7_hardware-compatibility/7_6_memory-and-storage.md b/7_hardware-compatibility/7_6_memory-and-storage.md
index 674da7fc..ab4eff2d 100644
--- a/7_hardware-compatibility/7_6_memory-and-storage.md
+++ b/7_hardware-compatibility/7_6_memory-and-storage.md
@@ -148,7 +148,7 @@ the above requirements, they:
If device implementations include multiple shared storage paths (such
as both an SD card slot and shared internal storage), they:
-* [C-3-1] MUST allow only pre-installed and privileged Android
+* [C-2-1] MUST allow only pre-installed and privileged Android
applications with the `WRITE_EXTERNAL_STORAGE` permission to
write to the secondary external storage, except when writing to their
package-specific directories or within the `URI` returned by firing the