summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:02:43 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:02:43 +0000
commit190f13b2abae3ba4123d845d48a5d67efba522ef (patch)
tree1eefeea1202bb5ea03a31679001aaced02df7e30
parent3b53432bba641dd1c5aadf394048c003a0f36a78 (diff)
parentd06d34ef1ec9495bcdb8d990a6cf0938fab0aab1 (diff)
downloadinterfaces-android14-mainline-mediaprovider-release.tar.gz
Change-Id: I19761b0424b3bfbe2693794c2720a7b4d4b2e9ed
-rw-r--r--bluetooth/ccc/aidl/Android.bp21
-rw-r--r--bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Direction.aidl39
-rw-r--r--bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl39
-rw-r--r--bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl39
-rw-r--r--bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/LmpEventId.aidl39
-rw-r--r--bluetooth/ccc/aidl/aidl_api/hardware.google.bluetooth.ccc/current/hardware/google/bluetooth/ccc/Timestamp.aidl39
-rw-r--r--bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Direction.aidl27
-rw-r--r--bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCcc.aidl42
-rw-r--r--bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/IBluetoothCccCallback.aidl41
-rw-r--r--bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/LmpEventId.aidl29
-rw-r--r--bluetooth/ccc/aidl/hardware/google/bluetooth/ccc/Timestamp.aidl32
-rw-r--r--bluetooth/sar/aidl/Android.bp21
-rw-r--r--bluetooth/sar/aidl/aidl_api/hardware.google.bluetooth.sar/current/hardware/google/bluetooth/sar/IBluetoothSar.aidl42
-rw-r--r--bluetooth/sar/aidl/hardware/google/bluetooth/sar/IBluetoothSar.aidl97
-rw-r--r--display/Android.bp29
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/.hash1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HbmState.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramErrorCode.aidl47
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/HistogramPos.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/IDisplay.aidl54
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/LbeState.aidl42
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Priority.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/7/com/google/hardware/pixel/display/Weight.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/.hash1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HbmState.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramErrorCode.aidl47
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/HistogramPos.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/IDisplay.aidl57
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/LbeState.aidl42
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Priority.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/8/com/google/hardware/pixel/display/Weight.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl5
-rw-r--r--display/com/google/hardware/pixel/display/IDisplay.aidl43
-rw-r--r--power/Android.bp1
-rw-r--r--ril_ext/Android.bp22
-rw-r--r--ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/CarrierConfig.aidl49
-rw-r--r--ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExt.aidl40
-rw-r--r--ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtIndication.aidl39
-rw-r--r--ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/IRilExtResponse.aidl39
-rw-r--r--ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilError.aidl41
-rw-r--r--ril_ext/aidl_api/hardware.google.ril_ext/current/hardware/google/ril_ext/RilResponseInfo.aidl39
-rw-r--r--ril_ext/hardware/google/ril_ext/CarrierConfig.aidl40
-rw-r--r--ril_ext/hardware/google/ril_ext/IRilExt.aidl49
-rw-r--r--ril_ext/hardware/google/ril_ext/IRilExtIndication.aidl34
-rw-r--r--ril_ext/hardware/google/ril_ext/IRilExtResponse.aidl31
-rw-r--r--ril_ext/hardware/google/ril_ext/RilError.aidl36
-rw-r--r--ril_ext/hardware/google/ril_ext/RilResponseInfo.aidl32
-rw-r--r--thermal/Android.bp24
-rw-r--r--thermal/aidl_api/pixel-thermal-ext/current/google/hardware/thermal/extension/pixel/IThermalExt.aidl40
-rw-r--r--thermal/google/hardware/thermal/extension/pixel/IThermalExt.aidl41
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);
+}