SuspendSepolicyTests: Use target device grep am: d5479ac52f Original change: https://android-review.googlesource.com/c/platform/system/hardware/interfaces/+/3414477 Change-Id: I08f73699ba275cf1eb297ad3c2eddc04f236bb0f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..93f3d52 --- /dev/null +++ b/NOTICE
@@ -0,0 +1,190 @@ + + Copyright (c) 2005-2023, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS +
diff --git a/keystore2/aidl/Android.bp b/keystore2/aidl/Android.bp index cc2f90f..a88f0a3 100644 --- a/keystore2/aidl/Android.bp +++ b/keystore2/aidl/Android.bp
@@ -50,8 +50,22 @@ version: "3", imports: ["android.hardware.security.keymint-V3"], }, + { + version: "4", + imports: ["android.hardware.security.keymint-V3"], + }, ], frozen: true, } + +// Note: This should always be one version ahead of the last frozen version +latest_android_system_keystore = "android.system.keystore-V4" + +aidl_interface_defaults { + name: "latest_android_system_keystore_import_interface", + imports: [ + latest_android_system_keystore, + ], +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/.hash b/keystore2/aidl/aidl_api/android.system.keystore2/4/.hash new file mode 100644 index 0000000..6cc947a --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/.hash
@@ -0,0 +1 @@ +5648acc9b43590ef0a775b6f5c553831c20cccc4
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/AuthenticatorSpec.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/AuthenticatorSpec.aidl new file mode 100644 index 0000000..49a3b2c --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/AuthenticatorSpec.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable AuthenticatorSpec { + android.hardware.security.keymint.HardwareAuthenticatorType authenticatorType = android.hardware.security.keymint.HardwareAuthenticatorType.NONE; + long authenticatorId; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/Authorization.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/Authorization.aidl new file mode 100644 index 0000000..3efeb68 --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/Authorization.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable Authorization { + android.hardware.security.keymint.SecurityLevel securityLevel = android.hardware.security.keymint.SecurityLevel.SOFTWARE; + android.hardware.security.keymint.KeyParameter keyParameter; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/CreateOperationResponse.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/CreateOperationResponse.aidl new file mode 100644 index 0000000..e37facb --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/CreateOperationResponse.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable CreateOperationResponse { + android.system.keystore2.IKeystoreOperation iOperation; + @nullable android.system.keystore2.OperationChallenge operationChallenge; + @nullable android.system.keystore2.KeyParameters parameters; + @nullable byte[] upgradedBlob; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/Domain.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/Domain.aidl new file mode 100644 index 0000000..4fd54aa --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/Domain.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@Backing(type="int") @VintfStability +enum Domain { + APP = 0, + GRANT = 1, + SELINUX = 2, + BLOB = 3, + KEY_ID = 4, +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/EphemeralStorageKeyResponse.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/EphemeralStorageKeyResponse.aidl new file mode 100644 index 0000000..963af7b --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/EphemeralStorageKeyResponse.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright 2021, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable EphemeralStorageKeyResponse { + byte[] ephemeralKey; + @nullable byte[] upgradedBlob; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreOperation.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreOperation.aidl new file mode 100644 index 0000000..df911cd --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreOperation.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@SensitiveData @VintfStability +interface IKeystoreOperation { + void updateAad(in byte[] aadInput); + @nullable byte[] update(in byte[] input); + @nullable byte[] finish(in @nullable byte[] input, in @nullable byte[] signature); + void abort(); +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreSecurityLevel.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreSecurityLevel.aidl new file mode 100644 index 0000000..4b2eab4 --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreSecurityLevel.aidl
@@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@SensitiveData @VintfStability +interface IKeystoreSecurityLevel { + android.system.keystore2.CreateOperationResponse createOperation(in android.system.keystore2.KeyDescriptor key, in android.hardware.security.keymint.KeyParameter[] operationParameters, in boolean forced); + android.system.keystore2.KeyMetadata generateKey(in android.system.keystore2.KeyDescriptor key, in @nullable android.system.keystore2.KeyDescriptor attestationKey, in android.hardware.security.keymint.KeyParameter[] params, in int flags, in byte[] entropy); + android.system.keystore2.KeyMetadata importKey(in android.system.keystore2.KeyDescriptor key, in @nullable android.system.keystore2.KeyDescriptor attestationKey, in android.hardware.security.keymint.KeyParameter[] params, in int flags, in byte[] keyData); + android.system.keystore2.KeyMetadata importWrappedKey(in android.system.keystore2.KeyDescriptor key, in android.system.keystore2.KeyDescriptor wrappingKey, in @nullable byte[] maskingKey, in android.hardware.security.keymint.KeyParameter[] params, in android.system.keystore2.AuthenticatorSpec[] authenticators); + android.system.keystore2.EphemeralStorageKeyResponse convertStorageKeyToEphemeral(in android.system.keystore2.KeyDescriptor storageKey); + void deleteKey(in android.system.keystore2.KeyDescriptor key); + const int KEY_FLAG_AUTH_BOUND_WITHOUT_CRYPTOGRAPHIC_LSKF_BINDING = 0x1; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreService.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreService.aidl new file mode 100644 index 0000000..d2f03cf --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/IKeystoreService.aidl
@@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +interface IKeystoreService { + android.system.keystore2.IKeystoreSecurityLevel getSecurityLevel(in android.hardware.security.keymint.SecurityLevel securityLevel); + android.system.keystore2.KeyEntryResponse getKeyEntry(in android.system.keystore2.KeyDescriptor key); + void updateSubcomponent(in android.system.keystore2.KeyDescriptor key, in @nullable byte[] publicCert, in @nullable byte[] certificateChain); + /** + * @deprecated use listEntriesBatched instead. + */ + android.system.keystore2.KeyDescriptor[] listEntries(in android.system.keystore2.Domain domain, in long nspace); + void deleteKey(in android.system.keystore2.KeyDescriptor key); + android.system.keystore2.KeyDescriptor grant(in android.system.keystore2.KeyDescriptor key, in int granteeUid, in int accessVector); + void ungrant(in android.system.keystore2.KeyDescriptor key, in int granteeUid); + int getNumberOfEntries(in android.system.keystore2.Domain domain, in long nspace); + android.system.keystore2.KeyDescriptor[] listEntriesBatched(in android.system.keystore2.Domain domain, in long nspace, in @nullable String startingPastAlias); +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyDescriptor.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyDescriptor.aidl new file mode 100644 index 0000000..79478aa --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyDescriptor.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@RustDerive(Clone=true, Eq=true, Ord=true, PartialEq=true, PartialOrd=true) @VintfStability +parcelable KeyDescriptor { + android.system.keystore2.Domain domain = android.system.keystore2.Domain.APP; + long nspace; + @nullable String alias; + @nullable byte[] blob; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyEntryResponse.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyEntryResponse.aidl new file mode 100644 index 0000000..ea313b3 --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyEntryResponse.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable KeyEntryResponse { + @nullable android.system.keystore2.IKeystoreSecurityLevel iSecurityLevel; + android.system.keystore2.KeyMetadata metadata; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyMetadata.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyMetadata.aidl new file mode 100644 index 0000000..fef4531 --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyMetadata.aidl
@@ -0,0 +1,44 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable KeyMetadata { + android.system.keystore2.KeyDescriptor key; + android.hardware.security.keymint.SecurityLevel keySecurityLevel = android.hardware.security.keymint.SecurityLevel.SOFTWARE; + android.system.keystore2.Authorization[] authorizations; + @nullable byte[] certificate; + @nullable byte[] certificateChain; + long modificationTimeMs; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyParameters.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyParameters.aidl new file mode 100644 index 0000000..f9c836a --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyParameters.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable KeyParameters { + android.hardware.security.keymint.KeyParameter[] keyParameter; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyPermission.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyPermission.aidl new file mode 100644 index 0000000..3009fb6 --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/KeyPermission.aidl
@@ -0,0 +1,51 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@Backing(type="int") @VintfStability +enum KeyPermission { + NONE = 0, + DELETE = 0x1, + GEN_UNIQUE_ID = 0x2, + GET_INFO = 0x4, + GRANT = 0x8, + MANAGE_BLOB = 0x10, + REBIND = 0x20, + REQ_FORCED_OP = 0x40, + UPDATE = 0x80, + USE = 0x100, + USE_DEV_ID = 0x200, + USE_NO_LSKF_BINDING = 0x400, + CONVERT_STORAGE_KEY_TO_EPHEMERAL = 0x800, +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/OperationChallenge.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/OperationChallenge.aidl new file mode 100644 index 0000000..0a079fb --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/OperationChallenge.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@VintfStability +parcelable OperationChallenge { + long challenge; +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/ResponseCode.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/ResponseCode.aidl new file mode 100644 index 0000000..e1ff0bb --- /dev/null +++ b/keystore2/aidl/aidl_api/android.system.keystore2/4/android/system/keystore2/ResponseCode.aidl
@@ -0,0 +1,58 @@ +/* + * Copyright 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.system.keystore2; +/* @hide */ +@Backing(type="int") @VintfStability +enum ResponseCode { + LOCKED = 2, + UNINITIALIZED = 3, + SYSTEM_ERROR = 4, + PERMISSION_DENIED = 6, + KEY_NOT_FOUND = 7, + VALUE_CORRUPTED = 8, + KEY_PERMANENTLY_INVALIDATED = 17, + BACKEND_BUSY = 18, + OPERATION_BUSY = 19, + INVALID_ARGUMENT = 20, + TOO_MUCH_DATA = 21, + /** + * @deprecated replaced by other OUT_OF_KEYS_* errors below + */ + OUT_OF_KEYS = 22, + OUT_OF_KEYS_REQUIRES_SYSTEM_UPGRADE = 23, + OUT_OF_KEYS_PENDING_INTERNET_CONNECTIVITY = 24, + OUT_OF_KEYS_TRANSIENT_ERROR = 25, + OUT_OF_KEYS_PERMANENT_ERROR = 26, + GET_ATTESTATION_APPLICATION_ID_FAILED = 27, +}
diff --git a/keystore2/aidl/aidl_api/android.system.keystore2/current/android/system/keystore2/ResponseCode.aidl b/keystore2/aidl/aidl_api/android.system.keystore2/current/android/system/keystore2/ResponseCode.aidl index 9a486e0..e1ff0bb 100644 --- a/keystore2/aidl/aidl_api/android.system.keystore2/current/android/system/keystore2/ResponseCode.aidl +++ b/keystore2/aidl/aidl_api/android.system.keystore2/current/android/system/keystore2/ResponseCode.aidl
@@ -54,4 +54,5 @@ OUT_OF_KEYS_PENDING_INTERNET_CONNECTIVITY = 24, OUT_OF_KEYS_TRANSIENT_ERROR = 25, OUT_OF_KEYS_PERMANENT_ERROR = 26, + GET_ATTESTATION_APPLICATION_ID_FAILED = 27, }
diff --git a/keystore2/aidl/android/system/keystore2/ResponseCode.aidl b/keystore2/aidl/android/system/keystore2/ResponseCode.aidl index 6f2f585..4fe7db3 100644 --- a/keystore2/aidl/android/system/keystore2/ResponseCode.aidl +++ b/keystore2/aidl/android/system/keystore2/ResponseCode.aidl
@@ -122,11 +122,19 @@ /** * Indicates that this device will never be able to provision attestation keys using - * the remote provsisioning server. This may be due to multiple causes, such as the + * the remote provisioning server. This may be due to multiple causes, such as the * device is not registered with the remote provisioning backend or the device has * been permanently revoked. Clients who receive this error should not attempt to * retry key creation. */ OUT_OF_KEYS_PERMANENT_ERROR = 26, + /** + * Indicates that the device had an error when getting the attestation application + * id. This is a temporary error that can be retried. This can happen if there is a + * failure to make a binder call to the package manager from Keystore service. + * The attestation can be retried as this can be seen as a warning. + */ + GET_ATTESTATION_APPLICATION_ID_FAILED = 27, + }
diff --git a/media/Android.bp b/media/Android.bp index 2d08e97..ef38612 100644 --- a/media/Android.bp +++ b/media/Android.bp
@@ -81,11 +81,13 @@ "aidl/android/media/audio/common/ExtraAudioDescriptor.aidl", "aidl/android/media/audio/common/Float.aidl", "aidl/android/media/audio/common/Double.aidl", + "aidl/android/media/audio/common/HeadTracking.aidl", "aidl/android/media/audio/common/Int.aidl", "aidl/android/media/audio/common/Long.aidl", "aidl/android/media/audio/common/MicrophoneDynamicInfo.aidl", "aidl/android/media/audio/common/MicrophoneInfo.aidl", "aidl/android/media/audio/common/PcmType.aidl", + "aidl/android/media/audio/common/Spatialization.aidl", "aidl/android/media/audio/common/Void.aidl", ], stability: "vintf", @@ -104,6 +106,9 @@ "//apex_available:platform", "com.android.car.framework", ], + lint: { + baseline_filename: "lint-baseline.xml", + }, }, ndk: { min_sdk_version: "29", @@ -122,16 +127,20 @@ version: "2", imports: [], }, + { + version: "3", + imports: [], + }, // IMPORTANT: Update latest_android_media_audio_common_types every time // you add the latest frozen version to versions_with_info ], - frozen: true, + frozen: false, } // Note: This should always be one version ahead of the last frozen version -latest_android_media_audio_common_types = "android.media.audio.common.types-V2" +latest_android_media_audio_common_types = "android.media.audio.common.types-V4" // Modules that depend on android.media.audio.common.types directly can include // the following cc_defaults to avoid explicitly managing dependency versions @@ -195,6 +204,13 @@ }, } +aidl_interface_defaults { + name: "latest_android_media_audio_common_types_import_interface", + imports: [ + latest_android_media_audio_common_types, + ], +} + aidl_interface { name: "android.media.soundtrigger.types", vendor_available: true, @@ -232,13 +248,88 @@ }, }, imports: [ - "android.media.audio.common.types-V2", + latest_android_media_audio_common_types, ], versions_with_info: [ { version: "1", imports: ["android.media.audio.common.types-V2"], }, - ], + { + version: "2", + imports: ["android.media.audio.common.types-V3"], + }, + ], + frozen: false, + +} + +// Note: This should always be one version ahead of the last frozen version +latest_android_media_soundtrigger_types = "android.media.soundtrigger.types-V3" + +cc_defaults { + name: "latest_android_media_soundtrigger_types_cpp_shared", + shared_libs: [ + latest_android_media_soundtrigger_types + "-cpp", + ], +} + +cc_defaults { + name: "latest_android_media_soundtrigger_types_cpp_export_shared", + defaults: [ + "latest_android_media_soundtrigger_types_cpp_shared", + ], + export_shared_lib_headers: [ + latest_android_media_soundtrigger_types + "-cpp", + ], +} + +cc_defaults { + name: "latest_android_media_soundtrigger_types_cpp_static", + static_libs: [ + latest_android_media_soundtrigger_types + "-cpp", + ], +} + +cc_defaults { + name: "latest_android_media_soundtrigger_types_cpp_export_static", + defaults: [ + "latest_android_media_soundtrigger_types_cpp_static", + ], + export_static_lib_headers: [ + latest_android_media_soundtrigger_types + "-cpp", + ], +} + +cc_defaults { + name: "latest_android_media_soundtrigger_types_ndk_shared", + shared_libs: [ + latest_android_media_soundtrigger_types + "-ndk", + ], +} + +cc_defaults { + name: "latest_android_media_soundtrigger_types_ndk_static", + static_libs: [ + latest_android_media_soundtrigger_types + "-ndk", + ], +} + +cc_defaults { + name: "latest_android_media_soundtrigger_types_cpp_target_shared", + target: { + android: { + shared_libs: [ + latest_android_media_soundtrigger_types + "-cpp", + ], + }, + }, +} + +aidl_interface_defaults { + name: "latest_android_media_soundtrigger_types_import_interface", + imports: [ + latest_android_media_soundtrigger_types, + ], }
diff --git a/media/aidl/android/media/audio/common/AudioAttributes.aidl b/media/aidl/android/media/audio/common/AudioAttributes.aidl index eb29e10..76a03e6 100644 --- a/media/aidl/android/media/audio/common/AudioAttributes.aidl +++ b/media/aidl/android/media/audio/common/AudioAttributes.aidl
@@ -24,6 +24,8 @@ /** * AudioAttributes give information about an audio stream that is more * descriptive than stream type alone. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability @@ -56,4 +58,4 @@ * For example: "VX_MYCOMPANY_VR". */ @utf8InCpp String[] tags; -} \ No newline at end of file +}
diff --git a/media/aidl/android/media/audio/common/AudioChannelLayout.aidl b/media/aidl/android/media/audio/common/AudioChannelLayout.aidl index 311bd59..409e964 100644 --- a/media/aidl/android/media/audio/common/AudioChannelLayout.aidl +++ b/media/aidl/android/media/audio/common/AudioChannelLayout.aidl
@@ -40,6 +40,7 @@ * * {@hide} */ +@SuppressWarnings(value={"redundant-name"}) // for *CHANNEL* @JavaDerive(equals=true, toString=true) @VintfStability union AudioChannelLayout {
diff --git a/media/aidl/android/media/audio/common/AudioDeviceDescription.aidl b/media/aidl/android/media/audio/common/AudioDeviceDescription.aidl index ac89ffc..002914f 100644 --- a/media/aidl/android/media/audio/common/AudioDeviceDescription.aidl +++ b/media/aidl/android/media/audio/common/AudioDeviceDescription.aidl
@@ -68,6 +68,9 @@ */ const @utf8InCpp String CONNECTION_BT_SCO = "bt-sco"; /** + * @deprecated Bus devices are attached, and must be represented using + * `{IN|OUT}_BUS` type + empty connection. + * * Bus connection. Mostly used in automotive scenarios. */ const @utf8InCpp String CONNECTION_BUS = "bus";
diff --git a/media/aidl/android/media/audio/common/AudioDeviceType.aidl b/media/aidl/android/media/audio/common/AudioDeviceType.aidl index 8e200de..5a75da7 100644 --- a/media/aidl/android/media/audio/common/AudioDeviceType.aidl +++ b/media/aidl/android/media/audio/common/AudioDeviceType.aidl
@@ -32,6 +32,7 @@ * * {@hide} */ +@SuppressWarnings(value={"redundant-name"}) // for IN/OUT_DEVICE @VintfStability @Backing(type="int") enum AudioDeviceType { @@ -99,6 +100,19 @@ */ IN_DOCK = 14, /** + * An alias for "bus" devices. Must have an empty connection type. + * + * Note: Since bus devices are non-removable, they need to be represented by + * a dedicated type with an empty connection type. However, there has been a + * historic accident of defining them as an `{IN|OUT}_DEVICE` type with + * `CONNECTION_BUS`. It was fixed by reserving the pair of `{IN|OUT}_DEVICE` + * type + empty connection for bus devices. This alias is added for clarity. + * + * Important: since `{IN|OUT}_BUS` is an alias, always check the connection + * type, it must be empty. + */ + IN_BUS = IN_DEVICE, + /** * The "default" device is used when the client does not have any * preference for a particular device. */ @@ -172,4 +186,10 @@ * Output to a broadcast group. */ OUT_BROADCAST = 146, + /** + * An alias for "bus" devices. Must have an empty connection type. + * + * See the note on `IN_BUS` for details. + */ + OUT_BUS = OUT_DEVICE, }
diff --git a/media/aidl/android/media/audio/common/AudioDualMonoMode.aidl b/media/aidl/android/media/audio/common/AudioDualMonoMode.aidl index 5579c9b..a1bc6e9 100644 --- a/media/aidl/android/media/audio/common/AudioDualMonoMode.aidl +++ b/media/aidl/android/media/audio/common/AudioDualMonoMode.aidl
@@ -21,6 +21,8 @@ * Such information about the content of the stream may be found, for example, in * ITU T-REC-J.94-201610 A.6.2.3 Component descriptor. * This enum corresponds to AudioTrack.DUAL_MONO_MODE_* constants in the SDK. + * + * {@hide} */ @Backing(type="int") @VintfStability
diff --git a/media/aidl/android/media/audio/common/AudioFlag.aidl b/media/aidl/android/media/audio/common/AudioFlag.aidl index caf64e5..7578455 100644 --- a/media/aidl/android/media/audio/common/AudioFlag.aidl +++ b/media/aidl/android/media/audio/common/AudioFlag.aidl
@@ -18,6 +18,8 @@ /** * Defines the audio flags that are used in AudioAttributes + * + * {@hide} */ @Backing(type="int") @VintfStability
diff --git a/media/aidl/android/media/audio/common/AudioHalAttributesGroup.aidl b/media/aidl/android/media/audio/common/AudioHalAttributesGroup.aidl index 9935e35..7a38721 100644 --- a/media/aidl/android/media/audio/common/AudioHalAttributesGroup.aidl +++ b/media/aidl/android/media/audio/common/AudioHalAttributesGroup.aidl
@@ -16,13 +16,15 @@ package android.media.audio.common; -import android.media.audio.common.AudioStreamType; import android.media.audio.common.AudioAttributes; +import android.media.audio.common.AudioStreamType; /** * AudioHalAttributesGroup associates an AudioHalVolumeGroup with an * AudioStreamType and a collection of AudioAttributes. This is used in the * context of AudioHalProductStrategy. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability @@ -40,4 +42,4 @@ */ @utf8InCpp String volumeGroupName; AudioAttributes[] attributes; -} \ No newline at end of file +}
diff --git a/media/aidl/android/media/audio/common/AudioHalCapCriterion.aidl b/media/aidl/android/media/audio/common/AudioHalCapCriterion.aidl index 1d7a162..9468b90 100644 --- a/media/aidl/android/media/audio/common/AudioHalCapCriterion.aidl +++ b/media/aidl/android/media/audio/common/AudioHalCapCriterion.aidl
@@ -20,6 +20,8 @@ * AudioHalCapCriterion is a wrapper for a CriterionType and its default value. * This is to be used exclusively for the Configurable Audio Policy (CAP) engine * configuration. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability
diff --git a/media/aidl/android/media/audio/common/AudioHalCapCriterionType.aidl b/media/aidl/android/media/audio/common/AudioHalCapCriterionType.aidl index cc2f540..b214491 100644 --- a/media/aidl/android/media/audio/common/AudioHalCapCriterionType.aidl +++ b/media/aidl/android/media/audio/common/AudioHalCapCriterionType.aidl
@@ -22,6 +22,8 @@ * AudioHalCapCriterionType contains a criterion's possible numerical values * and their corresponding string literal representations. This is to be used * exclusively for the Configurable Audio Policy (CAP) engine configuration. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability @@ -42,6 +44,5 @@ * string literals. These strings must only contain alphanumeric characters, * and the client must never attempt to parse them. */ - @utf8InCpp String[] values; + @utf8InCpp String[] values; } -
diff --git a/media/aidl/android/media/audio/common/AudioHalEngineConfig.aidl b/media/aidl/android/media/audio/common/AudioHalEngineConfig.aidl index 4106614..be29348 100644 --- a/media/aidl/android/media/audio/common/AudioHalEngineConfig.aidl +++ b/media/aidl/android/media/audio/common/AudioHalEngineConfig.aidl
@@ -16,9 +16,9 @@ package android.media.audio.common; -import android.media.audio.common.AudioHalProductStrategy; import android.media.audio.common.AudioHalCapCriterion; import android.media.audio.common.AudioHalCapCriterionType; +import android.media.audio.common.AudioHalProductStrategy; import android.media.audio.common.AudioHalVolumeGroup; import android.media.audio.common.AudioProductStrategyType; @@ -28,6 +28,8 @@ * audio policy engine or Configurable Audio Policy (CAP) engine. The flavor * is determined only once, and it is done by checking presence of * capSpecificConfig during client initialization. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability
diff --git a/media/aidl/android/media/audio/common/AudioHalProductStrategy.aidl b/media/aidl/android/media/audio/common/AudioHalProductStrategy.aidl index 9a629c3..c3bc656 100644 --- a/media/aidl/android/media/audio/common/AudioHalProductStrategy.aidl +++ b/media/aidl/android/media/audio/common/AudioHalProductStrategy.aidl
@@ -22,7 +22,10 @@ /** * AudioHalProductStrategy is a grouping of AudioHalAttributesGroups that will * share the same audio routing and volume policy. + * + * {@hide} */ +@SuppressWarnings(value={"redundant-name"}) // for VENDOR_STRATEGY* @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalProductStrategy { @@ -41,4 +44,15 @@ * This is the list of use cases that follow the same routing strategy. */ AudioHalAttributesGroup[] attributesGroups; + /** + * Name of the strategy. Nullable for backward compatibility. If null, id + * are assigned by the audio policy engine, ensuring uniqueness. + * + * With complete engine configuration AIDL migration, strategy ids are + * preallocated (from `VENDOR_STRATEGY_ID_START` to + * `VENDOR_STRATEGY_ID_START+39`). A human readable name must be + * defined uniquely (to make dump/debug easier) for all strategies and + * must not be null for any. + */ + @nullable @utf8InCpp String name; }
diff --git a/media/aidl/android/media/audio/common/AudioHalVolumeCurve.aidl b/media/aidl/android/media/audio/common/AudioHalVolumeCurve.aidl index d15b303..460df1e 100644 --- a/media/aidl/android/media/audio/common/AudioHalVolumeCurve.aidl +++ b/media/aidl/android/media/audio/common/AudioHalVolumeCurve.aidl
@@ -19,6 +19,8 @@ /** * AudioHalVolumeCurve defines a set of curve points mapping a value from [0,100] * to an attenuation in millibels, and associates them with a device category. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability @@ -52,4 +54,4 @@ * interpolation. */ CurvePoint[] curvePoints; -} \ No newline at end of file +}
diff --git a/media/aidl/android/media/audio/common/AudioHalVolumeGroup.aidl b/media/aidl/android/media/audio/common/AudioHalVolumeGroup.aidl index 1d4f18c..2ebd209 100644 --- a/media/aidl/android/media/audio/common/AudioHalVolumeGroup.aidl +++ b/media/aidl/android/media/audio/common/AudioHalVolumeGroup.aidl
@@ -22,7 +22,10 @@ * AudioHalVolumeGroup is a software volume control concept that associates * volume on the UI (where volume index is incremented or decremented by steps * of 1) to a set of volume curves. + * + * {@hide} */ +@SuppressWarnings(value={"redundant-name"}) // for *AUDIO_SERVICE @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalVolumeGroup { @@ -58,4 +61,4 @@ * and no two curves in this list can have the same deviceCategory. */ AudioHalVolumeCurve[] volumeCurves; -} \ No newline at end of file +}
diff --git a/media/aidl/android/media/audio/common/AudioLatencyMode.aidl b/media/aidl/android/media/audio/common/AudioLatencyMode.aidl index 5318f6c..408e1b7 100644 --- a/media/aidl/android/media/audio/common/AudioLatencyMode.aidl +++ b/media/aidl/android/media/audio/common/AudioLatencyMode.aidl
@@ -18,7 +18,10 @@ /** * The latency mode currently used by the spatializer mixer. + * + * {@hide} */ +@SuppressWarnings(value={"redundant-name"}) // for *_AUDIO_* @Backing(type="byte") @VintfStability enum AudioLatencyMode {
diff --git a/media/aidl/android/media/audio/common/AudioOutputFlags.aidl b/media/aidl/android/media/audio/common/AudioOutputFlags.aidl index 315cc13..0ff8136 100644 --- a/media/aidl/android/media/audio/common/AudioOutputFlags.aidl +++ b/media/aidl/android/media/audio/common/AudioOutputFlags.aidl
@@ -26,7 +26,7 @@ */ @VintfStability @Backing(type="int") -enum AudioOutputFlags{ +enum AudioOutputFlags { /** * Output must not be altered by the framework, it bypasses software mixers. */
diff --git a/media/aidl/android/media/audio/common/AudioPlaybackRate.aidl b/media/aidl/android/media/audio/common/AudioPlaybackRate.aidl index e7ecb1b..3dd474f 100644 --- a/media/aidl/android/media/audio/common/AudioPlaybackRate.aidl +++ b/media/aidl/android/media/audio/common/AudioPlaybackRate.aidl
@@ -19,6 +19,8 @@ /** * Parameters determining playback behavior. They are used to speed up or slow * down playback and / or change the tonal frequency of the audio content (pitch). + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability
diff --git a/media/aidl/android/media/audio/common/AudioPortDeviceExt.aidl b/media/aidl/android/media/audio/common/AudioPortDeviceExt.aidl index a0bd801..4de32c7 100644 --- a/media/aidl/android/media/audio/common/AudioPortDeviceExt.aidl +++ b/media/aidl/android/media/audio/common/AudioPortDeviceExt.aidl
@@ -24,6 +24,7 @@ * * {@hide} */ +@SuppressWarnings(value={"redundant-name"}) // for *DEFAULT_DEVICE @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioPortDeviceExt {
diff --git a/media/aidl/android/media/audio/common/AudioProductStrategyType.aidl b/media/aidl/android/media/audio/common/AudioProductStrategyType.aidl index d4d7e64..45d3789 100644 --- a/media/aidl/android/media/audio/common/AudioProductStrategyType.aidl +++ b/media/aidl/android/media/audio/common/AudioProductStrategyType.aidl
@@ -19,6 +19,8 @@ /** * Defines the product strategies that are used by the default audio policy * engine to determine audio routing. + * + * {@hide} */ @Backing(type="byte") @VintfStability @@ -82,4 +84,4 @@ * the system or accept it from the system. */ SYS_RESERVED_CALL_ASSISTANT = 9, -} \ No newline at end of file +}
diff --git a/media/aidl/android/media/audio/common/AudioSource.aidl b/media/aidl/android/media/audio/common/AudioSource.aidl index 543ce39..eaa9084 100644 --- a/media/aidl/android/media/audio/common/AudioSource.aidl +++ b/media/aidl/android/media/audio/common/AudioSource.aidl
@@ -87,8 +87,9 @@ * hotword detection. Same tuning as VOICE_RECOGNITION. */ HOTWORD = 1999, - /** Microphone audio source for ultrasound sound if available, - * behaves like DEFAULT otherwise. + /** + * Microphone audio source for ultrasound sound if available, behaves like + * DEFAULT otherwise. */ ULTRASOUND = 2000, }
diff --git a/media/aidl/android/media/audio/common/HeadTracking.aidl b/media/aidl/android/media/audio/common/HeadTracking.aidl new file mode 100644 index 0000000..272e1b1 --- /dev/null +++ b/media/aidl/android/media/audio/common/HeadTracking.aidl
@@ -0,0 +1,102 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.media.audio.common; + +/** + * HeadTracking settings which can be used for Spatialization, including information of the user's + * head position and orientation. + * + * This information can be used to update the view or content based on the user's head movement. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable HeadTracking { + /** + * The head tracking mode supported by the spatializer effect implementation. + * Used by methods of the ISpatializer interface. + * {@hide} + */ + @Backing(type="byte") + enum Mode { + /** + * Head tracking is active in a mode not listed below (forward compatibility). + */ + OTHER = 0, + + /** + * Head tracking is disabled + */ + DISABLED = 1, + + /** + * Head tracking is performed relative to the real work environment. + */ + RELATIVE_WORLD = 2, + + /** + * Head tracking is performed relative to the device's screen. + */ + RELATIVE_SCREEN = 3, + } + + /** + * The head tracking sensor connection modes. + * {@hide} + */ + @Backing(type="byte") + enum ConnectionMode { + /** + * The audio framework provides pre-processed IMU (Inertial Measurement Unit) data in + * "head-to-stage" vector format to HAL. + */ + FRAMEWORK_PROCESSED = 0, + + /** + * The Spatializer effect directly connects to the sensor via the sensor software stack. + * The audio framework just controls the enabled state of the sensor. + * + * Can be used by software implementations which do not want to benefit from the + * AOSP libheadtracking IMU data preprocessing. + * Can also be used by DSP offloaded Spatializer implementations. + */ + DIRECT_TO_SENSOR_SW = 1, + + /** + * The Spatializer effect directly connects to the sensor via hardware tunneling. + * The audio framework just controls the enabled state of the sensor. + * + * Can be used by DSP offloaded Spatializer implementations. + */ + DIRECT_TO_SENSOR_TUNNEL = 2, + } + + /** + * The Headtracking sensor data. + * In the current version, the only sensor data format framework send to HAL Spatializer is + * "head-to-stage". Other formats can be added in future versions, hence a union is used. + * {@hide} + */ + union SensorData { + /** + * Vector representing of the "head-to-stage" pose with six floats: first three are a + * translation vector, and the last three are a rotation vector. + */ + float[6] headToStage = {0f, 0f, 0f, 0f, 0f, 0f}; + } +}
diff --git a/media/aidl/android/media/audio/common/MicrophoneDynamicInfo.aidl b/media/aidl/android/media/audio/common/MicrophoneDynamicInfo.aidl index 711fe61..9ad6ac7 100644 --- a/media/aidl/android/media/audio/common/MicrophoneDynamicInfo.aidl +++ b/media/aidl/android/media/audio/common/MicrophoneDynamicInfo.aidl
@@ -19,6 +19,8 @@ /** * Structure providing dynamic information on a microphone. This information * changes between recording sessions. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability
diff --git a/media/aidl/android/media/audio/common/MicrophoneInfo.aidl b/media/aidl/android/media/audio/common/MicrophoneInfo.aidl index 25dcdd1..080db98 100644 --- a/media/aidl/android/media/audio/common/MicrophoneInfo.aidl +++ b/media/aidl/android/media/audio/common/MicrophoneInfo.aidl
@@ -24,6 +24,8 @@ * The information presented in this structure indicates the location and * orientation of the microphone on the device as well as useful information * like frequency response and sensitivity. + * + * {@hide} */ @JavaDerive(equals=true, toString=true) @VintfStability
diff --git a/media/aidl/android/media/audio/common/Spatialization.aidl b/media/aidl/android/media/audio/common/Spatialization.aidl new file mode 100644 index 0000000..43a05a4 --- /dev/null +++ b/media/aidl/android/media/audio/common/Spatialization.aidl
@@ -0,0 +1,57 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.media.audio.common; + +/** + * Audio playback spatialization settings. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable Spatialization { + /** + * The spatialization level supported by the spatializer stage effect implementation. + * Used by methods of the ISpatializer interface. + * {@hide} + */ + @Backing(type="byte") + enum Level { + /** Spatialization is disabled. */ + NONE = 0, + /** The spatializer accepts audio with positional multichannel masks (e.g 5.1). */ + MULTICHANNEL = 1, + /** + * The spatializer accepts audio made of a channel bed of positional multichannels + * (e.g 5.1) and audio objects positioned independently via meta data. + */ + BED_PLUS_OBJECTS = 2, + } + + /** + * The spatialization mode supported by the spatializer stage effect implementation. + * Used by methods of the ISpatializer interface. + * {@hide} + */ + @Backing(type="byte") + enum Mode { + /** The spatializer supports binaural mode (over headphones type devices). */ + BINAURAL = 0, + /** The spatializer supports transaural mode (over speaker type devices). */ + TRANSAURAL = 1, + } +}
diff --git a/media/aidl/android/media/audio/common/Void.aidl b/media/aidl/android/media/audio/common/Void.aidl index 3e81b85..af20dd5 100644 --- a/media/aidl/android/media/audio/common/Void.aidl +++ b/media/aidl/android/media/audio/common/Void.aidl
@@ -25,5 +25,4 @@ @JavaDerive(equals=true, toString=true) @VintfStability @FixedSize -parcelable Void { -} +parcelable Void {}
diff --git a/media/aidl_api/android.media.audio.common.types/3/.hash b/media/aidl_api/android.media.audio.common.types/3/.hash new file mode 100644 index 0000000..9b06a85 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/.hash
@@ -0,0 +1 @@ +0c86a38729dd5d560fe3a0eca6aa9d8cf83efb00
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioAttributes.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioAttributes.aidl new file mode 100644 index 0000000..d52cbe5 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioAttributes.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioAttributes { + android.media.audio.common.AudioContentType contentType = android.media.audio.common.AudioContentType.UNKNOWN; + android.media.audio.common.AudioUsage usage = android.media.audio.common.AudioUsage.UNKNOWN; + android.media.audio.common.AudioSource source = android.media.audio.common.AudioSource.DEFAULT; + int flags = android.media.audio.common.AudioFlag.NONE /* 0 */; + @utf8InCpp String[] tags; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioChannelLayout.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioChannelLayout.aidl new file mode 100644 index 0000000..33596ea --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioChannelLayout.aidl
@@ -0,0 +1,134 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability +union AudioChannelLayout { + int none = 0; + int invalid = 0; + int indexMask; + int layoutMask; + int voiceMask; + const int INDEX_MASK_1 = ((1 << 1) - 1) /* 1 */; + const int INDEX_MASK_2 = ((1 << 2) - 1) /* 3 */; + const int INDEX_MASK_3 = ((1 << 3) - 1) /* 7 */; + const int INDEX_MASK_4 = ((1 << 4) - 1) /* 15 */; + const int INDEX_MASK_5 = ((1 << 5) - 1) /* 31 */; + const int INDEX_MASK_6 = ((1 << 6) - 1) /* 63 */; + const int INDEX_MASK_7 = ((1 << 7) - 1) /* 127 */; + const int INDEX_MASK_8 = ((1 << 8) - 1) /* 255 */; + const int INDEX_MASK_9 = ((1 << 9) - 1) /* 511 */; + const int INDEX_MASK_10 = ((1 << 10) - 1) /* 1023 */; + const int INDEX_MASK_11 = ((1 << 11) - 1) /* 2047 */; + const int INDEX_MASK_12 = ((1 << 12) - 1) /* 4095 */; + const int INDEX_MASK_13 = ((1 << 13) - 1) /* 8191 */; + const int INDEX_MASK_14 = ((1 << 14) - 1) /* 16383 */; + const int INDEX_MASK_15 = ((1 << 15) - 1) /* 32767 */; + const int INDEX_MASK_16 = ((1 << 16) - 1) /* 65535 */; + const int INDEX_MASK_17 = ((1 << 17) - 1) /* 131071 */; + const int INDEX_MASK_18 = ((1 << 18) - 1) /* 262143 */; + const int INDEX_MASK_19 = ((1 << 19) - 1) /* 524287 */; + const int INDEX_MASK_20 = ((1 << 20) - 1) /* 1048575 */; + const int INDEX_MASK_21 = ((1 << 21) - 1) /* 2097151 */; + const int INDEX_MASK_22 = ((1 << 22) - 1) /* 4194303 */; + const int INDEX_MASK_23 = ((1 << 23) - 1) /* 8388607 */; + const int INDEX_MASK_24 = ((1 << 24) - 1) /* 16777215 */; + const int LAYOUT_MONO = CHANNEL_FRONT_LEFT /* 1 */; + const int LAYOUT_STEREO = (CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) /* 3 */; + const int LAYOUT_2POINT1 = ((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_LOW_FREQUENCY) /* 11 */; + const int LAYOUT_TRI = ((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) /* 7 */; + const int LAYOUT_TRI_BACK = ((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_BACK_CENTER) /* 259 */; + const int LAYOUT_3POINT1 = (((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_LOW_FREQUENCY) /* 15 */; + const int LAYOUT_2POINT0POINT2 = (((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_TOP_SIDE_LEFT) | CHANNEL_TOP_SIDE_RIGHT) /* 786435 */; + const int LAYOUT_2POINT1POINT2 = (LAYOUT_2POINT0POINT2 | CHANNEL_LOW_FREQUENCY) /* 786443 */; + const int LAYOUT_3POINT0POINT2 = ((((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_TOP_SIDE_LEFT) | CHANNEL_TOP_SIDE_RIGHT) /* 786439 */; + const int LAYOUT_3POINT1POINT2 = (LAYOUT_3POINT0POINT2 | CHANNEL_LOW_FREQUENCY) /* 786447 */; + const int LAYOUT_QUAD = (((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_BACK_LEFT) | CHANNEL_BACK_RIGHT) /* 51 */; + const int LAYOUT_QUAD_SIDE = (((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_SIDE_LEFT) | CHANNEL_SIDE_RIGHT) /* 1539 */; + const int LAYOUT_SURROUND = (((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_BACK_CENTER) /* 263 */; + const int LAYOUT_PENTA = (LAYOUT_QUAD | CHANNEL_FRONT_CENTER) /* 55 */; + const int LAYOUT_5POINT1 = (((((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_LOW_FREQUENCY) | CHANNEL_BACK_LEFT) | CHANNEL_BACK_RIGHT) /* 63 */; + const int LAYOUT_5POINT1_SIDE = (((((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_LOW_FREQUENCY) | CHANNEL_SIDE_LEFT) | CHANNEL_SIDE_RIGHT) /* 1551 */; + const int LAYOUT_5POINT1POINT2 = ((LAYOUT_5POINT1 | CHANNEL_TOP_SIDE_LEFT) | CHANNEL_TOP_SIDE_RIGHT) /* 786495 */; + const int LAYOUT_5POINT1POINT4 = ((((LAYOUT_5POINT1 | CHANNEL_TOP_FRONT_LEFT) | CHANNEL_TOP_FRONT_RIGHT) | CHANNEL_TOP_BACK_LEFT) | CHANNEL_TOP_BACK_RIGHT) /* 184383 */; + const int LAYOUT_6POINT1 = ((((((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_LOW_FREQUENCY) | CHANNEL_BACK_LEFT) | CHANNEL_BACK_RIGHT) | CHANNEL_BACK_CENTER) /* 319 */; + const int LAYOUT_7POINT1 = ((LAYOUT_5POINT1 | CHANNEL_SIDE_LEFT) | CHANNEL_SIDE_RIGHT) /* 1599 */; + const int LAYOUT_7POINT1POINT2 = ((LAYOUT_7POINT1 | CHANNEL_TOP_SIDE_LEFT) | CHANNEL_TOP_SIDE_RIGHT) /* 788031 */; + const int LAYOUT_7POINT1POINT4 = ((((LAYOUT_7POINT1 | CHANNEL_TOP_FRONT_LEFT) | CHANNEL_TOP_FRONT_RIGHT) | CHANNEL_TOP_BACK_LEFT) | CHANNEL_TOP_BACK_RIGHT) /* 185919 */; + const int LAYOUT_9POINT1POINT4 = ((LAYOUT_7POINT1POINT4 | CHANNEL_FRONT_WIDE_LEFT) | CHANNEL_FRONT_WIDE_RIGHT) /* 50517567 */; + const int LAYOUT_9POINT1POINT6 = ((LAYOUT_9POINT1POINT4 | CHANNEL_TOP_SIDE_LEFT) | CHANNEL_TOP_SIDE_RIGHT) /* 51303999 */; + const int LAYOUT_13POINT_360RA = ((((((((((((CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT) | CHANNEL_FRONT_CENTER) | CHANNEL_SIDE_LEFT) | CHANNEL_SIDE_RIGHT) | CHANNEL_TOP_FRONT_LEFT) | CHANNEL_TOP_FRONT_RIGHT) | CHANNEL_TOP_FRONT_CENTER) | CHANNEL_TOP_BACK_LEFT) | CHANNEL_TOP_BACK_RIGHT) | CHANNEL_BOTTOM_FRONT_LEFT) | CHANNEL_BOTTOM_FRONT_RIGHT) | CHANNEL_BOTTOM_FRONT_CENTER) /* 7534087 */; + const int LAYOUT_22POINT2 = ((((((((((((LAYOUT_7POINT1POINT4 | CHANNEL_FRONT_LEFT_OF_CENTER) | CHANNEL_FRONT_RIGHT_OF_CENTER) | CHANNEL_BACK_CENTER) | CHANNEL_TOP_CENTER) | CHANNEL_TOP_FRONT_CENTER) | CHANNEL_TOP_BACK_CENTER) | CHANNEL_TOP_SIDE_LEFT) | CHANNEL_TOP_SIDE_RIGHT) | CHANNEL_BOTTOM_FRONT_LEFT) | CHANNEL_BOTTOM_FRONT_RIGHT) | CHANNEL_BOTTOM_FRONT_CENTER) | CHANNEL_LOW_FREQUENCY_2) /* 16777215 */; + const int LAYOUT_MONO_HAPTIC_A = (LAYOUT_MONO | CHANNEL_HAPTIC_A) /* 1073741825 */; + const int LAYOUT_STEREO_HAPTIC_A = (LAYOUT_STEREO | CHANNEL_HAPTIC_A) /* 1073741827 */; + const int LAYOUT_HAPTIC_AB = (CHANNEL_HAPTIC_A | CHANNEL_HAPTIC_B) /* 1610612736 */; + const int LAYOUT_MONO_HAPTIC_AB = (LAYOUT_MONO | LAYOUT_HAPTIC_AB) /* 1610612737 */; + const int LAYOUT_STEREO_HAPTIC_AB = (LAYOUT_STEREO | LAYOUT_HAPTIC_AB) /* 1610612739 */; + const int LAYOUT_FRONT_BACK = (CHANNEL_FRONT_CENTER | CHANNEL_BACK_CENTER) /* 260 */; + const int INTERLEAVE_LEFT = 0; + const int INTERLEAVE_RIGHT = 1; + const int CHANNEL_FRONT_LEFT = (1 << 0) /* 1 */; + const int CHANNEL_FRONT_RIGHT = (1 << 1) /* 2 */; + const int CHANNEL_FRONT_CENTER = (1 << 2) /* 4 */; + const int CHANNEL_LOW_FREQUENCY = (1 << 3) /* 8 */; + const int CHANNEL_BACK_LEFT = (1 << 4) /* 16 */; + const int CHANNEL_BACK_RIGHT = (1 << 5) /* 32 */; + const int CHANNEL_FRONT_LEFT_OF_CENTER = (1 << 6) /* 64 */; + const int CHANNEL_FRONT_RIGHT_OF_CENTER = (1 << 7) /* 128 */; + const int CHANNEL_BACK_CENTER = (1 << 8) /* 256 */; + const int CHANNEL_SIDE_LEFT = (1 << 9) /* 512 */; + const int CHANNEL_SIDE_RIGHT = (1 << 10) /* 1024 */; + const int CHANNEL_TOP_CENTER = (1 << 11) /* 2048 */; + const int CHANNEL_TOP_FRONT_LEFT = (1 << 12) /* 4096 */; + const int CHANNEL_TOP_FRONT_CENTER = (1 << 13) /* 8192 */; + const int CHANNEL_TOP_FRONT_RIGHT = (1 << 14) /* 16384 */; + const int CHANNEL_TOP_BACK_LEFT = (1 << 15) /* 32768 */; + const int CHANNEL_TOP_BACK_CENTER = (1 << 16) /* 65536 */; + const int CHANNEL_TOP_BACK_RIGHT = (1 << 17) /* 131072 */; + const int CHANNEL_TOP_SIDE_LEFT = (1 << 18) /* 262144 */; + const int CHANNEL_TOP_SIDE_RIGHT = (1 << 19) /* 524288 */; + const int CHANNEL_BOTTOM_FRONT_LEFT = (1 << 20) /* 1048576 */; + const int CHANNEL_BOTTOM_FRONT_CENTER = (1 << 21) /* 2097152 */; + const int CHANNEL_BOTTOM_FRONT_RIGHT = (1 << 22) /* 4194304 */; + const int CHANNEL_LOW_FREQUENCY_2 = (1 << 23) /* 8388608 */; + const int CHANNEL_FRONT_WIDE_LEFT = (1 << 24) /* 16777216 */; + const int CHANNEL_FRONT_WIDE_RIGHT = (1 << 25) /* 33554432 */; + const int CHANNEL_HAPTIC_B = (1 << 29) /* 536870912 */; + const int CHANNEL_HAPTIC_A = (1 << 30) /* 1073741824 */; + const int VOICE_UPLINK_MONO = CHANNEL_VOICE_UPLINK /* 16384 */; + const int VOICE_DNLINK_MONO = CHANNEL_VOICE_DNLINK /* 32768 */; + const int VOICE_CALL_MONO = (CHANNEL_VOICE_UPLINK | CHANNEL_VOICE_DNLINK) /* 49152 */; + const int CHANNEL_VOICE_UPLINK = 0x4000; + const int CHANNEL_VOICE_DNLINK = 0x8000; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioConfig.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioConfig.aidl new file mode 100644 index 0000000..6b8686c --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioConfig.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioConfig { + android.media.audio.common.AudioConfigBase base; + android.media.audio.common.AudioOffloadInfo offloadInfo; + long frameCount; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioConfigBase.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioConfigBase.aidl new file mode 100644 index 0000000..f3e716b --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioConfigBase.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioConfigBase { + int sampleRate; + android.media.audio.common.AudioChannelLayout channelMask; + android.media.audio.common.AudioFormatDescription format; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioContentType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioContentType.aidl new file mode 100644 index 0000000..f9ac614 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioContentType.aidl
@@ -0,0 +1,44 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioContentType { + UNKNOWN = 0, + SPEECH = 1, + MUSIC = 2, + MOVIE = 3, + SONIFICATION = 4, + ULTRASOUND = 1997, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDevice.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDevice.aidl new file mode 100644 index 0000000..fb5cb62 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDevice.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioDevice { + android.media.audio.common.AudioDeviceDescription type; + android.media.audio.common.AudioDeviceAddress address; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceAddress.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceAddress.aidl new file mode 100644 index 0000000..905d3aa --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceAddress.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +union AudioDeviceAddress { + @utf8InCpp String id; + byte[] mac; + byte[] ipv4; + int[] ipv6; + int[] alsa; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceDescription.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceDescription.aidl new file mode 100644 index 0000000..d1bcfed --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceDescription.aidl
@@ -0,0 +1,56 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioDeviceDescription { + android.media.audio.common.AudioDeviceType type = android.media.audio.common.AudioDeviceType.NONE; + @utf8InCpp String connection; + const @utf8InCpp String CONNECTION_ANALOG = "analog"; + const @utf8InCpp String CONNECTION_BT_A2DP = "bt-a2dp"; + const @utf8InCpp String CONNECTION_BT_LE = "bt-le"; + const @utf8InCpp String CONNECTION_BT_SCO = "bt-sco"; + /** + * @deprecated Bus devices are attached, and must be represented using `{IN|OUT}_BUS` type + empty connection. Bus connection. Mostly used in automotive scenarios. + */ + const @utf8InCpp String CONNECTION_BUS = "bus"; + const @utf8InCpp String CONNECTION_HDMI = "hdmi"; + const @utf8InCpp String CONNECTION_HDMI_ARC = "hdmi-arc"; + const @utf8InCpp String CONNECTION_HDMI_EARC = "hdmi-earc"; + const @utf8InCpp String CONNECTION_IP_V4 = "ip-v4"; + const @utf8InCpp String CONNECTION_SPDIF = "spdif"; + const @utf8InCpp String CONNECTION_WIRELESS = "wireless"; + const @utf8InCpp String CONNECTION_USB = "usb"; + const @utf8InCpp String CONNECTION_VIRTUAL = "virtual"; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceType.aidl new file mode 100644 index 0000000..f7d1b77 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDeviceType.aidl
@@ -0,0 +1,73 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @SuppressWarnings(value={"redundant-name"}) @VintfStability +enum AudioDeviceType { + NONE = 0, + IN_DEFAULT = 1, + IN_ACCESSORY = 2, + IN_AFE_PROXY = 3, + IN_DEVICE = 4, + IN_ECHO_REFERENCE = 5, + IN_FM_TUNER = 6, + IN_HEADSET = 7, + IN_LOOPBACK = 8, + IN_MICROPHONE = 9, + IN_MICROPHONE_BACK = 10, + IN_SUBMIX = 11, + IN_TELEPHONY_RX = 12, + IN_TV_TUNER = 13, + IN_DOCK = 14, + IN_BUS = IN_DEVICE /* 4 */, + OUT_DEFAULT = 129, + OUT_ACCESSORY = 130, + OUT_AFE_PROXY = 131, + OUT_CARKIT = 132, + OUT_DEVICE = 133, + OUT_ECHO_CANCELLER = 134, + OUT_FM = 135, + OUT_HEADPHONE = 136, + OUT_HEADSET = 137, + OUT_HEARING_AID = 138, + OUT_LINE_AUX = 139, + OUT_SPEAKER = 140, + OUT_SPEAKER_EARPIECE = 141, + OUT_SPEAKER_SAFE = 142, + OUT_SUBMIX = 143, + OUT_TELEPHONY_TX = 144, + OUT_DOCK = 145, + OUT_BROADCAST = 146, + OUT_BUS = OUT_DEVICE /* 133 */, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDualMonoMode.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDualMonoMode.aidl new file mode 100644 index 0000000..77773f0 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioDualMonoMode.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioDualMonoMode { + OFF = 0, + LR = 1, + LL = 2, + RR = 3, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationMetadataType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationMetadataType.aidl new file mode 100644 index 0000000..0ee0dbb --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationMetadataType.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioEncapsulationMetadataType { + NONE = 0, + FRAMEWORK_TUNER = 1, + DVB_AD_DESCRIPTOR = 2, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationMode.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationMode.aidl new file mode 100644 index 0000000..0747dba --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationMode.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum AudioEncapsulationMode { + INVALID = (-1) /* -1 */, + NONE = 0, + ELEMENTARY_STREAM = 1, + HANDLE = 2, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationType.aidl new file mode 100644 index 0000000..ed58fcf --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioEncapsulationType.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioEncapsulationType { + NONE = 0, + IEC61937 = 1, + PCM = 2, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFlag.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFlag.aidl new file mode 100644 index 0000000..1c8cbf5 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFlag.aidl
@@ -0,0 +1,55 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioFlag { + NONE = 0x0, + AUDIBILITY_ENFORCED = (0x1 << 0) /* 1 */, + SCO = (0x1 << 2) /* 4 */, + BEACON = (0x1 << 3) /* 8 */, + HW_AV_SYNC = (0x1 << 4) /* 16 */, + HW_HOTWORD = (0x1 << 5) /* 32 */, + BYPASS_INTERRUPTION_POLICY = (0x1 << 6) /* 64 */, + BYPASS_MUTE = (0x1 << 7) /* 128 */, + LOW_LATENCY = (0x1 << 8) /* 256 */, + DEEP_BUFFER = (0x1 << 9) /* 512 */, + NO_MEDIA_PROJECTION = (0x1 << 10) /* 1024 */, + MUTE_HAPTIC = (0x1 << 11) /* 2048 */, + NO_SYSTEM_CAPTURE = (0x1 << 12) /* 4096 */, + CAPTURE_PRIVATE = (0x1 << 13) /* 8192 */, + CONTENT_SPATIALIZED = (0x1 << 14) /* 16384 */, + NEVER_SPATIALIZE = (0x1 << 15) /* 32768 */, + CALL_REDIRECTION = (0x1 << 16) /* 65536 */, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFormatDescription.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFormatDescription.aidl new file mode 100644 index 0000000..58c75eb --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFormatDescription.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioFormatDescription { + android.media.audio.common.AudioFormatType type = android.media.audio.common.AudioFormatType.DEFAULT; + android.media.audio.common.PcmType pcm = android.media.audio.common.PcmType.DEFAULT; + @utf8InCpp String encoding; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFormatType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFormatType.aidl new file mode 100644 index 0000000..e60794f --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioFormatType.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum AudioFormatType { + DEFAULT = 0, + NON_PCM = DEFAULT /* 0 */, + PCM = 1, + SYS_RESERVED_INVALID = (-1) /* -1 */, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGain.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGain.aidl new file mode 100644 index 0000000..adc5b67 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGain.aidl
@@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioGain { + int mode; + android.media.audio.common.AudioChannelLayout channelMask; + int minValue; + int maxValue; + int defaultValue; + int stepValue; + int minRampMs; + int maxRampMs; + boolean useForVolume; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGainConfig.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGainConfig.aidl new file mode 100644 index 0000000..01877c7 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGainConfig.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioGainConfig { + int index; + int mode; + android.media.audio.common.AudioChannelLayout channelMask; + int[] values; + int rampDurationMs; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGainMode.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGainMode.aidl new file mode 100644 index 0000000..fddc20c --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioGainMode.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum AudioGainMode { + JOINT = 0, + CHANNELS = 1, + RAMP = 2, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalAttributesGroup.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalAttributesGroup.aidl new file mode 100644 index 0000000..1062bdb --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalAttributesGroup.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioHalAttributesGroup { + android.media.audio.common.AudioStreamType streamType = android.media.audio.common.AudioStreamType.INVALID; + @utf8InCpp String volumeGroupName; + android.media.audio.common.AudioAttributes[] attributes; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalCapCriterion.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalCapCriterion.aidl new file mode 100644 index 0000000..3b00031 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalCapCriterion.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioHalCapCriterion { + @utf8InCpp String name; + @utf8InCpp String criterionTypeName; + @utf8InCpp String defaultLiteralValue; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalCapCriterionType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalCapCriterionType.aidl new file mode 100644 index 0000000..1245761 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalCapCriterionType.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioHalCapCriterionType { + @utf8InCpp String name; + boolean isInclusive; + @utf8InCpp String[] values; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalEngineConfig.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalEngineConfig.aidl new file mode 100644 index 0000000..807dd25 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalEngineConfig.aidl
@@ -0,0 +1,47 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioHalEngineConfig { + int defaultProductStrategyId = android.media.audio.common.AudioProductStrategyType.SYS_RESERVED_NONE /* -1 */; + android.media.audio.common.AudioHalProductStrategy[] productStrategies; + android.media.audio.common.AudioHalVolumeGroup[] volumeGroups; + @nullable android.media.audio.common.AudioHalEngineConfig.CapSpecificConfig capSpecificConfig; + @VintfStability + parcelable CapSpecificConfig { + android.media.audio.common.AudioHalCapCriterion[] criteria; + android.media.audio.common.AudioHalCapCriterionType[] criterionTypes; + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalProductStrategy.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalProductStrategy.aidl new file mode 100644 index 0000000..9615961 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalProductStrategy.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability +parcelable AudioHalProductStrategy { + int id = android.media.audio.common.AudioProductStrategyType.SYS_RESERVED_NONE /* -1 */; + android.media.audio.common.AudioHalAttributesGroup[] attributesGroups; + const int VENDOR_STRATEGY_ID_START = 1000; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalVolumeCurve.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalVolumeCurve.aidl new file mode 100644 index 0000000..bcc7324 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalVolumeCurve.aidl
@@ -0,0 +1,55 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioHalVolumeCurve { + android.media.audio.common.AudioHalVolumeCurve.DeviceCategory deviceCategory = android.media.audio.common.AudioHalVolumeCurve.DeviceCategory.SPEAKER; + android.media.audio.common.AudioHalVolumeCurve.CurvePoint[] curvePoints; + @Backing(type="byte") @VintfStability + enum DeviceCategory { + HEADSET = 0, + SPEAKER = 1, + EARPIECE = 2, + EXT_MEDIA = 3, + HEARING_AID = 4, + } + @VintfStability + parcelable CurvePoint { + byte index; + int attenuationMb; + const byte MIN_INDEX = 0; + const byte MAX_INDEX = 100; + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalVolumeGroup.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalVolumeGroup.aidl new file mode 100644 index 0000000..f741e69 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioHalVolumeGroup.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability +parcelable AudioHalVolumeGroup { + @utf8InCpp String name; + int minIndex; + int maxIndex; + android.media.audio.common.AudioHalVolumeCurve[] volumeCurves; + const int INDEX_DEFERRED_TO_AUDIO_SERVICE = (-1) /* -1 */; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioInputFlags.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioInputFlags.aidl new file mode 100644 index 0000000..e6a57e9 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioInputFlags.aidl
@@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioInputFlags { + FAST = 0, + HW_HOTWORD = 1, + RAW = 2, + SYNC = 3, + MMAP_NOIRQ = 4, + VOIP_TX = 5, + HW_AV_SYNC = 6, + DIRECT = 7, + ULTRASOUND = 8, + HOTWORD_TAP = 9, + HW_LOOKBACK = 10, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioIoFlags.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioIoFlags.aidl new file mode 100644 index 0000000..4a46725 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioIoFlags.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +union AudioIoFlags { + int input; + int output; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioLatencyMode.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioLatencyMode.aidl new file mode 100644 index 0000000..f6949d2 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioLatencyMode.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="byte") @SuppressWarnings(value={"redundant-name"}) @VintfStability +enum AudioLatencyMode { + FREE = 0, + LOW = 1, + DYNAMIC_SPATIAL_AUDIO_SOFTWARE = 2, + DYNAMIC_SPATIAL_AUDIO_HARDWARE = 3, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicy.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicy.aidl new file mode 100644 index 0000000..98bf0e5 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicy.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioMMapPolicy { + UNSPECIFIED = 0, + NEVER = 1, + AUTO = 2, + ALWAYS = 3, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicyInfo.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicyInfo.aidl new file mode 100644 index 0000000..7c4f75e --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicyInfo.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioMMapPolicyInfo { + android.media.audio.common.AudioDevice device; + android.media.audio.common.AudioMMapPolicy mmapPolicy = android.media.audio.common.AudioMMapPolicy.UNSPECIFIED; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicyType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicyType.aidl new file mode 100644 index 0000000..efe8826 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMMapPolicyType.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioMMapPolicyType { + DEFAULT = 1, + EXCLUSIVE = 2, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMode.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMode.aidl new file mode 100644 index 0000000..1b4cdc4 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioMode.aidl
@@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioMode { + SYS_RESERVED_INVALID = (-2) /* -2 */, + SYS_RESERVED_CURRENT = (-1) /* -1 */, + NORMAL = 0, + RINGTONE = 1, + IN_CALL = 2, + IN_COMMUNICATION = 3, + CALL_SCREEN = 4, + SYS_RESERVED_CALL_REDIRECT = 5, + SYS_RESERVED_COMMUNICATION_REDIRECT = 6, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioOffloadInfo.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioOffloadInfo.aidl new file mode 100644 index 0000000..40bd53b --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioOffloadInfo.aidl
@@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioOffloadInfo { + android.media.audio.common.AudioConfigBase base; + android.media.audio.common.AudioStreamType streamType = android.media.audio.common.AudioStreamType.INVALID; + int bitRatePerSecond; + long durationUs; + boolean hasVideo; + boolean isStreaming; + int bitWidth = 16; + int offloadBufferSize; + android.media.audio.common.AudioUsage usage = android.media.audio.common.AudioUsage.INVALID; + android.media.audio.common.AudioEncapsulationMode encapsulationMode = android.media.audio.common.AudioEncapsulationMode.INVALID; + int contentId; + int syncId; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioOutputFlags.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioOutputFlags.aidl new file mode 100644 index 0000000..268e635 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioOutputFlags.aidl
@@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioOutputFlags { + DIRECT = 0, + PRIMARY = 1, + FAST = 2, + DEEP_BUFFER = 3, + COMPRESS_OFFLOAD = 4, + NON_BLOCKING = 5, + HW_AV_SYNC = 6, + TTS = 7, + RAW = 8, + SYNC = 9, + IEC958_NONAUDIO = 10, + DIRECT_PCM = 11, + MMAP_NOIRQ = 12, + VOIP_RX = 13, + INCALL_MUSIC = 14, + GAPLESS_OFFLOAD = 15, + SPATIALIZER = 16, + ULTRASOUND = 17, + BIT_PERFECT = 18, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPlaybackRate.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPlaybackRate.aidl new file mode 100644 index 0000000..310b2af --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPlaybackRate.aidl
@@ -0,0 +1,54 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioPlaybackRate { + float speed; + float pitch; + android.media.audio.common.AudioPlaybackRate.TimestretchMode timestretchMode = android.media.audio.common.AudioPlaybackRate.TimestretchMode.DEFAULT; + android.media.audio.common.AudioPlaybackRate.TimestretchFallbackMode fallbackMode = android.media.audio.common.AudioPlaybackRate.TimestretchFallbackMode.SYS_RESERVED_DEFAULT; + @Backing(type="int") @VintfStability + enum TimestretchMode { + DEFAULT = 0, + VOICE = 1, + } + @Backing(type="int") @VintfStability + enum TimestretchFallbackMode { + SYS_RESERVED_CUT_REPEAT = (-1) /* -1 */, + SYS_RESERVED_DEFAULT = 0, + MUTE = 1, + FAIL = 2, + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPort.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPort.aidl new file mode 100644 index 0000000..970bbc0 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPort.aidl
@@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioPort { + int id; + @utf8InCpp String name; + android.media.audio.common.AudioProfile[] profiles; + android.media.audio.common.AudioIoFlags flags; + android.media.audio.common.ExtraAudioDescriptor[] extraAudioDescriptors; + android.media.audio.common.AudioGain[] gains; + android.media.audio.common.AudioPortExt ext; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortConfig.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortConfig.aidl new file mode 100644 index 0000000..18e6406 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortConfig.aidl
@@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioPortConfig { + int id; + int portId; + @nullable android.media.audio.common.Int sampleRate; + @nullable android.media.audio.common.AudioChannelLayout channelMask; + @nullable android.media.audio.common.AudioFormatDescription format; + @nullable android.media.audio.common.AudioGainConfig gain; + @nullable android.media.audio.common.AudioIoFlags flags; + android.media.audio.common.AudioPortExt ext; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortDeviceExt.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortDeviceExt.aidl new file mode 100644 index 0000000..24d9b29 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortDeviceExt.aidl
@@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability +parcelable AudioPortDeviceExt { + android.media.audio.common.AudioDevice device; + int flags; + android.media.audio.common.AudioFormatDescription[] encodedFormats; + int encapsulationModes; + int encapsulationMetadataTypes; + const int FLAG_INDEX_DEFAULT_DEVICE = 0; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortExt.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortExt.aidl new file mode 100644 index 0000000..af9d9c4 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortExt.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +union AudioPortExt { + boolean unspecified; + android.media.audio.common.AudioPortDeviceExt device; + android.media.audio.common.AudioPortMixExt mix; + int session; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortMixExt.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortMixExt.aidl new file mode 100644 index 0000000..5b74c0d --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortMixExt.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioPortMixExt { + int handle; + android.media.audio.common.AudioPortMixExtUseCase usecase; + int maxOpenStreamCount; + int maxActiveStreamCount; + int recommendedMuteDurationMs; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortMixExtUseCase.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortMixExtUseCase.aidl new file mode 100644 index 0000000..e9acb40 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioPortMixExtUseCase.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +union AudioPortMixExtUseCase { + boolean unspecified; + android.media.audio.common.AudioStreamType stream; + android.media.audio.common.AudioSource source; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioProductStrategyType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioProductStrategyType.aidl new file mode 100644 index 0000000..ba59d40 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioProductStrategyType.aidl
@@ -0,0 +1,49 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum AudioProductStrategyType { + SYS_RESERVED_NONE = (-1) /* -1 */, + MEDIA = 0, + PHONE = 1, + SONIFICATION = 2, + SONIFICATION_RESPECTFUL = 3, + DTMF = 4, + ENFORCED_AUDIBLE = 5, + TRANSMITTED_THROUGH_SPEAKER = 6, + ACCESSIBILITY = 7, + SYS_RESERVED_REROUTING = 8, + SYS_RESERVED_CALL_ASSISTANT = 9, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioProfile.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioProfile.aidl new file mode 100644 index 0000000..134cdd9 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioProfile.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioProfile { + @utf8InCpp String name; + android.media.audio.common.AudioFormatDescription format; + android.media.audio.common.AudioChannelLayout[] channelMasks; + int[] sampleRates; + android.media.audio.common.AudioEncapsulationType encapsulationType = android.media.audio.common.AudioEncapsulationType.NONE; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioSource.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioSource.aidl new file mode 100644 index 0000000..522adeb --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioSource.aidl
@@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioSource { + SYS_RESERVED_INVALID = (-1) /* -1 */, + DEFAULT = 0, + MIC = 1, + VOICE_UPLINK = 2, + VOICE_DOWNLINK = 3, + VOICE_CALL = 4, + CAMCORDER = 5, + VOICE_RECOGNITION = 6, + VOICE_COMMUNICATION = 7, + REMOTE_SUBMIX = 8, + UNPROCESSED = 9, + VOICE_PERFORMANCE = 10, + ECHO_REFERENCE = 1997, + FM_TUNER = 1998, + HOTWORD = 1999, + ULTRASOUND = 2000, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioStandard.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioStandard.aidl new file mode 100644 index 0000000..704d340 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioStandard.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioStandard { + NONE = 0, + EDID = 1, + SADB = 2, + VSADB = 3, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioStreamType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioStreamType.aidl new file mode 100644 index 0000000..aa170b7 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioStreamType.aidl
@@ -0,0 +1,55 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioStreamType { + INVALID = (-2) /* -2 */, + SYS_RESERVED_DEFAULT = (-1) /* -1 */, + VOICE_CALL = 0, + SYSTEM = 1, + RING = 2, + MUSIC = 3, + ALARM = 4, + NOTIFICATION = 5, + BLUETOOTH_SCO = 6, + ENFORCED_AUDIBLE = 7, + DTMF = 8, + TTS = 9, + ACCESSIBILITY = 10, + ASSISTANT = 11, + SYS_RESERVED_REROUTING = 12, + SYS_RESERVED_PATCH = 13, + CALL_ASSISTANT = 14, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioUsage.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioUsage.aidl new file mode 100644 index 0000000..7c30cd3 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioUsage.aidl
@@ -0,0 +1,61 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioUsage { + INVALID = (-1) /* -1 */, + UNKNOWN = 0, + MEDIA = 1, + VOICE_COMMUNICATION = 2, + VOICE_COMMUNICATION_SIGNALLING = 3, + ALARM = 4, + NOTIFICATION = 5, + NOTIFICATION_TELEPHONY_RINGTONE = 6, + SYS_RESERVED_NOTIFICATION_COMMUNICATION_REQUEST = 7, + SYS_RESERVED_NOTIFICATION_COMMUNICATION_INSTANT = 8, + SYS_RESERVED_NOTIFICATION_COMMUNICATION_DELAYED = 9, + NOTIFICATION_EVENT = 10, + ASSISTANCE_ACCESSIBILITY = 11, + ASSISTANCE_NAVIGATION_GUIDANCE = 12, + ASSISTANCE_SONIFICATION = 13, + GAME = 14, + VIRTUAL_SOURCE = 15, + ASSISTANT = 16, + CALL_ASSISTANT = 17, + EMERGENCY = 1000, + SAFETY = 1001, + VEHICLE_STATUS = 1002, + ANNOUNCEMENT = 1003, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioUuid.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioUuid.aidl new file mode 100644 index 0000000..af307da --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/AudioUuid.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioUuid { + int timeLow; + int timeMid; + int timeHiAndVersion; + int clockSeq; + byte[] node; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Boolean.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Boolean.aidl new file mode 100644 index 0000000..bc996e4 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Boolean.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Boolean { + boolean value; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Byte.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Byte.aidl new file mode 100644 index 0000000..604e74d --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Byte.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Byte { + byte value; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Double.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Double.aidl new file mode 100644 index 0000000..a525629 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Double.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Double { + double value; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/ExtraAudioDescriptor.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/ExtraAudioDescriptor.aidl new file mode 100644 index 0000000..2ae2405 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/ExtraAudioDescriptor.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ExtraAudioDescriptor { + android.media.audio.common.AudioStandard standard = android.media.audio.common.AudioStandard.NONE; + byte[] audioDescriptor; + android.media.audio.common.AudioEncapsulationType encapsulationType = android.media.audio.common.AudioEncapsulationType.NONE; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Float.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Float.aidl new file mode 100644 index 0000000..af98eab --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Float.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Float { + float value; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/HeadTracking.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/HeadTracking.aidl new file mode 100644 index 0000000..39518cd --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/HeadTracking.aidl
@@ -0,0 +1,57 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable HeadTracking { + /* @hide */ + @Backing(type="byte") + enum Mode { + OTHER = 0, + DISABLED = 1, + RELATIVE_WORLD = 2, + RELATIVE_SCREEN = 3, + } + /* @hide */ + @Backing(type="byte") + enum ConnectionMode { + FRAMEWORK_PROCESSED = 0, + DIRECT_TO_SENSOR_SW = 1, + DIRECT_TO_SENSOR_TUNNEL = 2, + } + /* @hide */ + union SensorData { + float[6] headToStage = {0f, 0f, 0f, 0f, 0f, 0f}; + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Int.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Int.aidl new file mode 100644 index 0000000..b0d3c49 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Int.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Int { + int value; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Long.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Long.aidl new file mode 100644 index 0000000..e403dd3 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Long.aidl
@@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Long { + long value; +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/MicrophoneDynamicInfo.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/MicrophoneDynamicInfo.aidl new file mode 100644 index 0000000..f0a9b8b --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/MicrophoneDynamicInfo.aidl
@@ -0,0 +1,46 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable MicrophoneDynamicInfo { + @utf8InCpp String id; + android.media.audio.common.MicrophoneDynamicInfo.ChannelMapping[] channelMapping; + @Backing(type="int") @VintfStability + enum ChannelMapping { + UNUSED = 0, + DIRECT = 1, + PROCESSED = 2, + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/MicrophoneInfo.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/MicrophoneInfo.aidl new file mode 100644 index 0000000..d23031e --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/MicrophoneInfo.aidl
@@ -0,0 +1,83 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable MicrophoneInfo { + @utf8InCpp String id; + android.media.audio.common.AudioDevice device; + android.media.audio.common.MicrophoneInfo.Location location = android.media.audio.common.MicrophoneInfo.Location.UNKNOWN; + int group = GROUP_UNKNOWN /* -1 */; + int indexInTheGroup = INDEX_IN_THE_GROUP_UNKNOWN /* -1 */; + @nullable android.media.audio.common.MicrophoneInfo.Sensitivity sensitivity; + android.media.audio.common.MicrophoneInfo.Directionality directionality = android.media.audio.common.MicrophoneInfo.Directionality.UNKNOWN; + android.media.audio.common.MicrophoneInfo.FrequencyResponsePoint[] frequencyResponse; + @nullable android.media.audio.common.MicrophoneInfo.Coordinate position; + @nullable android.media.audio.common.MicrophoneInfo.Coordinate orientation; + const int GROUP_UNKNOWN = (-1) /* -1 */; + const int INDEX_IN_THE_GROUP_UNKNOWN = (-1) /* -1 */; + @Backing(type="int") @VintfStability + enum Location { + UNKNOWN = 0, + MAINBODY = 1, + MAINBODY_MOVABLE = 2, + PERIPHERAL = 3, + } + @VintfStability + parcelable Sensitivity { + float leveldBFS; + float maxSpldB; + float minSpldB; + } + @Backing(type="int") @VintfStability + enum Directionality { + UNKNOWN = 0, + OMNI = 1, + BI_DIRECTIONAL = 2, + CARDIOID = 3, + HYPER_CARDIOID = 4, + SUPER_CARDIOID = 5, + } + @VintfStability + parcelable FrequencyResponsePoint { + float frequencyHz; + float leveldB; + } + @VintfStability + parcelable Coordinate { + float x; + float y; + float z; + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/PcmType.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/PcmType.aidl new file mode 100644 index 0000000..fbe3aea --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/PcmType.aidl
@@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum PcmType { + DEFAULT = 0, + UINT_8_BIT = DEFAULT /* 0 */, + INT_16_BIT = 1, + INT_32_BIT = 2, + FIXED_Q_8_24 = 3, + FLOAT_32_BIT = 4, + INT_24_BIT = 5, +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Spatialization.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Spatialization.aidl new file mode 100644 index 0000000..d916c8c --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Spatialization.aidl
@@ -0,0 +1,51 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Spatialization { + /* @hide */ + @Backing(type="byte") + enum Level { + NONE = 0, + MULTICHANNEL = 1, + BED_PLUS_OBJECTS = 2, + } + /* @hide */ + @Backing(type="byte") + enum Mode { + BINAURAL = 0, + TRANSAURAL = 1, + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Void.aidl b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Void.aidl new file mode 100644 index 0000000..2e8afd4 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/3/android/media/audio/common/Void.aidl
@@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@FixedSize @JavaDerive(equals=true, toString=true) @VintfStability +parcelable Void { +}
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioAttributes.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioAttributes.aidl index 8d5ba4e..d52cbe5 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioAttributes.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioAttributes.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioAttributes { android.media.audio.common.AudioContentType contentType = android.media.audio.common.AudioContentType.UNKNOWN;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioChannelLayout.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioChannelLayout.aidl index 60e8e66..33596ea 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioChannelLayout.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioChannelLayout.aidl
@@ -33,7 +33,7 @@ package android.media.audio.common; /* @hide */ -@JavaDerive(equals=true, toString=true) @VintfStability +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability union AudioChannelLayout { int none = 0; int invalid = 0;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceDescription.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceDescription.aidl index a17f46d..d1bcfed 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceDescription.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceDescription.aidl
@@ -41,6 +41,9 @@ const @utf8InCpp String CONNECTION_BT_A2DP = "bt-a2dp"; const @utf8InCpp String CONNECTION_BT_LE = "bt-le"; const @utf8InCpp String CONNECTION_BT_SCO = "bt-sco"; + /** + * @deprecated Bus devices are attached, and must be represented using `{IN|OUT}_BUS` type + empty connection. Bus connection. Mostly used in automotive scenarios. + */ const @utf8InCpp String CONNECTION_BUS = "bus"; const @utf8InCpp String CONNECTION_HDMI = "hdmi"; const @utf8InCpp String CONNECTION_HDMI_ARC = "hdmi-arc";
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceType.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceType.aidl index 6a7b686..f7d1b77 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceType.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDeviceType.aidl
@@ -33,7 +33,7 @@ package android.media.audio.common; /* @hide */ -@Backing(type="int") @VintfStability +@Backing(type="int") @SuppressWarnings(value={"redundant-name"}) @VintfStability enum AudioDeviceType { NONE = 0, IN_DEFAULT = 1, @@ -50,6 +50,7 @@ IN_TELEPHONY_RX = 12, IN_TV_TUNER = 13, IN_DOCK = 14, + IN_BUS = IN_DEVICE /* 4 */, OUT_DEFAULT = 129, OUT_ACCESSORY = 130, OUT_AFE_PROXY = 131, @@ -68,4 +69,5 @@ OUT_TELEPHONY_TX = 144, OUT_DOCK = 145, OUT_BROADCAST = 146, + OUT_BUS = OUT_DEVICE /* 133 */, }
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDualMonoMode.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDualMonoMode.aidl index 7c80068..77773f0 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDualMonoMode.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioDualMonoMode.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @Backing(type="int") @VintfStability enum AudioDualMonoMode { OFF = 0,
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioFlag.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioFlag.aidl index 88afa43..1c8cbf5 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioFlag.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioFlag.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @Backing(type="int") @VintfStability enum AudioFlag { NONE = 0x0,
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalAttributesGroup.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalAttributesGroup.aidl index b0bcad5..1062bdb 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalAttributesGroup.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalAttributesGroup.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalAttributesGroup { android.media.audio.common.AudioStreamType streamType = android.media.audio.common.AudioStreamType.INVALID;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterion.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterion.aidl index d5f31de..3b00031 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterion.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterion.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalCapCriterion { @utf8InCpp String name;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterionType.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterionType.aidl index 8a5e679..1245761 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterionType.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalCapCriterionType.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalCapCriterionType { @utf8InCpp String name;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalEngineConfig.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalEngineConfig.aidl index 3c5a81c..807dd25 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalEngineConfig.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalEngineConfig.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalEngineConfig { int defaultProductStrategyId = android.media.audio.common.AudioProductStrategyType.SYS_RESERVED_NONE /* -1 */;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalProductStrategy.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalProductStrategy.aidl index a7accd1..1144574 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalProductStrategy.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalProductStrategy.aidl
@@ -32,9 +32,11 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; -@JavaDerive(equals=true, toString=true) @VintfStability +/* @hide */ +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability parcelable AudioHalProductStrategy { int id = android.media.audio.common.AudioProductStrategyType.SYS_RESERVED_NONE /* -1 */; android.media.audio.common.AudioHalAttributesGroup[] attributesGroups; + @nullable @utf8InCpp String name; const int VENDOR_STRATEGY_ID_START = 1000; }
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeCurve.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeCurve.aidl index d3ac536..bcc7324 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeCurve.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeCurve.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioHalVolumeCurve { android.media.audio.common.AudioHalVolumeCurve.DeviceCategory deviceCategory = android.media.audio.common.AudioHalVolumeCurve.DeviceCategory.SPEAKER;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeGroup.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeGroup.aidl index ee34490..f741e69 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeGroup.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioHalVolumeGroup.aidl
@@ -32,7 +32,8 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; -@JavaDerive(equals=true, toString=true) @VintfStability +/* @hide */ +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability parcelable AudioHalVolumeGroup { @utf8InCpp String name; int minIndex;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioLatencyMode.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioLatencyMode.aidl index 2a4e380..f6949d2 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioLatencyMode.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioLatencyMode.aidl
@@ -32,7 +32,8 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; -@Backing(type="byte") @VintfStability +/* @hide */ +@Backing(type="byte") @SuppressWarnings(value={"redundant-name"}) @VintfStability enum AudioLatencyMode { FREE = 0, LOW = 1,
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPlaybackRate.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPlaybackRate.aidl index a559f55..310b2af 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPlaybackRate.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPlaybackRate.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioPlaybackRate { float speed;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortDeviceExt.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortDeviceExt.aidl index 6633620..24d9b29 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortDeviceExt.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortDeviceExt.aidl
@@ -33,7 +33,7 @@ package android.media.audio.common; /* @hide */ -@JavaDerive(equals=true, toString=true) @VintfStability +@JavaDerive(equals=true, toString=true) @SuppressWarnings(value={"redundant-name"}) @VintfStability parcelable AudioPortDeviceExt { android.media.audio.common.AudioDevice device; int flags;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioProductStrategyType.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioProductStrategyType.aidl index 9dd6bc5..ba59d40 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioProductStrategyType.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioProductStrategyType.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @Backing(type="byte") @VintfStability enum AudioProductStrategyType { SYS_RESERVED_NONE = (-1) /* -1 */,
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/HeadTracking.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/HeadTracking.aidl new file mode 100644 index 0000000..39518cd --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/HeadTracking.aidl
@@ -0,0 +1,57 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable HeadTracking { + /* @hide */ + @Backing(type="byte") + enum Mode { + OTHER = 0, + DISABLED = 1, + RELATIVE_WORLD = 2, + RELATIVE_SCREEN = 3, + } + /* @hide */ + @Backing(type="byte") + enum ConnectionMode { + FRAMEWORK_PROCESSED = 0, + DIRECT_TO_SENSOR_SW = 1, + DIRECT_TO_SENSOR_TUNNEL = 2, + } + /* @hide */ + union SensorData { + float[6] headToStage = {0f, 0f, 0f, 0f, 0f, 0f}; + } +}
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneDynamicInfo.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneDynamicInfo.aidl index 1a6ec45..f0a9b8b 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneDynamicInfo.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneDynamicInfo.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable MicrophoneDynamicInfo { @utf8InCpp String id;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneInfo.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneInfo.aidl index 26c109f..d23031e 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneInfo.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/MicrophoneInfo.aidl
@@ -32,6 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.media.audio.common; +/* @hide */ @JavaDerive(equals=true, toString=true) @VintfStability parcelable MicrophoneInfo { @utf8InCpp String id;
diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Spatialization.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Spatialization.aidl new file mode 100644 index 0000000..d916c8c --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Spatialization.aidl
@@ -0,0 +1,51 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.audio.common; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Spatialization { + /* @hide */ + @Backing(type="byte") + enum Level { + NONE = 0, + MULTICHANNEL = 1, + BED_PLUS_OBJECTS = 2, + } + /* @hide */ + @Backing(type="byte") + enum Mode { + BINAURAL = 0, + TRANSAURAL = 1, + } +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/.hash b/media/aidl_api/android.media.soundtrigger.types/2/.hash new file mode 100644 index 0000000..4d6db0d --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/.hash
@@ -0,0 +1 @@ +929397e6b7a077545b4266734f3dbf2162fb0558
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/AudioCapabilities.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/AudioCapabilities.aidl new file mode 100644 index 0000000..47119b9 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/AudioCapabilities.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@Backing(type="int") @VintfStability +enum AudioCapabilities { + ECHO_CANCELLATION = (1 << 0) /* 1 */, + NOISE_SUPPRESSION = (1 << 1) /* 2 */, +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ConfidenceLevel.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ConfidenceLevel.aidl new file mode 100644 index 0000000..5127a11 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ConfidenceLevel.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ConfidenceLevel { + int userId; + int levelPercent; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ModelParameter.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ModelParameter.aidl new file mode 100644 index 0000000..bcfe93d --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ModelParameter.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@Backing(type="int") @VintfStability +enum ModelParameter { + INVALID = (-1) /* -1 */, + THRESHOLD_FACTOR = 0, +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ModelParameterRange.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ModelParameterRange.aidl new file mode 100644 index 0000000..f29b728 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/ModelParameterRange.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ModelParameterRange { + int minInclusive; + int maxInclusive; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Phrase.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Phrase.aidl new file mode 100644 index 0000000..11029ba --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Phrase.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Phrase { + int id; + int recognitionModes; + int[] users; + String locale; + String text; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseRecognitionEvent.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseRecognitionEvent.aidl new file mode 100644 index 0000000..b75d1b8 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseRecognitionEvent.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable PhraseRecognitionEvent { + android.media.soundtrigger.RecognitionEvent common; + android.media.soundtrigger.PhraseRecognitionExtra[] phraseExtras; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseRecognitionExtra.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseRecognitionExtra.aidl new file mode 100644 index 0000000..e417c69 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseRecognitionExtra.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable PhraseRecognitionExtra { + int id; + int recognitionModes; + int confidenceLevel; + android.media.soundtrigger.ConfidenceLevel[] levels; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseSoundModel.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseSoundModel.aidl new file mode 100644 index 0000000..b4b3854 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/PhraseSoundModel.aidl
@@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable PhraseSoundModel { + android.media.soundtrigger.SoundModel common; + android.media.soundtrigger.Phrase[] phrases; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Properties.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Properties.aidl new file mode 100644 index 0000000..068db52 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Properties.aidl
@@ -0,0 +1,53 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Properties { + String implementor; + String description; + int version; + String uuid; + String supportedModelArch; + int maxSoundModels; + int maxKeyPhrases; + int maxUsers; + int recognitionModes; + boolean captureTransition; + int maxBufferMs; + boolean concurrentCapture; + boolean triggerInEvent; + int powerConsumptionMw; + int audioCapabilities; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionConfig.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionConfig.aidl new file mode 100644 index 0000000..63cd2cb --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionConfig.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable RecognitionConfig { + boolean captureRequested; + android.media.soundtrigger.PhraseRecognitionExtra[] phraseRecognitionExtras; + int audioCapabilities; + byte[] data; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionEvent.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionEvent.aidl new file mode 100644 index 0000000..0209602 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionEvent.aidl
@@ -0,0 +1,47 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable RecognitionEvent { + android.media.soundtrigger.RecognitionStatus status = android.media.soundtrigger.RecognitionStatus.INVALID; + android.media.soundtrigger.SoundModelType type = android.media.soundtrigger.SoundModelType.INVALID; + boolean captureAvailable; + int captureDelayMs; + int capturePreambleMs; + boolean triggerInData; + @nullable android.media.audio.common.AudioConfig audioConfig; + byte[] data; + boolean recognitionStillActive; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionMode.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionMode.aidl new file mode 100644 index 0000000..1899a33 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionMode.aidl
@@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@Backing(type="int") @VintfStability +enum RecognitionMode { + VOICE_TRIGGER = 0x1, + USER_IDENTIFICATION = 0x2, + USER_AUTHENTICATION = 0x4, + GENERIC_TRIGGER = 0x8, +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionStatus.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionStatus.aidl new file mode 100644 index 0000000..8101ffd --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/RecognitionStatus.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@Backing(type="int") @VintfStability +enum RecognitionStatus { + INVALID = (-1) /* -1 */, + SUCCESS = 0, + ABORTED = 1, + FAILURE = 2, + FORCED = 3, +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/SoundModel.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/SoundModel.aidl new file mode 100644 index 0000000..fe38264 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/SoundModel.aidl
@@ -0,0 +1,43 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SoundModel { + android.media.soundtrigger.SoundModelType type = android.media.soundtrigger.SoundModelType.INVALID; + String uuid; + String vendorUuid; + @nullable ParcelFileDescriptor data; + int dataSize; +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/SoundModelType.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/SoundModelType.aidl new file mode 100644 index 0000000..c0927a5 --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/SoundModelType.aidl
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@Backing(type="int") @VintfStability +enum SoundModelType { + INVALID = (-1) /* -1 */, + KEYPHRASE = 0, + GENERIC = 1, +}
diff --git a/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Status.aidl b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Status.aidl new file mode 100644 index 0000000..4cd4c8e --- /dev/null +++ b/media/aidl_api/android.media.soundtrigger.types/2/android/media/soundtrigger/Status.aidl
@@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.media.soundtrigger; +/* @hide */ +@Backing(type="int") @VintfStability +enum Status { + INVALID = (-1) /* -1 */, + SUCCESS = 0, + RESOURCE_CONTENTION = 1, + OPERATION_NOT_SUPPORTED = 2, + TEMPORARY_PERMISSION_DENIED = 3, + DEAD_OBJECT = 4, + INTERNAL_ERROR = 5, +}
diff --git a/media/lint-baseline.xml b/media/lint-baseline.xml new file mode 100644 index 0000000..82f05d2 --- /dev/null +++ b/media/lint-baseline.xml
@@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 29): `android.os.Parcel#writeFixedArray`" + errorLine1=" _aidl_parcel.writeFixedArray(getHeadToStage(), _aidl_flag, 6);" + errorLine2=" ~~~~~~~~~~~~~~~"> + <location + file="out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V3-java-source/gen/android/media/audio/common/HeadTracking.java" + line="189" + column="22"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 29): `android.os.Parcel#createFixedArray`" + errorLine1=" _aidl_value = _aidl_parcel.createFixedArray(float[].class, 6);" + errorLine2=" ~~~~~~~~~~~~~~~~"> + <location + file="out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V3-java-source/gen/android/media/audio/common/HeadTracking.java" + line="200" + column="36"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 29): `android.os.Parcel#writeFixedArray`" + errorLine1=" _aidl_parcel.writeFixedArray(getHeadToStage(), _aidl_flag, 6);" + errorLine2=" ~~~~~~~~~~~~~~~"> + <location + file="out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-java-source/gen/android/media/audio/common/HeadTracking.java" + line="189" + column="22"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 29): `android.os.Parcel#createFixedArray`" + errorLine1=" _aidl_value = _aidl_parcel.createFixedArray(float[].class, 6);" + errorLine2=" ~~~~~~~~~~~~~~~~"> + <location + file="out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-java-source/gen/android/media/audio/common/HeadTracking.java" + line="200" + column="36"/> + </issue> + +</issues> \ No newline at end of file
diff --git a/net/netd/1.0/vts/functional/Android.bp b/net/netd/1.0/vts/functional/Android.bp index 5e11a27..b175644 100644 --- a/net/netd/1.0/vts/functional/Android.bp +++ b/net/netd/1.0/vts/functional/Android.bp
@@ -14,6 +14,7 @@ // limitations under the License. package { + default_team: "trendy_team_fwk_core_networking", default_applicable_licenses: ["Android-Apache-2.0"], }
diff --git a/net/netd/1.1/vts/functional/Android.bp b/net/netd/1.1/vts/functional/Android.bp index 11a2865..e89b373 100644 --- a/net/netd/1.1/vts/functional/Android.bp +++ b/net/netd/1.1/vts/functional/Android.bp
@@ -14,6 +14,7 @@ // limitations under the License. package { + default_team: "trendy_team_cloud_android", default_applicable_licenses: ["Android-Apache-2.0"], }
diff --git a/net/netd/aidl/vts/Android.bp b/net/netd/aidl/vts/Android.bp index 2d5bdb2..eed2fc9 100644 --- a/net/netd/aidl/vts/Android.bp +++ b/net/netd/aidl/vts/Android.bp
@@ -14,6 +14,7 @@ // limitations under the License. package { + default_team: "trendy_team_fwk_core_networking", default_applicable_licenses: ["Android-Apache-2.0"], } @@ -22,8 +23,10 @@ srcs: [ "VtsHalNetNetdV1TargetTest.cpp", ], - defaults: ["VtsHalNetNetdTestDefaults", - "use_libaidlvintf_gtest_helper_static",], + defaults: [ + "VtsHalNetNetdTestDefaults", + "use_libaidlvintf_gtest_helper_static", + ], static_libs: [ "android.system.net.netd-V1-ndk", "libnetd_test_tun_interface",
diff --git a/suspend/1.0/Android.bp b/suspend/1.0/Android.bp index 1a4aba2..4999a51 100644 --- a/suspend/1.0/Android.bp +++ b/suspend/1.0/Android.bp
@@ -7,9 +7,6 @@ hidl_interface { name: "android.system.suspend@1.0", root: "android.system", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISystemSuspend.hal",
diff --git a/suspend/1.0/default/Android.bp b/suspend/1.0/default/Android.bp index 83dadb9..32cd02a 100644 --- a/suspend/1.0/default/Android.bp +++ b/suspend/1.0/default/Android.bp
@@ -42,24 +42,22 @@ ], } -cc_binary { - name: "android.system.suspend-service", - relative_install_path: "hw", +cc_defaults { + name: "android.system.suspend-service_defaults", defaults: [ "system_suspend_defaults", "system_suspend_stats_defaults", ], - init_rc: ["android.system.suspend-service.rc"], - vintf_fragments: ["android.system.suspend-service.xml"], shared_libs: [ "android.system.suspend-V1-ndk", + ], + static_libs: [ "android.system.suspend.control-V1-cpp", "android.system.suspend.control.internal-cpp", "android.system.suspend@1.0", "libSuspendProperties", ], srcs: [ - "main.cpp", "SuspendControlService.cpp", "SystemSuspend.cpp", "SystemSuspendHidl.cpp", @@ -69,6 +67,19 @@ ], } +cc_binary { + name: "android.system.suspend-service", + relative_install_path: "hw", + defaults: [ + "android.system.suspend-service_defaults", + ], + init_rc: ["android.system.suspend-service.rc"], + vintf_fragments: ["android.system.suspend-service.xml"], + srcs: [ + "main.cpp", + ], +} + // Unit tests for ISystemSuspend implementation. // Do *NOT* use for compliance with *TS. cc_test { @@ -147,3 +158,45 @@ srcs: ["SuspendProperties.sysprop"], property_owner: "Platform", } + +cc_defaults { + name: "suspend_fuzzer_defaults", + defaults: [ + "service_fuzzer_defaults", + "fuzzer_disable_leaks", + "android.system.suspend-service_defaults", + ], + static_libs: [ + "liblog", + ], + fuzz_config: { + cc: [ + "kaleshsingh@google.com", + ], + triage_assignee: "waghpawan@google.com", + }, + include_dirs: ["system/hardware/interfaces/suspend/1.0/default/"], + cflags: [ + "-DFUZZ_MODE_SUSPEND_SERVICE=1", + ], +} + +cc_fuzz { + name: "suspend_service_fuzzer", + defaults: [ + "suspend_fuzzer_defaults", + ], + srcs: [ + "fuzzers/SuspendServiceFuzzer.cpp", + ], +} + +cc_fuzz { + name: "suspend_service_internal_fuzzer", + defaults: [ + "suspend_fuzzer_defaults", + ], + srcs: [ + "fuzzers/SuspendServiceInternalFuzzer.cpp", + ], +}
diff --git a/suspend/1.0/default/OWNERS b/suspend/1.0/default/OWNERS index 6825db9..bcc9e5f 100644 --- a/suspend/1.0/default/OWNERS +++ b/suspend/1.0/default/OWNERS
@@ -1,3 +1,4 @@ +# Bug component: 30545 krossmo@google.com santoscordon@google.com trong@google.com
diff --git a/suspend/1.0/default/SystemSuspend.cpp b/suspend/1.0/default/SystemSuspend.cpp index 3362fe0..4aa5189 100644 --- a/suspend/1.0/default/SystemSuspend.cpp +++ b/suspend/1.0/default/SystemSuspend.cpp
@@ -14,12 +14,16 @@ * limitations under the License. */ +#define ATRACE_TAG ATRACE_TAG_POWER +#define ATRACE_TRACK_BACKOFF "suspend_backoff" + #include "SystemSuspend.h" #include <aidl/android/system/suspend/ISystemSuspend.h> #include <aidl/android/system/suspend/IWakeLock.h> #include <android-base/file.h> #include <android-base/logging.h> +#include <android-base/properties.h> #include <android-base/stringprintf.h> #include <android-base/strings.h> #include <android/binder_manager.h> @@ -28,6 +32,7 @@ #include <sys/types.h> #include <chrono> +#include <cstdlib> #include <string> #include <thread> using namespace std::chrono_literals; @@ -35,8 +40,10 @@ using ::aidl::android::system::suspend::ISystemSuspend; using ::aidl::android::system::suspend::IWakeLock; using ::aidl::android::system::suspend::WakeLockType; +using ::android::base::CachedProperty; using ::android::base::Error; using ::android::base::ReadFdToString; +using ::android::base::StringPrintf; using ::android::base::WriteStringToFd; using ::std::string; @@ -240,6 +247,7 @@ } bool SystemSuspend::forceSuspend() { +#ifndef FUZZ_MODE_SUSPEND_SERVICE // We are forcing the system to suspend. This particular call ignores all // existing wakelocks (full or partial). It does not cancel the wakelocks // or reset mSuspendCounter, it just ignores them. When the system @@ -253,6 +261,9 @@ PLOG(VERBOSE) << "error writing to /sys/power/state for forceSuspend"; } return success; +#else + return false; +#endif // !FUZZ_MODE_SUSPEND_SERVICE } void SystemSuspend::incSuspendCounter(const string& name) { @@ -345,8 +356,7 @@ bool success; { auto tokensLock = std::lock_guard(mAutosuspendClientTokensLock); - // TODO: Clean up client tokens after soaking the new approach - // checkAutosuspendClientsLivenessLocked(); + checkAutosuspendClientsLivenessLocked(); autosuspendLock.lock(); base::ScopedLockAssertion autosuspendLocked(mAutosuspendLock); @@ -393,6 +403,8 @@ mControlService->notifyWakeup(success, wakeupReasons); + logKernelWakeLockStats(); + // Take the lock before returning to the start of the loop autosuspendLock.lock(); } @@ -402,6 +414,25 @@ LOG(INFO) << "automatic system suspend enabled"; } +void SystemSuspend::logKernelWakeLockStats() { + [[clang::no_destroy]] static CachedProperty logStatsProp("suspend.debug.wakestats_log.enabled"); + std::string prop(logStatsProp.Get(NULL)); + + if ((prop.compare("true") != 0) && (prop.compare("1") != 0)) return; + + std::stringstream klStats; + klStats << "Kernel wakesource stats: "; + std::vector<WakeLockInfo> wlStats; + mStatsList.getWakeLockStats(&wlStats); + + for (const WakeLockInfo& wake : wlStats) { + if ((wake.isKernelWakelock) && (wake.activeCount > 0)) { + klStats << wake.name << "," << wake.totalTime << "," << wake.activeCount << ";"; + } + } + LOG(INFO) << klStats.rdbuf(); +} + /** * Updates sleep time depending on the result of suspend attempt. * Time (in milliseconds) between suspend attempts is described the formula @@ -450,17 +481,22 @@ } if (!badSuspend) { + ATRACE_INSTANT_FOR_TRACK(ATRACE_TRACK_BACKOFF, "good"); mNumConsecutiveBadSuspends = 0; mSleepTime = kSleepTimeConfig.baseSleepTime; return; } + const char* backoffDecision = "defer"; + // Suspend attempt was bad (failed or short suspend) if (mNumConsecutiveBadSuspends >= kSleepTimeConfig.backoffThreshold) { if (mNumConsecutiveBadSuspends == kSleepTimeConfig.backoffThreshold) { mSuspendInfo.newBackoffCount++; + backoffDecision = "new"; } else { mSuspendInfo.backoffContinueCount++; + backoffDecision = "continue"; } mSleepTime = std::min(std::chrono::round<std::chrono::milliseconds>( @@ -469,6 +505,11 @@ } mNumConsecutiveBadSuspends++; + + std::string msg = + base::StringPrintf("bad %s %s %d %lld", backoffDecision, shortSuspend ? "short" : "failed", + mNumConsecutiveBadSuspends, mSleepTime.count()); + ATRACE_INSTANT_FOR_TRACK(ATRACE_TRACK_BACKOFF, msg.c_str()); } void SystemSuspend::updateWakeLockStatOnAcquire(const std::string& name, int pid) {
diff --git a/suspend/1.0/default/SystemSuspend.h b/suspend/1.0/default/SystemSuspend.h index a3f9a00..5f69ce8 100644 --- a/suspend/1.0/default/SystemSuspend.h +++ b/suspend/1.0/default/SystemSuspend.h
@@ -112,6 +112,7 @@ void checkAutosuspendClientsLivenessLocked() EXCLUSIVE_LOCKS_REQUIRED(mAutosuspendClientTokensLock); bool hasAliveAutosuspendTokenLocked() EXCLUSIVE_LOCKS_REQUIRED(mAutosuspendClientTokensLock); + void logKernelWakeLockStats(); std::condition_variable mAutosuspendCondVar GUARDED_BY(mAutosuspendLock); uint32_t mSuspendCounter GUARDED_BY(mAutosuspendLock);
diff --git a/suspend/1.0/default/SystemSuspendUnitTest.cpp b/suspend/1.0/default/SystemSuspendUnitTest.cpp index a4d58b5..6f19bbd 100644 --- a/suspend/1.0/default/SystemSuspendUnitTest.cpp +++ b/suspend/1.0/default/SystemSuspendUnitTest.cpp
@@ -338,8 +338,6 @@ ASSERT_TRUE(enabled); } -// TODO: Clean up binder tokens after soaking new implementation -/* TEST_F(SystemSuspendTest, BlockAutosuspendIfBinderIsDead) { class DeadBinder : public BBinder { android::status_t pingBinder() override { return android::UNKNOWN_ERROR; } @@ -408,7 +406,6 @@ ASSERT_FALSE(timedOut); } -*/ TEST_F(SystemSuspendTest, AutosuspendLoop) { checkLoop(5);
diff --git a/suspend/1.0/default/WakeLockEntryList.cpp b/suspend/1.0/default/WakeLockEntryList.cpp index a5b1de5..3c7fa3b 100644 --- a/suspend/1.0/default/WakeLockEntryList.cpp +++ b/suspend/1.0/default/WakeLockEntryList.cpp
@@ -247,6 +247,7 @@ TEMP_FAILURE_RETRY(openat(wakelockFd, statName.c_str(), O_CLOEXEC | O_RDONLY))}; if (statFd < 0) { PLOG(ERROR) << "Error opening " << statName << " for " << kwlId; + continue; } std::string valStr;
diff --git a/suspend/1.0/default/fuzzers/SuspendServiceFuzzer.cpp b/suspend/1.0/default/fuzzers/SuspendServiceFuzzer.cpp new file mode 100644 index 0000000..226fce0 --- /dev/null +++ b/suspend/1.0/default/fuzzers/SuspendServiceFuzzer.cpp
@@ -0,0 +1,30 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <fuzzbinder/libbinder_driver.h> + +#include "SuspendControlService.h" + +using ::android::fuzzService; +using ::android::sp; +using ::android::system::suspend::V1_0::SuspendControlService; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + signal(SIGPIPE, SIG_IGN); + sp<SuspendControlService> suspendControlService = sp<SuspendControlService>::make(); + fuzzService(suspendControlService, FuzzedDataProvider(data, size)); + return 0; +}
diff --git a/suspend/1.0/default/fuzzers/SuspendServiceInternalFuzzer.cpp b/suspend/1.0/default/fuzzers/SuspendServiceInternalFuzzer.cpp new file mode 100644 index 0000000..78b3f79 --- /dev/null +++ b/suspend/1.0/default/fuzzers/SuspendServiceInternalFuzzer.cpp
@@ -0,0 +1,29 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <fuzzbinder/libbinder_driver.h> + +#include "SuspendControlService.h" + +using ::android::fuzzService; +using ::android::sp; +using ::android::system::suspend::V1_0::SuspendControlServiceInternal; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + sp<SuspendControlServiceInternal> service = sp<SuspendControlServiceInternal>::make(); + fuzzService(service, FuzzedDataProvider(data, size)); + return 0; +}
diff --git a/suspend/1.0/default/main.cpp b/suspend/1.0/default/main.cpp index 6843dea..e8d7947 100644 --- a/suspend/1.0/default/main.cpp +++ b/suspend/1.0/default/main.cpp
@@ -14,23 +14,22 @@ * limitations under the License. */ +#include <SuspendProperties.sysprop.h> #include <android-base/logging.h> #include <android/binder_manager.h> +#include <android/hidl/manager/1.2/IServiceManager.h> #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> #include <binder/ProcessState.h> #include <cutils/native_handle.h> +#include <fcntl.h> #include <hidl/HidlTransportSupport.h> #include <hwbinder/ProcessState.h> - -#include <fcntl.h> #include <sys/socket.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> -#include <SuspendProperties.sysprop.h> - #include "SuspendControlService.h" #include "SystemSuspend.h" #include "SystemSuspendAidl.h" @@ -127,7 +126,8 @@ kDefaultShortSuspendBackoffEnabled), }; - configureRpcThreadpool(1, true /* callerWillJoin */); + // Create non-HW binder threadpool for SuspendControlService. + android::ProcessState::self()->startThreadPool(); sp<SuspendControlService> suspendControl = new SuspendControlService(); auto controlStatus = @@ -143,10 +143,6 @@ LOG(FATAL) << "Unable to register suspend_control_internal service: " << controlStatus; } - // Create non-HW binder threadpool for SuspendControlService. - sp<android::ProcessState> ps{android::ProcessState::self()}; - ps->startThreadPool(); - sp<SystemSuspend> suspend = new SystemSuspend( std::move(wakeupCountFd), std::move(stateFd), std::move(suspendStatsFd), kStatsCapacity, std::move(kernelWakelockStatsFd), std::move(wakeupReasonsFd), std::move(suspendTimeFd), @@ -161,13 +157,16 @@ CHECK_EQ(aidlStatus, STATUS_OK) << "Unable to register system-suspend AIDL service: " << aidlStatus; - sp<SystemSuspendHidl> suspendHidl = new SystemSuspendHidl(suspend.get()); - status_t hidlStatus = suspendHidl->registerAsService(); - if (android::OK != hidlStatus) { - LOG(INFO) << "system-suspend HIDL hal not supported, use the AIDL suspend hal for " - "requesting wakelocks"; + if (android::hidl::manager::V1_2::IServiceManager::Transport::HWBINDER == + android::hardware::defaultServiceManager1_2()->getTransport(SystemSuspendHidl::descriptor, + "default")) { + configureRpcThreadpool(1, false /* callerWillJoin */); + sp<SystemSuspendHidl> suspendHidl = new SystemSuspendHidl(suspend.get()); + status_t hidlStatus = suspendHidl->registerAsService(); + CHECK_EQ(hidlStatus, android::OK) + << "Unable to register system-suspend HIDL hal" << hidlStatus; } - - joinRpcThreadpool(); + // join the libbinder threadpool + android::IPCThreadState::self()->joinThreadPool(true /* isMain */); std::abort(); /* unreachable */ }
diff --git a/suspend/aidl/Android.bp b/suspend/aidl/Android.bp index 7d37089..e7f7062 100644 --- a/suspend/aidl/Android.bp +++ b/suspend/aidl/Android.bp
@@ -62,9 +62,6 @@ "com.android.btservices", ], min_sdk_version: "30", - vndk: { - enabled: true, - }, }, }, frozen: true,
diff --git a/wifi/keystore/1.0/default/Android.bp b/wifi/keystore/1.0/default/Android.bp index 109ae89..b2ff906 100644 --- a/wifi/keystore/1.0/default/Android.bp +++ b/wifi/keystore/1.0/default/Android.bp
@@ -27,5 +27,4 @@ "libutils", ], export_include_dirs: ["include"], - cpp_std: "c++17", }
diff --git a/wifi/keystore/1.0/default/test/Android.bp b/wifi/keystore/1.0/default/test/Android.bp index 3d874ea..23e7772 100644 --- a/wifi/keystore/1.0/default/test/Android.bp +++ b/wifi/keystore/1.0/default/test/Android.bp
@@ -15,6 +15,7 @@ // package { + default_team: "trendy_team_fwk_wifi_hal", default_applicable_licenses: ["Android-Apache-2.0"], }