diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-03 15:58:50 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-03 15:58:50 +0000 |
commit | a5135db5627c8caa575ec05b1fe07d5d6bd1af92 (patch) | |
tree | 1eefeea1202bb5ea03a31679001aaced02df7e30 | |
parent | 106a7a64d84dc80c9e078ae16129084e3a746e64 (diff) | |
parent | d06d34ef1ec9495bcdb8d990a6cf0938fab0aab1 (diff) | |
download | interfaces-aml_adb_340912530.tar.gz |
Snap for 10428683 from d06d34ef1ec9495bcdb8d990a6cf0938fab0aab1 to mainline-adbd-releaseaml_adb_341520010aml_adb_341517070aml_adb_340912530aml_adb_340912350aml_adb_340912200aml_adb_340912000android14-mainline-adbd-release
Change-Id: Ia5890d630e08f362b72d464e22af8ba9a753c9df
52 files changed, 1901 insertions, 7 deletions
diff --git a/bluetooth/ccc/aidl/Android.bp b/bluetooth/ccc/aidl/Android.bp new file mode 100644 index 0000000..9b623ff --- /dev/null +++ b/bluetooth/ccc/aidl/Android.bp @@ -0,0 +1,21 @@ +package { + // See: http://go/android-license-faq + default_applicable_licenses: ["Android-Apache-2.0"], +} + +aidl_interface { + name: "hardware.google.bluetooth.ccc", + owner: "google", + vendor_available: true, + host_supported: true, + srcs: ["hardware/google/bluetooth/ccc/*.aidl"], + stability: "vintf", + backend: { + cpp: { + enabled: true, + }, + java: { + platform_apis: true, + }, + }, +} diff --git a/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Direction.aidl b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Direction.aidl new file mode 100644 index 0000000..ffb9a72 --- /dev/null +++ b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Direction.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.bluetooth.ccc; +@Backing(type="byte") @VintfStability +enum Direction { + TX = 0x00, + RX = 0x01, +} diff --git a/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl new file mode 100644 index 0000000..86be4fa --- /dev/null +++ b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.bluetooth.ccc; +@VintfStability +interface IBluetoothCcc { + void registerForLmpEvents(in hardware.google.bluetooth.ccc.IBluetoothCccCallback callback, in byte[6] address, in hardware.google.bluetooth.ccc.LmpEventId[] lmpEventIds); + void unregisterLmpEvents(in byte[6] address); +} diff --git a/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl new file mode 100644 index 0000000..4c15a39 --- /dev/null +++ b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.bluetooth.ccc; +@VintfStability +interface IBluetoothCccCallback { + void onEventGenerated(in hardware.google.bluetooth.ccc.Timestamp timestamp, in byte[6] address, in hardware.google.bluetooth.ccc.Direction direction, in hardware.google.bluetooth.ccc.LmpEventId lmpEventId, in char connEventCounter); + void onRegistered(in boolean status); +} diff --git a/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/LmpEventId.aidl b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/LmpEventId.aidl new file mode 100644 index 0000000..9e0f3e1 --- /dev/null +++ b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/LmpEventId.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.bluetooth.ccc; +@Backing(type="byte") @VintfStability +enum LmpEventId { + CONNECT_IND = 0x00, + LL_PHY_UPDATE_IND = 0x01, +} diff --git a/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Timestamp.aidl b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Timestamp.aidl new file mode 100644 index 0000000..4a4f9a4 --- /dev/null +++ b/bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Timestamp.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.bluetooth.ccc; +@VintfStability +parcelable Timestamp { + long systemTime; + long bluetoothTime; +} diff --git a/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Direction.aidl b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Direction.aidl new file mode 100644 index 0000000..4d05062 --- /dev/null +++ b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Direction.aidl @@ -0,0 +1,27 @@ +/* + * 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 hardware.google.bluetooth.ccc; + +/** + * Direction of the LMP event + */ +@VintfStability +@Backing(type="byte") +enum Direction { + TX = 0x00, + RX = 0x01, +} diff --git a/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl new file mode 100644 index 0000000..a05e51e --- /dev/null +++ b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl @@ -0,0 +1,42 @@ +/* + * 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 hardware.google.bluetooth.ccc; + +import hardware.google.bluetooth.ccc.IBluetoothCccCallback; +import hardware.google.bluetooth.ccc.LmpEventId; +import hardware.google.bluetooth.ccc.IBluetoothCccCallback; + +@VintfStability +interface IBluetoothCcc { + /** + * API to monitor Bluetooth and system timestamp for given Bluetooth device when Bluetooth + * controller send/receive given LMP events. + * + * @param callback An instance of the |IBluetoothCccCallback| HIDL interface object. + * @param address Bluetooth address to monitor. + * @param lmpEventIds LMP events to monitor. + */ + void registerForLmpEvents(in IBluetoothCccCallback callback, in byte[6] address, + in LmpEventId[] lmpEventIds); + + /** + * API to stop monitoring a given Bluetooth device. + * + * @param address Bluetooth device to stop monitoring. + */ + void unregisterLmpEvents(in byte[6] address); +} diff --git a/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl new file mode 100644 index 0000000..d0863e5 --- /dev/null +++ b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl @@ -0,0 +1,41 @@ +/* + * 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 hardware.google.bluetooth.ccc; + +import hardware.google.bluetooth.ccc.Direction; +import hardware.google.bluetooth.ccc.LmpEventId; +import hardware.google.bluetooth.ccc.Timestamp; + +@VintfStability +interface IBluetoothCccCallback { + /** + * Callback when monitored LMP event invoked. + * + * @param timestamp Timestamp when the LMP event invoked + * @param address Remote bluetooth address that invoke LMP event + * @param direction Direction of the invoked LMP event + * @param lmpEventId LMP event id that bluetooth chip invoked + * @param connEventCounter counter incremented by one for each new connection event + */ + void onEventGenerated(in Timestamp timestamp, in byte[6] address, in Direction direction, + in LmpEventId lmpEventId, in char connEventCounter); + + /** + * Callback when registration done. + */ + void onRegistered(in boolean status); +} diff --git a/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/LmpEventId.aidl b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/LmpEventId.aidl new file mode 100644 index 0000000..45835f5 --- /dev/null +++ b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/LmpEventId.aidl @@ -0,0 +1,29 @@ +/* + * 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 hardware.google.bluetooth.ccc; + +/** + * LMP event id to be monitored + * CONNECT_IND indicator for initiating connection, timestamp will be at the anchor point + * LL_PHY_UPDATE_IND indicator for PHY update + */ +@VintfStability +@Backing(type="byte") +enum LmpEventId { + CONNECT_IND = 0x00, + LL_PHY_UPDATE_IND = 0x01, +} diff --git a/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Timestamp.aidl b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Timestamp.aidl new file mode 100644 index 0000000..97eff69 --- /dev/null +++ b/bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Timestamp.aidl @@ -0,0 +1,32 @@ +/* + * 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 hardware.google.bluetooth.ccc; + +/** + * Generic structure to return the timestamp + */ +@VintfStability +parcelable Timestamp { + /** + * Timestamp in microsecond since system boot. + */ + long systemTime; + /** + * Timestamp in microsecond since Bluetooth controller power up. + */ + long bluetoothTime; +} diff --git a/bluetooth/sar/aidl/Android.bp b/bluetooth/sar/aidl/Android.bp new file mode 100644 index 0000000..557081e --- /dev/null +++ b/bluetooth/sar/aidl/Android.bp @@ -0,0 +1,21 @@ +package { + // See: http://go/android-license-faq + default_applicable_licenses: ["Android-Apache-2.0"], +} + +aidl_interface { + name: "hardware.google.bluetooth.sar", + owner: "google", + vendor_available: true, + srcs: ["hardware/google/bluetooth/sar/*.aidl"], + stability: "vintf", + + backend: { + cpp: { + enabled: true, + }, + java: { + platform_apis: true, + }, + }, +} diff --git a/bluetooth/sar/aidl/aidl_api/hardware.google.bluetooth.sar/current/hardware/google/bluetooth/sar/IBluetoothSar.aidl b/bluetooth/sar/aidl/aidl_api/hardware.google.bluetooth.sar/current/hardware/google/bluetooth/sar/IBluetoothSar.aidl new file mode 100644 index 0000000..a7b2d7f --- /dev/null +++ b/bluetooth/sar/aidl/aidl_api/hardware.google.bluetooth.sar/current/hardware/google/bluetooth/sar/IBluetoothSar.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 hardware.google.bluetooth.sar; +@VintfStability +interface IBluetoothSar { + oneway void setBluetoothTxPowerCap(in byte cap); + oneway void setBluetoothTechBasedTxPowerCap(in byte brCap, in byte edrCap, in byte bleCap); + oneway void setBluetoothModeBasedTxPowerCap(in byte[3] chain0Cap, in byte[3] chain1Cap, in byte[6] beamformingCap); + oneway void setBluetoothModeBasedTxPowerCapPlusHR(in byte[4] chain0Cap, in byte[4] chain1Cap, in byte[8] beamformingCap); + oneway void setBluetoothAreaCode(in int areaCode); +} diff --git a/bluetooth/sar/aidl/hardware/google/bluetooth/sar/IBluetoothSar.aidl b/bluetooth/sar/aidl/hardware/google/bluetooth/sar/IBluetoothSar.aidl new file mode 100644 index 0000000..023f634 --- /dev/null +++ b/bluetooth/sar/aidl/hardware/google/bluetooth/sar/IBluetoothSar.aidl @@ -0,0 +1,97 @@ +/* + * 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. + */ + +package hardware.google.bluetooth.sar; + +@VintfStability +interface IBluetoothSar { + /** + * API to set Bluetooth Tx power cap. + * + * This API must be invoked whenever maximum Bluetooth Tx power needs to + * changed for optimising performance purpose in SAR scenarios. + * + * @param cap Bluetooth Tx cap. Range is between 0 and 80 units, + * each unit is 0.25 dBm. + */ + oneway void setBluetoothTxPowerCap(in byte cap); + + /** + * API to set Bluetooth Tx power cap of each tech. + * + * This API must be invoked whenever maximum Bluetooth Tx power for BR, EDR + * and BLE needs to changed for optimising performance purpose in SAR + * scenarios. + * + * @param brCap Bluetooth Tx cap. Range is between 0 and 80 units, + * each unit is 0.25 dBm. + * @param edrCap Bluetooth Tx cap. Range is between 0 and 80 units, + * each unit is 0.25 dBm. + * @param bleCap Bluetooth Tx cap. Range is between 0 and 80 units, + * each unit is 0.25 dBm. + */ + oneway void setBluetoothTechBasedTxPowerCap(in byte brCap, in byte edrCap, + in byte bleCap); + + /** + * API to set Bluetooth Tx power cap of each mode + * + * This API must be invoked whenever maximum Bluetooth Tx power of each mode + * (BDR, EDR, BLE), including chain 0, chain 1 and beamforming mode, needs to + * be changed for optimising performance purpose in SAR scenarios. + * + * @param chain0Cap Bluetooth Tx cap of chain 0 mode. Range is between 0 and + * 80 units, each unit is 0.25 dBm. + * @param chain1Cap Bluetooth Tx cap of chain 1 mode. Range is between 0 and + * 80 units, each unit is 0.25 dBm. + * @param beamformingCap Bluetooth Tx cap of beamforming mode. Range is + * between 0 and 80 units, each unit is 0.25 dBm. + */ + oneway void setBluetoothModeBasedTxPowerCap(in byte[3] chain0Cap, + in byte[3] chain1Cap, + in byte[6] beamformingCap); + + /** + * API to set Bluetooth Tx power cap of each mode + * + * This API must be invoked whenever maximum Bluetooth Tx power of each mode + * (BDR, EDR, BLE, HR), including chain 0, chain 1 and beamforming mode, needs + * to be changed for optimising performance purpose in SAR scenarios. + * + * @param chain0Cap Bluetooth Tx cap of chain 0 mode. Range is between 0 and + * 80 units, each unit is 0.25 dBm. + * @param chain1Cap Bluetooth Tx cap of chain 1 mode. Range is between 0 and + * 80 units, each unit is 0.25 dBm. + * @param beamformingCap Bluetooth Tx cap of beamforming mode. Range is + * between 0 and 80 units, each unit is 0.25 dBm. + */ + + oneway void setBluetoothModeBasedTxPowerCapPlusHR(in byte[4] chain0Cap, + in byte[4] chain1Cap, + in byte[8] beamformingCap); + + /** + * API to set Bluetooth RF regulation area + * + * This API must be invoked whenever the maximum Bluetooth Tx power needs to + * be changed due to changing of located area. + * + * @param a 3-digit country area code using the ISO 3166-1 numeric standard, + * between 0-899. 900-999 may be user-assigned by vendor to add further names + * of countries, territories, or regions. + */ + oneway void setBluetoothAreaCode(in int areaCode); +} diff --git a/display/Android.bp b/display/Android.bp index 879ee15..818e2b1 100644 --- a/display/Android.bp +++ b/display/Android.bp @@ -5,6 +5,7 @@ package { aidl_interface { name: "com.google.hardware.pixel.display", + owner: "google", vendor_available: true, srcs: [ "com/google/hardware/pixel/display/*.aidl", @@ -14,7 +15,7 @@ aidl_interface { imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", ], backend: { @@ -30,42 +31,56 @@ aidl_interface { version: "1", imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", ], }, { version: "2", imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", ], }, { version: "3", imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", ], }, { version: "4", imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", ], }, { version: "5", imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", ], }, { version: "6", imports: [ "android.hardware.common-V2", - "android.hardware.graphics.common-V3", + "android.hardware.graphics.common-V4", + ], + }, + { + version: "7", + imports: [ + "android.hardware.common-V2", + "android.hardware.graphics.common-V4", + ], + }, + { + version: "8", + imports: [ + "android.hardware.common-V2", + "android.hardware.graphics.common-V4", ], }, diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/.hash b/display/aidl_api/com.google.hardware.pixel.display/7/.hash new file mode 100644 index 0000000..9eca964 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/.hash @@ -0,0 +1 @@ +99c5ed606b5ee46b8fbc7f23c71b668e958f562c diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HbmState.aidl new file mode 100644 index 0000000..76af8b3 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HbmState.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HbmState { + OFF = 0, + HDR = 1, + SUNLIGHT = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramErrorCode.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramErrorCode.aidl new file mode 100644 index 0000000..5ace70d --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramErrorCode.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramErrorCode { + NONE = 0, + BAD_ROI = 1, + BAD_WEIGHT = 2, + BAD_POSITION = 3, + BAD_PRIORITY = 4, + ENABLE_HIST_ERROR = 5, + DISABLE_HIST_ERROR = 6, + BAD_HIST_DATA = 7, + DRM_PLAYING = 8, + DISPLAY_POWEROFF = 9, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramPos.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramPos.aidl new file mode 100644 index 0000000..20b8160 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramPos.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramPos { + POST = 0, + PRE = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/IDisplay.aidl new file mode 100644 index 0000000..30f19b2 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/IDisplay.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 com.google.hardware.pixel.display; +@VintfStability +interface IDisplay { + boolean isHbmSupported(); + void setHbmState(in com.google.hardware.pixel.display.HbmState state); + com.google.hardware.pixel.display.HbmState getHbmState(); + boolean isLbeSupported(); + void setLbeState(in com.google.hardware.pixel.display.LbeState state); + void setLbeAmbientLight(in int ambientLux); + com.google.hardware.pixel.display.LbeState getLbeState(); + boolean isLhbmSupported(); + void setLhbmState(in boolean enabled); + boolean getLhbmState(); + int setCompensationImageHandle(in android.hardware.common.NativeHandle native_handle, in String imageName); + int setMinIdleRefreshRate(in int fps); + int setRefreshRateThrottle(in int delayMs); + com.google.hardware.pixel.display.HistogramErrorCode histogramSample(in android.hardware.graphics.common.Rect roi, in com.google.hardware.pixel.display.Weight weight, in com.google.hardware.pixel.display.HistogramPos pos, in com.google.hardware.pixel.display.Priority pri, out char[] histogrambuffer); + com.google.hardware.pixel.display.PanelCalibrationStatus getPanelCalibrationStatus(); + boolean isDbmSupported(); + void setDbmState(in boolean enabled); +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/LbeState.aidl new file mode 100644 index 0000000..8c8b53e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/LbeState.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum LbeState { + OFF = 0, + NORMAL = 1, + HIGH_BRIGHTNESS = 2, + POWER_SAVE = 3, + HIGH_BRIGHTNESS_ENHANCE = 4, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl new file mode 100644 index 0000000..55271d0 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl @@ -0,0 +1,40 @@ +/* + * 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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum PanelCalibrationStatus { + ORIGINAL = 0, + GOLDEN = 1, + UNCALIBRATED = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Priority.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Priority.aidl new file mode 100644 index 0000000..2b2c957 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Priority.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum Priority { + NORMAL = 0, + PRIORITY = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Weight.aidl b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Weight.aidl new file mode 100644 index 0000000..e25da1e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Weight.aidl @@ -0,0 +1,40 @@ +/* + * 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 com.google.hardware.pixel.display; +@VintfStability +parcelable Weight { + char weightR; + char weightG; + char weightB; +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/.hash b/display/aidl_api/com.google.hardware.pixel.display/8/.hash new file mode 100644 index 0000000..1092669 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/.hash @@ -0,0 +1 @@ +bc1f6bb0795c6fd2ac5f4c24e68acbc712461819 diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HbmState.aidl new file mode 100644 index 0000000..76af8b3 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HbmState.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HbmState { + OFF = 0, + HDR = 1, + SUNLIGHT = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramErrorCode.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramErrorCode.aidl new file mode 100644 index 0000000..5ace70d --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramErrorCode.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramErrorCode { + NONE = 0, + BAD_ROI = 1, + BAD_WEIGHT = 2, + BAD_POSITION = 3, + BAD_PRIORITY = 4, + ENABLE_HIST_ERROR = 5, + DISABLE_HIST_ERROR = 6, + BAD_HIST_DATA = 7, + DRM_PLAYING = 8, + DISPLAY_POWEROFF = 9, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramPos.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramPos.aidl new file mode 100644 index 0000000..20b8160 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramPos.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramPos { + POST = 0, + PRE = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/IDisplay.aidl new file mode 100644 index 0000000..5ffbd42 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/IDisplay.aidl @@ -0,0 +1,57 @@ +/* + * 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 com.google.hardware.pixel.display; +@VintfStability +interface IDisplay { + boolean isHbmSupported(); + void setHbmState(in com.google.hardware.pixel.display.HbmState state); + com.google.hardware.pixel.display.HbmState getHbmState(); + boolean isLbeSupported(); + void setLbeState(in com.google.hardware.pixel.display.LbeState state); + void setLbeAmbientLight(in int ambientLux); + com.google.hardware.pixel.display.LbeState getLbeState(); + boolean isLhbmSupported(); + void setLhbmState(in boolean enabled); + boolean getLhbmState(); + int setCompensationImageHandle(in android.hardware.common.NativeHandle native_handle, in String imageName); + int setMinIdleRefreshRate(in int fps); + int setRefreshRateThrottle(in int delayMs); + com.google.hardware.pixel.display.HistogramErrorCode histogramSample(in android.hardware.graphics.common.Rect roi, in com.google.hardware.pixel.display.Weight weight, in com.google.hardware.pixel.display.HistogramPos pos, in com.google.hardware.pixel.display.Priority pri, out char[] histogrambuffer); + com.google.hardware.pixel.display.PanelCalibrationStatus getPanelCalibrationStatus(); + boolean isDbmSupported(); + void setDbmState(in boolean enabled); + void setPeakRefreshRate(in int rate); + void setLowPowerMode(in boolean enabled); + boolean isOperationRateSupported(); +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/LbeState.aidl new file mode 100644 index 0000000..8c8b53e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/LbeState.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum LbeState { + OFF = 0, + NORMAL = 1, + HIGH_BRIGHTNESS = 2, + POWER_SAVE = 3, + HIGH_BRIGHTNESS_ENHANCE = 4, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl new file mode 100644 index 0000000..55271d0 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl @@ -0,0 +1,40 @@ +/* + * 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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum PanelCalibrationStatus { + ORIGINAL = 0, + GOLDEN = 1, + UNCALIBRATED = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Priority.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Priority.aidl new file mode 100644 index 0000000..2b2c957 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Priority.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 com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum Priority { + NORMAL = 0, + PRIORITY = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Weight.aidl b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Weight.aidl new file mode 100644 index 0000000..e25da1e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Weight.aidl @@ -0,0 +1,40 @@ +/* + * 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 com.google.hardware.pixel.display; +@VintfStability +parcelable Weight { + char weightR; + char weightG; + char weightB; +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl index 173b274..5ffbd42 100644 --- a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl +++ b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl @@ -49,4 +49,9 @@ interface IDisplay { int setRefreshRateThrottle(in int delayMs); com.google.hardware.pixel.display.HistogramErrorCode histogramSample(in android.hardware.graphics.common.Rect roi, in com.google.hardware.pixel.display.Weight weight, in com.google.hardware.pixel.display.HistogramPos pos, in com.google.hardware.pixel.display.Priority pri, out char[] histogrambuffer); com.google.hardware.pixel.display.PanelCalibrationStatus getPanelCalibrationStatus(); + boolean isDbmSupported(); + void setDbmState(in boolean enabled); + void setPeakRefreshRate(in int rate); + void setLowPowerMode(in boolean enabled); + boolean isOperationRateSupported(); } diff --git a/display/com/google/hardware/pixel/display/IDisplay.aidl b/display/com/google/hardware/pixel/display/IDisplay.aidl index b242b65..e34f779 100644 --- a/display/com/google/hardware/pixel/display/IDisplay.aidl +++ b/display/com/google/hardware/pixel/display/IDisplay.aidl @@ -173,4 +173,47 @@ interface IDisplay { */ PanelCalibrationStatus getPanelCalibrationStatus(); + + /** + * Query Dim Brightness Mode Supported. The dim brightness is a lower minimum brightness, + * which is not listed in the brightness table. This API is to query whether the dim + * brightness mode is supported or not. + * + * @return true if Dim Brightness Mode is supported on this platform, false otherwise. + */ + boolean isDbmSupported(); + + /** + * Set Dim Brightness Mode. If enabled, it will set the dim brightness when reaching the + * minimum brightness which can be different from the actual minimum brightness from the + * brightness table we can achieve. + * + * @param enabled true to enable, false to disable the mode. + */ + void setDbmState(in boolean enabled); + + /** + * Set Display Peak Refresh Rate + * + * @param rate (frame per second). + */ + void setPeakRefreshRate(in int rate); + + /** + * Set Low Power Mode + * + * @param enabled. + */ + void setLowPowerMode(in boolean enabled); + + /** + * Query Operation Rate supporting status. Only if the display panel supports + * operation rate switching, peak refresh rate and low power mode status from Android + * framework are needed to forward into lower display software which manages operation + * rate. + * + * @return true if operation rate switch is supported. + * false if not supported. + */ + boolean isOperationRateSupported(); } diff --git a/power/Android.bp b/power/Android.bp index 41269ba..5d3defd 100644 --- a/power/Android.bp +++ b/power/Android.bp @@ -5,6 +5,7 @@ package { aidl_interface { name: "pixel-power-ext", + owner: "google", vendor_available: true, srcs: [ "google/hardware/power/extension/pixel/IPowerExt.aidl", diff --git a/ril_ext/Android.bp b/ril_ext/Android.bp new file mode 100644 index 0000000..63ecd37 --- /dev/null +++ b/ril_ext/Android.bp @@ -0,0 +1,22 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +aidl_interface { + name: "hardware.google.ril_ext", + owner: "google", + vendor_available: true, + srcs: ["hardware/google/ril_ext/*.aidl"], + stability: "vintf", + backend: { + cpp: { + enabled: true, + }, + java: { + sdk_version: "module_current", + }, + ndk: { + enabled: true, + }, + }, +} diff --git a/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/CarrierConfig.aidl b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/CarrierConfig.aidl new file mode 100644 index 0000000..b863898 --- /dev/null +++ b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/CarrierConfig.aidl @@ -0,0 +1,49 @@ +/* + * 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 hardware.google.ril_ext; +@VintfStability +parcelable CarrierConfig { + String configKey; + hardware.google.ril_ext.CarrierConfig.ConfigValue configValue; + union ConfigValue { + boolean boolValue; + boolean[] boolArray; + int intValue; + int[] intArray; + long longValue; + long[] longArray; + String stringValue; + String[] stringArray; + } +} diff --git a/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExt.aidl b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExt.aidl new file mode 100644 index 0000000..7dcbfa1 --- /dev/null +++ b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExt.aidl @@ -0,0 +1,40 @@ +/* + * 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 hardware.google.ril_ext; +@VintfStability +interface IRilExt { + void setCallback(in hardware.google.ril_ext.IRilExtResponse rilExtResponse, in hardware.google.ril_ext.IRilExtIndication rilExtIndication); + void sendCarrierId(in int serial, in int carrierId); + void sendCarrierConfigs(in int serial, in hardware.google.ril_ext.CarrierConfig[] carrierConfigs); +} diff --git a/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtIndication.aidl b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtIndication.aidl new file mode 100644 index 0000000..2db2705 --- /dev/null +++ b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtIndication.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.ril_ext; +@VintfStability +interface IRilExtIndication { + void registerCarrierConfigChange(in String[] registeredKeys, in String[] unregisteredKeys); + void triggerBugreport(in String title); +} diff --git a/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtResponse.aidl b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtResponse.aidl new file mode 100644 index 0000000..a5dfb2b --- /dev/null +++ b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtResponse.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.ril_ext; +@VintfStability +interface IRilExtResponse { + void sendCarrierIdResponse(in hardware.google.ril_ext.RilResponseInfo info); + void sendCarrierConfigsResponse(in hardware.google.ril_ext.RilResponseInfo info); +} diff --git a/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilError.aidl b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilError.aidl new file mode 100644 index 0000000..66ec05f --- /dev/null +++ b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilError.aidl @@ -0,0 +1,41 @@ +/* + * 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 hardware.google.ril_ext; +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RilError { + NONE = 0, + GENERIC_FAILURE = 1, + REQUEST_NOT_SUPPORTED = 2, + NO_MEMORY = 3, +} diff --git a/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilResponseInfo.aidl b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilResponseInfo.aidl new file mode 100644 index 0000000..88e8648 --- /dev/null +++ b/ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilResponseInfo.aidl @@ -0,0 +1,39 @@ +/* + * 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 hardware.google.ril_ext; +@JavaDerive(toString=true) @VintfStability +parcelable RilResponseInfo { + int serial; + hardware.google.ril_ext.RilError error; +} diff --git a/ril_ext/hardware/google/ril_ext/CarrierConfig.aidl b/ril_ext/hardware/google/ril_ext/CarrierConfig.aidl new file mode 100644 index 0000000..37d89b7 --- /dev/null +++ b/ril_ext/hardware/google/ril_ext/CarrierConfig.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ + +package hardware.google.ril_ext; + +@VintfStability +parcelable CarrierConfig { + union ConfigValue { + boolean boolValue; + boolean[] boolArray; + int intValue; + int[] intArray; + long longValue; + long[] longArray; + String stringValue; + String[] stringArray; + } + + /** + * The name of the carrier config. + */ + String configKey; + /** + * The config value associated with the configKey. + */ + ConfigValue configValue; +} diff --git a/ril_ext/hardware/google/ril_ext/IRilExt.aidl b/ril_ext/hardware/google/ril_ext/IRilExt.aidl new file mode 100644 index 0000000..71fc580 --- /dev/null +++ b/ril_ext/hardware/google/ril_ext/IRilExt.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ + +package hardware.google.ril_ext; + +import hardware.google.ril_ext.CarrierConfig; + +@VintfStability +interface IRilExt { + /** + * Set response functions for requests and indications. + * + * @param rilExtResponse Object containing response functions + * @param rilExtIndication Object containing radio indications + */ + void setCallback(in hardware.google.ril_ext.IRilExtResponse rilExtResponse, + in hardware.google.ril_ext.IRilExtIndication rilExtIndication); + /** + * Set carrier ID to RIL HAL. + * + * @param serial Serial number of request + * @param carrierId Android carrier ID + * + * Response function is IRilExtResponse.sendCarrierIdResponse() + */ + void sendCarrierId(in int serial, in int carrierId); + /** + * Forward a list of the interested carrier configuration to RIL HAL. + * + * @param serial Serial number of request + * @param carrierConfigs A list of carrier configs which are key/value pairs + * + * Response function is IRilExtResponse.sendCarrierConfigsResponse(). + */ + void sendCarrierConfigs(in int serial, in CarrierConfig[] carrierConfigs); +} diff --git a/ril_ext/hardware/google/ril_ext/IRilExtIndication.aidl b/ril_ext/hardware/google/ril_ext/IRilExtIndication.aidl new file mode 100644 index 0000000..16c0ca1 --- /dev/null +++ b/ril_ext/hardware/google/ril_ext/IRilExtIndication.aidl @@ -0,0 +1,34 @@ +/* + * 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. + */ + +package hardware.google.ril_ext; + +@VintfStability +interface IRilExtIndication { + /** + * Register or unregister the interested carrier configurations. + * + * @param registeredKeys A list of the interested carrier configurations + * @param unregisteredKeys A list of the uninterested carrier configurations + */ + void registerCarrierConfigChange(in String[] registeredKeys, in String[] unregisteredKeys); + /** + * Trigger bugreport to report RIL issues. + * + * @param title The title of the bugreport + */ + void triggerBugreport(in String title); +} diff --git a/ril_ext/hardware/google/ril_ext/IRilExtResponse.aidl b/ril_ext/hardware/google/ril_ext/IRilExtResponse.aidl new file mode 100644 index 0000000..e662458 --- /dev/null +++ b/ril_ext/hardware/google/ril_ext/IRilExtResponse.aidl @@ -0,0 +1,31 @@ +/* + * 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. + */ + +package hardware.google.ril_ext; + +import hardware.google.ril_ext.RilResponseInfo; + +@VintfStability +interface IRilExtResponse { + /** + * @param info Response info struct containing serial no. and error + */ + void sendCarrierIdResponse(in RilResponseInfo info); + /** + * @param info Response info struct containing serial no. and error + */ + void sendCarrierConfigsResponse(in RilResponseInfo info); +} diff --git a/ril_ext/hardware/google/ril_ext/RilError.aidl b/ril_ext/hardware/google/ril_ext/RilError.aidl new file mode 100644 index 0000000..a508d8f --- /dev/null +++ b/ril_ext/hardware/google/ril_ext/RilError.aidl @@ -0,0 +1,36 @@ +/* + * 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. + */ + +package hardware.google.ril_ext; + +@VintfStability +@Backing(type="int") +@JavaDerive(toString=true) +enum RilError { + /** + * Success + */ + NONE = 0, + GENERIC_FAILURE = 1, + /** + * Optional API + */ + REQUEST_NOT_SUPPORTED = 2, + /** + * Not sufficieent memory to process the request + */ + NO_MEMORY = 3, +} diff --git a/ril_ext/hardware/google/ril_ext/RilResponseInfo.aidl b/ril_ext/hardware/google/ril_ext/RilResponseInfo.aidl new file mode 100644 index 0000000..f258376 --- /dev/null +++ b/ril_ext/hardware/google/ril_ext/RilResponseInfo.aidl @@ -0,0 +1,32 @@ +/* + * 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. + */ + +package hardware.google.ril_ext; + +import hardware.google.ril_ext.RilError; + +@VintfStability +@JavaDerive(toString=true) +parcelable RilResponseInfo { + /** + * Serial number of the request + */ + int serial; + /** + * Response error + */ + RilError error; +} diff --git a/thermal/Android.bp b/thermal/Android.bp new file mode 100644 index 0000000..d646d46 --- /dev/null +++ b/thermal/Android.bp @@ -0,0 +1,24 @@ +package { + // See: http://go/android-license-faq + default_applicable_licenses: ["Android-Apache-2.0"], +} + +aidl_interface { + name: "pixel-thermal-ext", + owner: "google", + vendor_available: true, + srcs: [ + "google/hardware/thermal/extension/pixel/IThermalExt.aidl", + ], + + stability: "vintf", + + backend: { + cpp: { + enabled: true, + }, + java: { + platform_apis: true, + }, + }, +} diff --git a/thermal/aidl_api/pixel-thermal-ext/current/google/hardware/thermal/extension/pixel/IThermalExt.aidl b/thermal/aidl_api/pixel-thermal-ext/current/google/hardware/thermal/extension/pixel/IThermalExt.aidl new file mode 100644 index 0000000..6ba9d43 --- /dev/null +++ b/thermal/aidl_api/pixel-thermal-ext/current/google/hardware/thermal/extension/pixel/IThermalExt.aidl @@ -0,0 +1,40 @@ +/* + * 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 google.hardware.thermal.extension.pixel; +/* @hide */ +@VintfStability +interface IThermalExt { + oneway void setThermalMode(in @utf8InCpp String mode, in boolean enabled); + boolean isThermalModeSupported(in @utf8InCpp String mode); +} diff --git a/thermal/google/hardware/thermal/extension/pixel/IThermalExt.aidl b/thermal/google/hardware/thermal/extension/pixel/IThermalExt.aidl new file mode 100644 index 0000000..311d5d7 --- /dev/null +++ b/thermal/google/hardware/thermal/extension/pixel/IThermalExt.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ + +package google.hardware.thermal.extension.pixel; + +/* @hide */ +@VintfStability +interface IThermalExt { + /** + * setThermalMode() is called to enable/disable a thermal mode. It will update + * the mode for multiple related temperature types together. + * + * A particular platform may choose to ignore any mode hint. + * + * @param mode which is to be enable/disable. + * @param enabled true to enable, false to disable the mode. + */ + oneway void setThermalMode(in @utf8InCpp String mode, in boolean enabled); + + /** + * isThermalModeSupported() checks whether a thermal mode is supported by vendor. + * + * @return true if the hint passed is supported on this platform. + * If false, setting the mode will have no effect. + * @param mode to be queried + */ + boolean isThermalModeSupported(in @utf8InCpp String mode); +} |