aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-08-01 03:04:51 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-08-01 03:04:51 +0000
commitcd1dff1e8b18c882b8e91d2997b97d6e6b87f739 (patch)
treeda918a8f2c0cdb5d740d097afeb9ca715794efa6
parent1a93ee75bee931881c4a3b22111fd1d91384ffd4 (diff)
parent11164c5bc05ddabc2f33bb3f3848493280daaf6c (diff)
downloadplatform_compatibility_cdd-cd1dff1e8b18c882b8e91d2997b97d6e6b87f739.tar.gz
platform_compatibility_cdd-cd1dff1e8b18c882b8e91d2997b97d6e6b87f739.tar.bz2
platform_compatibility_cdd-cd1dff1e8b18c882b8e91d2997b97d6e6b87f739.zip
Snap for 4924178 from 19f5c97e21f0a759ab42b8ad919cf4cae38d0b53 to pi-qpr1-release
Change-Id: I5d5b0d5ab0f13c54e99c0f6d0741d96802360cac
-rw-r--r--2_device-types/2_2_handheld-reqs.md11
-rw-r--r--3_software/3_3_native-api-compatibility.md60
2 files changed, 42 insertions, 29 deletions
diff --git a/2_device-types/2_2_handheld-reqs.md b/2_device-types/2_2_handheld-reqs.md
index 946e26cc..fcf4446b 100644
--- a/2_device-types/2_2_handheld-reqs.md
+++ b/2_device-types/2_2_handheld-reqs.md
@@ -386,3 +386,14 @@ provide a user-accessible mechanism to grant or revoke access to such apps in
response to the [`android.settings.ACTION_USAGE_ACCESS_SETTINGS`](
https://developer.android.com/reference/android/provider/Settings.html#ACTION&lowbar;USAGE&lowbar;ACCESS&lowbar;SETTINGS)
intent.
+
+When Handheld device implementations support a secure lock screen, they:
+
+* [[9.11](#9_11_permissions)/H-1-1] MUST allow the user to choose the shortest
+ sleep timeout, that is a transition time from the unlocked to the locked
+ state, as 15 seconds or less.
+* [[9.11](#9_11_permissions)/H-1-2] MUST provide user affordance to hide
+ notifications and disable all forms of authentication except for the
+ primary authentication described in
+ [9.11.1 Secure Lock Screen](#9_11_1_secure-lock-screen). The AOSP meets the
+ requirement as lockdown mode. \ No newline at end of file
diff --git a/3_software/3_3_native-api-compatibility.md b/3_software/3_3_native-api-compatibility.md
index 1fe7f371..5a8eb57c 100644
--- a/3_software/3_3_native-api-compatibility.md
+++ b/3_software/3_3_native-api-compatibility.md
@@ -24,20 +24,19 @@ Device implementations:
* [C-0-3] MUST be source-compatible (i.e. header-compatible) and
binary-compatible (for the ABI) with each required library in the list
below.
-* [C-0-4] MUST support the equivalent 32-bit ABI if any 64-bit ABI is
- supported.
* [C-0-5] MUST accurately report the native Application Binary Interface
(ABI) supported by the device, via the `android.os.Build.SUPPORTED_ABIS`,
`android.os.Build.SUPPORTED_32_BIT_ABIS`, and
`android.os.Build.SUPPORTED_64_BIT_ABIS` parameters, each a comma separated
list of ABIs ordered from the most to the least preferred one.
-* [C-0-6] MUST report, via the above parameters, only those ABIs documented
- and described in the latest version of the
- [Android NDK ABI Management documentation](
- https://developer.android.com/ndk/guides/abis.html), and MUST include
- support for the [Advanced SIMD](
- http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html)
- (a.k.a. NEON) extension.
+* [C-0-6] MUST report, via the above parameters, a subset of the following
+ list of ABIs and MUST NOT report any ABI not on the list.
+
+ * `armeabi`
+ * `armeabi-v7a`
+ * `arm64-v8a`
+ * `x86`
+ * `x86-64`
* [C-0-7] MUST make all the following libraries, providing native APIs,
available to apps that include native code:
@@ -78,7 +77,7 @@ Device implementations:
Note that while all the symbols MUST be present, section 7.1.4.1 describes
in more detail the requirements for when the full implementation of each
corresponding functions are expected.
-* [C-0-12] MUST export function symbols for the core Vulkan 1.1 function
+* [C-0-12] MUST export function symbols for the core Vulkan 1.0 function
symbols, as well as the `VK_KHR_surface`, `VK_KHR_android_surface`,
`VK_KHR_swapchain`, `VK_KHR_maintenance1`, and
`VK_KHR_get_physical_device_properties2` extensions through the
@@ -88,32 +87,35 @@ Device implementations:
* SHOULD be built using the source code and header files available in the
upstream Android Open Source Project
-Note that future releases of the Android NDK may introduce support for
-additional ABIs.
+Note that future releases of Android may introduce support for additional
+ABIs.
### 3.3.2. 32-bit ARM Native Code Compatibility
-If device implementations are 64-bit ARM devices, then:
+If device implementations report the support of the `armeabi` ABI, they:
-* [C-1-1] Although the ARMv8 architecture deprecates several CPU operations,
- including some operations used in existing native code, the following
- deprecated operations MUST remain available to 32-bit native ARM code,
- either through native CPU support or through software emulation:
+* [C-3-1] MUST also support `armeabi-v7a` and report its support, as
+ `armeabi` is only for backwards compatibility with older apps.
- * SWP and SWPB instructions
- * SETEND instruction
- * CP15ISB, CP15DSB, and CP15DMB barrier operations
+If device implementations report the support of the `armeabi-v7a` ABI, for apps
+using this ABI, they:
-If device implementations include a 32-bit ARM ABI, they:
-
-* [C-2-1] MUST include the following lines in `/proc/cpuinfo` when it is read
- by 32-bit ARM applications to ensure compatibility with applications built
- using legacy versions of Android NDK.
+* [C-2-1] MUST include the following lines in `/proc/cpuinfo`, and SHOULD NOT
+ alter the values on the same device, even when they are read by other ABIs.
* `Features: `, followed by a list of any optional ARMv7 CPU features
- supported by the device.
+ supported by the device.
* `CPU architecture: `, followed by an integer describing the device's
- highest supported ARM architecture (e.g., "8" for ARMv8 devices).
+ highest supported ARM architecture (e.g., "8" for ARMv8 devices).
+
+* [C-2-2] MUST always keep the following operations available, even in the
+ case where the ABI is implemented on an ARMv8 architecture, either through
+ native CPU support or through software emulation:
+
+ * SWP and SWPB instructions.
+ * SETEND instruction.
+ * CP15ISB, CP15DSB, and CP15DMB barrier operations.
-* SHOULD not alter `/proc/cpuinfo` when read by 64-bit ARM or non-ARM
- applications.
+* [C-2-3] MUST include support for the [Advanced SIMD](
+ http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html)
+ (a.k.a. NEON) extension. \ No newline at end of file