From fd0af36ae36cb2f780f4416e50ce7cec0d120862 Mon Sep 17 00:00:00 2001 From: Mikhail Naganov Date: Mon, 3 Oct 2022 22:11:30 +0000 Subject: [PATCH] audio: Provide boxed types for remaining primitive types Add Boolean, Byte, Double, Float, Long parcelables that wrap the corresponding primitive type. This is similar to the already existing Int type. Boxed types can be made @nullable, passed as 'inout' parameters, etc. Bug: 205884982 Test: m Change-Id: I0328f0b3a37835bf1f320fc35156c078a42ca067 Signed-off-by: Pranav Vashi --- media/Android.bp | 5 +++ .../android/media/audio/common/Boolean.aidl | 29 ++++++++++++++ .../aidl/android/media/audio/common/Byte.aidl | 29 ++++++++++++++ .../android/media/audio/common/Double.aidl | 29 ++++++++++++++ .../android/media/audio/common/Float.aidl | 29 ++++++++++++++ .../aidl/android/media/audio/common/Long.aidl | 29 ++++++++++++++ .../android/media/audio/common/Boolean.aidl | 39 +++++++++++++++++++ .../android/media/audio/common/Byte.aidl | 39 +++++++++++++++++++ .../android/media/audio/common/Double.aidl | 39 +++++++++++++++++++ .../android/media/audio/common/Float.aidl | 39 +++++++++++++++++++ .../android/media/audio/common/Long.aidl | 39 +++++++++++++++++++ 11 files changed, 345 insertions(+) create mode 100644 media/aidl/android/media/audio/common/Boolean.aidl create mode 100644 media/aidl/android/media/audio/common/Byte.aidl create mode 100644 media/aidl/android/media/audio/common/Double.aidl create mode 100644 media/aidl/android/media/audio/common/Float.aidl create mode 100644 media/aidl/android/media/audio/common/Long.aidl create mode 100644 media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Boolean.aidl create mode 100644 media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Byte.aidl create mode 100644 media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Double.aidl create mode 100644 media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Float.aidl create mode 100644 media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Long.aidl diff --git a/media/Android.bp b/media/Android.bp index b45d69489add9..b3397ad5ffedd 100644 --- a/media/Android.bp +++ b/media/Android.bp @@ -88,8 +88,13 @@ aidl_interface { "aidl/android/media/audio/common/AudioStreamType.aidl", "aidl/android/media/audio/common/AudioUsage.aidl", "aidl/android/media/audio/common/AudioUuid.aidl", + "aidl/android/media/audio/common/Boolean.aidl", + "aidl/android/media/audio/common/Byte.aidl", "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/Int.aidl", + "aidl/android/media/audio/common/Long.aidl", "aidl/android/media/audio/common/PcmType.aidl", ], stability: "vintf", diff --git a/media/aidl/android/media/audio/common/Boolean.aidl b/media/aidl/android/media/audio/common/Boolean.aidl new file mode 100644 index 0000000000000..fddd5324c534b --- /dev/null +++ b/media/aidl/android/media/audio/common/Boolean.aidl @@ -0,0 +1,29 @@ +/* + * 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. + */ + +package android.media.audio.common; + +/** + * This is a simple wrapper around a 'boolean', putting it in a parcelable, so it + * can be used as an 'inout' parameter, be made '@nullable', etc. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable Boolean { + boolean value; +} diff --git a/media/aidl/android/media/audio/common/Byte.aidl b/media/aidl/android/media/audio/common/Byte.aidl new file mode 100644 index 0000000000000..f0a31a2818bf4 --- /dev/null +++ b/media/aidl/android/media/audio/common/Byte.aidl @@ -0,0 +1,29 @@ +/* + * 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. + */ + +package android.media.audio.common; + +/** + * This is a simple wrapper around a 'byte', putting it in a parcelable, so it + * can be used as an 'inout' parameter, be made '@nullable', etc. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable Byte { + byte value; +} diff --git a/media/aidl/android/media/audio/common/Double.aidl b/media/aidl/android/media/audio/common/Double.aidl new file mode 100644 index 0000000000000..d7ab7b8f64316 --- /dev/null +++ b/media/aidl/android/media/audio/common/Double.aidl @@ -0,0 +1,29 @@ +/* + * 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. + */ + +package android.media.audio.common; + +/** + * This is a simple wrapper around a 'double', putting it in a parcelable, so it + * can be used as an 'inout' parameter, be made '@nullable', etc. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable Double { + double value; +} diff --git a/media/aidl/android/media/audio/common/Float.aidl b/media/aidl/android/media/audio/common/Float.aidl new file mode 100644 index 0000000000000..4c5257efa56eb --- /dev/null +++ b/media/aidl/android/media/audio/common/Float.aidl @@ -0,0 +1,29 @@ +/* + * 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. + */ + +package android.media.audio.common; + +/** + * This is a simple wrapper around a 'float', putting it in a parcelable, so it + * can be used as an 'inout' parameter, be made '@nullable', etc. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable Float { + float value; +} diff --git a/media/aidl/android/media/audio/common/Long.aidl b/media/aidl/android/media/audio/common/Long.aidl new file mode 100644 index 0000000000000..a4aeb53619c05 --- /dev/null +++ b/media/aidl/android/media/audio/common/Long.aidl @@ -0,0 +1,29 @@ +/* + * 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. + */ + +package android.media.audio.common; + +/** + * This is a simple wrapper around a 'long', putting it in a parcelable, so it + * can be used as an 'inout' parameter, be made '@nullable', etc. + * + * {@hide} + */ +@JavaDerive(equals=true, toString=true) +@VintfStability +parcelable Long { + long value; +} diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Boolean.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Boolean.aidl new file mode 100644 index 0000000000000..bc996e441ba36 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/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 -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/current/android/media/audio/common/Byte.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Byte.aidl new file mode 100644 index 0000000000000..604e74dbf5603 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/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 -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/current/android/media/audio/common/Double.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Double.aidl new file mode 100644 index 0000000000000..a525629f2753b --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/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 -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/current/android/media/audio/common/Float.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Float.aidl new file mode 100644 index 0000000000000..af98eab83dfd8 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/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 -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/current/android/media/audio/common/Long.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/Long.aidl new file mode 100644 index 0000000000000..e403dd3fd4ea9 --- /dev/null +++ b/media/aidl_api/android.media.audio.common.types/current/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 -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; +}