summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2021-08-14 06:30:56 +0000
committerXin Li <delphij@google.com>2021-08-14 06:30:56 +0000
commit4006c9667ab43e25db8ebf82e0487a2e0d1aee73 (patch)
tree93b2109c23f09b8810653e89f975e8aa71c5f782
parentbf32b113295982a69341abdf7d0385fe54c7fdc7 (diff)
parent8c03783a45a30626de9268b4f845498b274e86c1 (diff)
downloadinterfaces-4006c9667ab43e25db8ebf82e0487a2e0d1aee73.tar.gz
Merge sc-dev-plus-aosp-without-vendor@7634622temp_sam_202323961
Merged-In: Ia4ea48d86148e43971881e9232475567cd93d585 Change-Id: Ic49cadf46a18852d4d4a4fe2fac6f0e419e89eab
-rw-r--r--bluetooth/bt_channel_avoidance/1.0/Android.bp20
-rw-r--r--bluetooth/bt_channel_avoidance/1.0/IBTChannelAvoidance.hal35
-rw-r--r--bluetooth/ccc/1.0/Android.bp22
-rw-r--r--bluetooth/ccc/1.0/IBluetoothCcc.hal42
-rw-r--r--bluetooth/ccc/1.0/IBluetoothCccCallback.hal33
-rw-r--r--bluetooth/ccc/1.0/types.hal53
-rw-r--r--bluetooth/sar/1.0/Android.bp20
-rw-r--r--bluetooth/sar/1.0/IBluetoothSar.hal49
-rw-r--r--bluetooth/sar/1.1/Android.bp21
-rw-r--r--bluetooth/sar/1.1/IBluetoothSar.hal40
-rw-r--r--current.txt9
-rw-r--r--display/Android.bp10
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/2/.hash1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/HbmState.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/IDisplay.aidl47
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/LbeState.aidl41
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/3/.hash1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/HbmState.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/IDisplay.aidl48
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/LbeState.aidl41
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HbmState.aidl28
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl32
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/LbeState.aidl28
-rw-r--r--display/com/google/hardware/pixel/display/IDisplay.aidl35
24 files changed, 716 insertions, 20 deletions
diff --git a/bluetooth/bt_channel_avoidance/1.0/Android.bp b/bluetooth/bt_channel_avoidance/1.0/Android.bp
new file mode 100644
index 0000000..5c7e4cc
--- /dev/null
+++ b/bluetooth/bt_channel_avoidance/1.0/Android.bp
@@ -0,0 +1,20 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_google_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_google_interfaces_license"],
+}
+
+hidl_interface {
+ name: "hardware.google.bluetooth.bt_channel_avoidance@1.0",
+ root: "hardware.google",
+ srcs: [
+ "IBTChannelAvoidance.hal",
+ ],
+ interfaces: [
+ "android.hidl.base@1.0",
+ ],
+ gen_java: true,
+}
diff --git a/bluetooth/bt_channel_avoidance/1.0/IBTChannelAvoidance.hal b/bluetooth/bt_channel_avoidance/1.0/IBTChannelAvoidance.hal
new file mode 100644
index 0000000..cc80d15
--- /dev/null
+++ b/bluetooth/bt_channel_avoidance/1.0/IBTChannelAvoidance.hal
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This is pixel only extension for Bluetooth HAL.
+ */
+package hardware.google.bluetooth.bt_channel_avoidance@1.0;
+
+interface IBTChannelAvoidance {
+ /**
+ * API to set Bluetooth channel map.
+ *
+ * This API must be invoked whenever channels map of Bluetooth need to
+ * changed because Bluetooth channels have conflict with wifi or cellular.
+ *
+ * @param channelMap The lower 79 bits of the 80-bit parameterrepresents
+ * the status of 79 channels. 0 means the channel is bad and 1 means
+ * unknown. The most significant bit (bit 79) is reserved for future
+ * use.
+ */
+ oneway setBluetoothChannelStatus(uint8_t[10] channelMap);
+};
diff --git a/bluetooth/ccc/1.0/Android.bp b/bluetooth/ccc/1.0/Android.bp
new file mode 100644
index 0000000..bb789b5
--- /dev/null
+++ b/bluetooth/ccc/1.0/Android.bp
@@ -0,0 +1,22 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_google_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_google_interfaces_license"],
+}
+
+hidl_interface {
+ name: "hardware.google.bluetooth.ccc@1.0",
+ root: "hardware.google",
+ srcs: [
+ "IBluetoothCcc.hal",
+ "IBluetoothCccCallback.hal",
+ "types.hal",
+ ],
+ interfaces: [
+ "android.hidl.base@1.0",
+ ],
+ gen_java: true,
+}
diff --git a/bluetooth/ccc/1.0/IBluetoothCcc.hal b/bluetooth/ccc/1.0/IBluetoothCcc.hal
new file mode 100644
index 0000000..4f7f1e7
--- /dev/null
+++ b/bluetooth/ccc/1.0/IBluetoothCcc.hal
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This is pixel only extension for Bluetooth HAL.
+ */
+package hardware.google.bluetooth.ccc@1.0;
+
+import IBluetoothCccCallback;
+
+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 use for monitoring timestamp.
+ * @param lmpEventIds LMP events to use for monitoring timestamp.
+ */
+ registerForLmpEvents(IBluetoothCccCallback callback,
+ Address address, vec<LmpEventId> lmpEventIds);
+
+ /**
+ * API to stop monitor given Bluetooth device.
+ *
+ * @param address Bluetooth device to stop monitoring.
+ */
+ unregisterLmpEvents(Address address);
+};
diff --git a/bluetooth/ccc/1.0/IBluetoothCccCallback.hal b/bluetooth/ccc/1.0/IBluetoothCccCallback.hal
new file mode 100644
index 0000000..bcd0cea
--- /dev/null
+++ b/bluetooth/ccc/1.0/IBluetoothCccCallback.hal
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package hardware.google.bluetooth.ccc@1.0;
+
+import types;
+
+interface IBluetoothCccCallback {
+ /**
+ * Callback when monitored LMP event involked.
+ *
+ * @param timestamp Timestamp when the LMP event involked
+ * @param address Remote bluetooth address that involke LMP event
+ * @param direction Direction of the involked LMP event
+ * @param lmpEventId LMP event id that bluetooth chip involked
+ * @param connEventCounter counter incremented by one for each new connection event
+ */
+ onEventGenerated(Timestamp timestamp, Address address, Direction direction,
+ LmpEventId lmpEventId, uint16_t connEventCounter);
+};
diff --git a/bluetooth/ccc/1.0/types.hal b/bluetooth/ccc/1.0/types.hal
new file mode 100644
index 0000000..a65f159
--- /dev/null
+++ b/bluetooth/ccc/1.0/types.hal
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package hardware.google.bluetooth.ccc@1.0;
+
+/**
+ * Generic structure to return the timestamp
+ */
+struct Timestamp {
+ /**
+ * Timestamp in microsecond since system boot.
+ */
+ uint32_t systemTime;
+ /**
+ * Timestamp in microsecond since Bluetooth controller power up.
+ */
+ uint32_t bluetoothTime;
+};
+
+/**
+ * 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
+ */
+enum LmpEventId : uint8_t {
+ CONNECT_IND = 0x00,
+ LL_PHY_UPDATE_IND = 0x01
+};
+
+/**
+ * Direction of the LMP event
+ */
+enum Direction : uint8_t {
+ TX = 0x00, RX = 0x01
+};
+
+/**
+ * Bluetooth Address Type. 6 octest representing bluetooth of a device.
+ */
+typedef uint8_t[6] Address;
diff --git a/bluetooth/sar/1.0/Android.bp b/bluetooth/sar/1.0/Android.bp
new file mode 100644
index 0000000..e0b6b24
--- /dev/null
+++ b/bluetooth/sar/1.0/Android.bp
@@ -0,0 +1,20 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_google_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_google_interfaces_license"],
+}
+
+hidl_interface {
+ name: "hardware.google.bluetooth.sar@1.0",
+ root: "hardware.google",
+ srcs: [
+ "IBluetoothSar.hal",
+ ],
+ interfaces: [
+ "android.hidl.base@1.0",
+ ],
+ gen_java: true,
+}
diff --git a/bluetooth/sar/1.0/IBluetoothSar.hal b/bluetooth/sar/1.0/IBluetoothSar.hal
new file mode 100644
index 0000000..5cb96d4
--- /dev/null
+++ b/bluetooth/sar/1.0/IBluetoothSar.hal
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This is pixel only extension for Bluetooth HAL.
+ */
+package hardware.google.bluetooth.sar@1.0;
+
+interface IBluetoothSar {
+ /**
+ * API to set Bluetooth Tx power cap.
+ *
+ * This API must be invoked whenever maximum Bluetooth Tx power need 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 setBluetoothTxPowerCap(int8_t 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 need 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 setBluetoothTechBasedTxPowerCap(int8_t brCap, int8_t edrCap, int8_t bleCap);
+};
diff --git a/bluetooth/sar/1.1/Android.bp b/bluetooth/sar/1.1/Android.bp
new file mode 100644
index 0000000..05bdb09
--- /dev/null
+++ b/bluetooth/sar/1.1/Android.bp
@@ -0,0 +1,21 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_google_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_google_interfaces_license"],
+}
+
+hidl_interface {
+ name: "hardware.google.bluetooth.sar@1.1",
+ root: "hardware.google",
+ srcs: [
+ "IBluetoothSar.hal",
+ ],
+ interfaces: [
+ "hardware.google.bluetooth.sar@1.0",
+ "android.hidl.base@1.0",
+ ],
+ gen_java: true,
+}
diff --git a/bluetooth/sar/1.1/IBluetoothSar.hal b/bluetooth/sar/1.1/IBluetoothSar.hal
new file mode 100644
index 0000000..2dfca42
--- /dev/null
+++ b/bluetooth/sar/1.1/IBluetoothSar.hal
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This is pixel only extension for Bluetooth HAL.
+ */
+package hardware.google.bluetooth.sar@1.1;
+import hardware.google.bluetooth.sar@1.0;
+
+interface IBluetoothSar extends @1.0::IBluetoothSar {
+ /**
+ * API to set Bluetooth Tx power cap of each mode
+ *
+ * This API must be invoke whenever maximum Bluetooth Tx power of each mode, include chain 0,
+ * chain 1 and beamforming mode, need 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 setBluetoothModeBasedTxPowerCap(int8_t[3] chain0Cap,int8_t[3] chain1Cap,
+ int8_t[6] beamformingCap);
+}; \ No newline at end of file
diff --git a/current.txt b/current.txt
index b0dae6a..210c9c7 100644
--- a/current.txt
+++ b/current.txt
@@ -1,3 +1,12 @@
+# HALs released in Android S
+
+c34fdd31d56ca97aec45eb3eb9b47d62294335e1c880a7998013f2096825397d hardware.google.bluetooth.bt_channel_avoidance@1.0::IBTChannelAvoidance
+8490e311ba249523d0cb6e2dd8b8a863241b428cdf8c98d88689332951e398c8 hardware.google.bluetooth.ccc@1.0::types
+a8a5ea77cf0e11f83a6751186325efb7f18ea1dc2e9f9ad33032980b0e1e3ecd hardware.google.bluetooth.ccc@1.0::IBluetoothCcc
+5287fd8c6f65a1533a9c65bb8036ce0653093cf7f802636732c265b57588f2a8 hardware.google.bluetooth.ccc@1.0::IBluetoothCccCallback
+ffb48792d6e067f012f66b28b526afe46be1aaaacbcf71891969cb0a55a7165c hardware.google.bluetooth.sar@1.0::IBluetoothSar
+a0632be7cbb7e64f8254363b6d000ec0bb03096f7a10a1390701b9ace2ff2c84 hardware.google.bluetooth.sar@1.1::IBluetoothSar
+
# HALs released in Android P MAR20 QPR
bcaa8ef72b0ebbcbd0873f600a8d2bc45f76a6fb119ad6aeae4c5347a790aedb hardware.google.light@1.1::ILight
diff --git a/display/Android.bp b/display/Android.bp
index f48a528..5b63f65 100644
--- a/display/Android.bp
+++ b/display/Android.bp
@@ -16,6 +16,10 @@ aidl_interface {
stability: "vintf",
+ imports: [
+ "android.hardware.common",
+ ],
+
backend: {
java: {
platform_apis: true,
@@ -24,5 +28,9 @@ aidl_interface {
enabled: false,
},
},
- versions: ["1"],
+ versions: [
+ "1",
+ "2",
+ "3",
+ ],
}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/2/.hash b/display/aidl_api/com.google.hardware.pixel.display/2/.hash
new file mode 100644
index 0000000..60cb0d0
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/2/.hash
@@ -0,0 +1 @@
+bcb4f92324798b6f2c70f1757634f670e1da6d36
diff --git a/display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/2/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/2/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/2/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/IDisplay.aidl
new file mode 100644
index 0000000..9a58417
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/IDisplay.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package 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();
+}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/LbeState.aidl
new file mode 100644
index 0000000..6ad7fb7
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/2/com/google/hardware/pixel/display/LbeState.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package com.google.hardware.pixel.display;
+@Backing(type="byte") @VintfStability
+enum LbeState {
+ OFF = 0,
+ NORMAL = 1,
+ HIGH_BRIGHTNESS = 2,
+ POWER_SAVE = 3,
+}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/3/.hash b/display/aidl_api/com.google.hardware.pixel.display/3/.hash
new file mode 100644
index 0000000..b08a01a
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/3/.hash
@@ -0,0 +1 @@
+41425d2a0c0f6459d358b330f10ab1166eb09a14
diff --git a/display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/3/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/3/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/3/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/IDisplay.aidl
new file mode 100644
index 0000000..a4e0b06
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/IDisplay.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package 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);
+}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/LbeState.aidl
new file mode 100644
index 0000000..6ad7fb7
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/3/com/google/hardware/pixel/display/LbeState.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package com.google.hardware.pixel.display;
+@Backing(type="byte") @VintfStability
+enum LbeState {
+ OFF = 0,
+ NORMAL = 1,
+ HIGH_BRIGHTNESS = 2,
+ POWER_SAVE = 3,
+}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HbmState.aidl
index 440a95e..76af8b3 100644
--- a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HbmState.aidl
+++ b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HbmState.aidl
@@ -1,14 +1,30 @@
+/*
+ * 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 interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// 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 changes to the AIDL files built
+// 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
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 df43035..a4e0b06 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
@@ -1,14 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// 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 changes to the AIDL files built
+// 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
@@ -25,4 +41,8 @@ interface IDisplay {
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);
}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/LbeState.aidl
index 0e4985a..6ad7fb7 100644
--- a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/LbeState.aidl
+++ b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/LbeState.aidl
@@ -1,14 +1,30 @@
+/*
+ * 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 interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// 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 changes to the AIDL files built
+// 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
diff --git a/display/com/google/hardware/pixel/display/IDisplay.aidl b/display/com/google/hardware/pixel/display/IDisplay.aidl
index ff60b89..bb7ca4b 100644
--- a/display/com/google/hardware/pixel/display/IDisplay.aidl
+++ b/display/com/google/hardware/pixel/display/IDisplay.aidl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 The Android Open Source Project
+ * Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package com.google.hardware.pixel.display;
import com.google.hardware.pixel.display.HbmState;
import com.google.hardware.pixel.display.LbeState;
+import android.hardware.common.NativeHandle;
@VintfStability
interface IDisplay {
@@ -72,4 +73,36 @@ interface IDisplay {
* @return state of display local brightness enhancement
*/
LbeState getLbeState();
+
+ /**
+ * Query Display Local High Brightness Mode Supported
+ *
+ * @return true if LHBM is supported on this platform.
+ * If false, LHBM is not supported.
+ */
+ boolean isLhbmSupported();
+
+ /**
+ * Set Display Local High Brightness Mode
+ *
+ * @param enabled true if LHBM should be enabled, false otherwise.
+ */
+ void setLhbmState(in boolean enabled);
+
+ /**
+ * Get Display Local High Brightness Mode State
+ *
+ * @return true if LHBM is ON, false otherwise.
+ */
+ boolean getLhbmState();
+
+ /**
+ * Set NativeHandle then server can fill the compensation
+ * image into the native handle
+ *
+ * @param native_handle share the NativeHandle from client.
+ * @param imageName the image name that define in client.
+ * @return errno of setCompensationImageHandle
+ */
+ int setCompensationImageHandle(in NativeHandle native_handle, in String imageName);
}