From 3027576c42897037427a7e0ce4c100206f74490c Mon Sep 17 00:00:00 2001
From: Android Partner Docs
For devices that support -seamless -(A/B) updates, A/B the main DT and overlay DT partitions:
+seamless (A/B) updates, A/B the +main DT and overlay DT partitions:To fulfill requirement 4, you must make changes in the way service names, service labels, and rules are handled.
-For details on SELinux, see -Security-Enhanced Linux -in Android. For details on SELinux in Android 8.0, see +
For details on SELinux, see Security-Enhanced +Linux in Android. For details on SELinux in Android 8.0, see SELinux for Android 8.0.
diff --git a/en/devices/architecture/hidl/fmq.html b/en/devices/architecture/hidl/fmq.html index 13a79610..db4055b5 100644 --- a/en/devices/architecture/hidl/fmq.html +++ b/en/devices/architecture/hidl/fmq.html @@ -353,17 +353,17 @@ const MemRegion& getSecondRegion(); // get a reference to the second MemRegiMessageQueueSync::MemTransaction tx; if (mQueue->beginRead(dataLen, &tx)) { -auto first = tx.getFirstRegion(); -auto second = tx.getSecondRegion(); + auto first = tx.getFirstRegion(); + auto second = tx.getSecondRegion(); -foo(first.getAddress(), first.getLength()); // method that performs the data write -foo(second.getAddress(), second.getLength()); // method that performs the data write + foo(first.getAddress(), first.getLength()); // method that performs the data write + foo(second.getAddress(), second.getLength()); // method that performs the data write -if(commitWrite(dataLen) == false) { -//report error -} + if(commitWrite(dataLen) == false) { + // report error + } } else { -//report error + // report error }diff --git a/en/devices/architecture/hidl/interfaces.html b/en/devices/architecture/hidl/interfaces.html index a044abde..6fc1cb1b 100644 --- a/en/devices/architecture/hidl/interfaces.html +++ b/en/devices/architecture/hidl/interfaces.html @@ -75,7 +75,7 @@ interface in the package.
Aside from types.hal
, every other .hal
file defines
-an interface. For example, an interface is typically defined as follows:
interface IBar extends IFoo { // IFoo is another interface @@ -101,7 +101,7 @@ include:
interfaceDescriptor
notifySyspropsChanged
linkToDeath
unlinkToDeath
unlinkToDeath
setHALInstrumentation
getDebugInfo
debug
types.hal
and that
-interface are imported into the importing entity.types.hal
, then only that UDT
-is imported into the importing entity (other types in types.hal
are
-not imported).types.hal
and that interface are
+imported into the importing entity.types.hal
, then only that UDT is imported into
+the importing entity (other types in types.hal
are not imported).
+types
instead
@@ -208,7 +208,7 @@ be registered under the base HAL name and version, and under the extension's
Versions are expressed in two integers, major.minor.
For more details on versioning and vendor extensions, see +version. For more details on versioning and vendor extensions, see HIDL Versioning.
+This section summarizes how to manage a HIDL interface package (such as
+hardware/interfaces
) and consolidates information presented
+throughout the HIDL section. Before reading, ensure you are familiar with
+HIDL Versioning, the hashing
+concepts in Hashing with
+hidl-gen, the details of working with
+HIDL in general, and the following definitions:
Term | +Definition | +
---|---|
Application Binary Interface (ABI) | +Application programming interface + any binary linkages required. | +
Fully-qualified name (fqName) | +Name to distinguish a hidl type. Example:
+android.hardware.foo@1.0::IFoo . |
+
Package | +Package containing a HIDL interface and types. Example:
+android.hardware.foo@1.0 . |
+
Package root | +Root package that contains the HIDL interfaces. Example: the HIDL interface
+android.hardware is in the package root
+android.hardware.foo@1.0 . |
+
Package root path | +Location in the Android source tree where a package root maps to. | +
For more definitions, see HIDL +Terminology. +
+ +Package roots are specified to hidl-gen
as the argument
+-r android.hardware:hardware/interfaces
. For example, if the
+package is vendor.awesome.foo@1.0::IFoo
and hidl-gen
+is sent -r vendor.awesome:some/device/independent/path/interfaces
,
+then the interface file should be located in
+$ANDROID_BUILD_TOP/some/device/independent/path/interfaces/foo/1.0/IFoo.hal
.
+
In practice, it is recommended for a vendor or OEM named awesome
+to put their standard interfaces in vendor.awesome
. After a package
+path has been selected, it must not be changed as this is baked into the ABI of
+the interface.
For example, if you have -rsome.package:$PATH_A
and
+-rsome.package:$PATH_B
, $PATH_A
must be equal to
+$PATH_B
for a consistent interface directory (this also makes
+versioning interfaces much
+easier).
If you create a package path such as
+-r vendor.awesome:vendor/awesome/interfaces
, you should also
+create the file
+$ANDROID_BUILD_TOP/vendor/awesome/interfaces/current.txt
, which
+should contain hashes of interfaces made using the -Lhash
option in
+hidl-gen
(this is discussed extensively in
+Hashing with
+hidl-gen).
In practice, it is recommended to share interfaces between branches. This +allows for maximum code re-usage and maximum testing of code across different +devices and use cases.
+