summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsusi_su <susisu@google.com>2022-05-03 14:39:00 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-05-03 14:39:00 +0000
commit6e4cdfc7be0ea886bb66fcf8ec12dde931416eca (patch)
tree2f1f5a09ec71c3f745740ac1a9ce6f5bb2f2ebaf
parentb448eb94b42df10e416b867f9de9416f72bb5393 (diff)
parent2be42bf498ad2b21e8c2d7a6112a9134b138746f (diff)
downloadinterfaces-6e4cdfc7be0ea886bb66fcf8ec12dde931416eca.tar.gz
Update pixel-display V5 interface am: 2be42bf498
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/interfaces/+/18087634 Change-Id: Ib878361fa75ff7a6b8c965e9b7489c8200d4311d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--display/Android.bp44
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/.hash1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/HbmState.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/HistogramErrorCode.aidl47
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/HistogramPos.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/IDisplay.aidl51
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/LbeState.aidl42
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/Priority.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/Weight.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramErrorCode.aidl47
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramPos.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/LbeState.aidl1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/Priority.aidl39
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/Weight.aidl40
-rw-r--r--display/com/google/hardware/pixel/display/HistogramErrorCode.aidl32
-rw-r--r--display/com/google/hardware/pixel/display/HistogramPos.aidl24
-rw-r--r--display/com/google/hardware/pixel/display/IDisplay.aidl40
-rw-r--r--display/com/google/hardware/pixel/display/LbeState.aidl3
-rw-r--r--display/com/google/hardware/pixel/display/Priority.aidl24
-rw-r--r--display/com/google/hardware/pixel/display/Weight.aidl24
21 files changed, 650 insertions, 7 deletions
diff --git a/display/Android.bp b/display/Android.bp
index 939ab0a..9ec7a56 100644
--- a/display/Android.bp
+++ b/display/Android.bp
@@ -14,6 +14,7 @@ aidl_interface {
imports: [
"android.hardware.common-V2",
+ "android.hardware.graphics.common-V3",
],
backend: {
@@ -24,10 +25,43 @@ aidl_interface {
enabled: false,
},
},
- versions: [
- "1",
- "2",
- "3",
- "4",
+ versions_with_info: [
+ {
+ version: "1",
+ imports: [
+ "android.hardware.common-V2",
+ "android.hardware.graphics.common-V3",
+ ],
+ },
+ {
+ version: "2",
+ imports: [
+ "android.hardware.common-V2",
+ "android.hardware.graphics.common-V3",
+ ],
+ },
+ {
+ version: "3",
+ imports: [
+ "android.hardware.common-V2",
+ "android.hardware.graphics.common-V3",
+ ],
+ },
+ {
+ version: "4",
+ imports: [
+ "android.hardware.common-V2",
+ "android.hardware.graphics.common-V3",
+ ],
+ },
+ {
+ version: "5",
+ imports: [
+ "android.hardware.common-V2",
+ "android.hardware.graphics.common-V3",
+ ],
+ },
+
],
+
}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/5/.hash b/display/aidl_api/com.google.hardware.pixel.display/5/.hash
new file mode 100644
index 0000000..e74ac0b
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/5/.hash
@@ -0,0 +1 @@
+25eb3afc90d97d5a194c65a2273268973fdafdb9
diff --git a/display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/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/5/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/5/com/google/hardware/pixel/display/HistogramErrorCode.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/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/5/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/5/com/google/hardware/pixel/display/HistogramPos.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/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/5/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/5/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/IDisplay.aidl
new file mode 100644
index 0000000..3a1cb3a
--- /dev/null
+++ b/display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/IDisplay.aidl
@@ -0,0 +1,51 @@
+/*
+ * 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);
+ 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);
+}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/5/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/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/5/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/5/com/google/hardware/pixel/display/Priority.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/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/5/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/5/com/google/hardware/pixel/display/Weight.aidl b/display/aidl_api/com.google.hardware.pixel.display/5/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/5/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/HistogramErrorCode.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/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/current/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/current/com/google/hardware/pixel/display/HistogramPos.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/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/current/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/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 6192e85..3a1cb3a 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
@@ -47,4 +47,5 @@ interface IDisplay {
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);
}
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 6ad7fb7..8c8b53e 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
@@ -38,4 +38,5 @@ enum LbeState {
NORMAL = 1,
HIGH_BRIGHTNESS = 2,
POWER_SAVE = 3,
+ HIGH_BRIGHTNESS_ENHANCE = 4,
}
diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/Priority.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/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/current/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/current/com/google/hardware/pixel/display/Weight.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/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/current/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/com/google/hardware/pixel/display/HistogramErrorCode.aidl b/display/com/google/hardware/pixel/display/HistogramErrorCode.aidl
new file mode 100644
index 0000000..9fad3a3
--- /dev/null
+++ b/display/com/google/hardware/pixel/display/HistogramErrorCode.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.hardware.pixel.display;
+
+@VintfStability
+@Backing(type="byte")
+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/com/google/hardware/pixel/display/HistogramPos.aidl b/display/com/google/hardware/pixel/display/HistogramPos.aidl
new file mode 100644
index 0000000..0f9c1b3
--- /dev/null
+++ b/display/com/google/hardware/pixel/display/HistogramPos.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.hardware.pixel.display;
+
+@VintfStability
+@Backing(type="byte")
+enum HistogramPos {
+ POST = 0,
+ PRE = 1,
+}
diff --git a/display/com/google/hardware/pixel/display/IDisplay.aidl b/display/com/google/hardware/pixel/display/IDisplay.aidl
index e06db5c..e68bf6c 100644
--- a/display/com/google/hardware/pixel/display/IDisplay.aidl
+++ b/display/com/google/hardware/pixel/display/IDisplay.aidl
@@ -15,10 +15,14 @@
*/
package com.google.hardware.pixel.display;
-
+import com.google.hardware.pixel.display.HistogramErrorCode;
import com.google.hardware.pixel.display.HbmState;
import com.google.hardware.pixel.display.LbeState;
+import com.google.hardware.pixel.display.Weight;
+import com.google.hardware.pixel.display.HistogramPos;
+import com.google.hardware.pixel.display.Priority;
import android.hardware.common.NativeHandle;
+import android.hardware.graphics.common.Rect;
@VintfStability
interface IDisplay {
@@ -127,4 +131,38 @@ interface IDisplay {
* @return errno if there was a problem with the request, zero if successful
*/
int setRefreshRateThrottle(in int delayMs);
+
+ /**
+ * Collects the luma histograms of the content displayed on screen.
+ *
+ *
+ * @param roi input from client, is the regions of interest in the frames that
+ * should be sampled to collect the luma values of the roi
+ * The sample represents the most-recently posted frames
+ * @param weight input from client, the weights for red(weight_r), green(weight_g)
+ * and blue(weight_b) colors, which is used in luma calculation formula.
+ * The formula:
+ * luma = weight_r * red + weight_g * green + weight_b * blue
+ * The weight_r + weight_g + weight_b = 1024
+ * @param pos histogram sample position, could be PRE_DQE or POST_DQE
+ * @param priority input from client, is the priority of the call.
+ * Priority is a num with two values {normal, priority}
+ * @param histogrambuffer output from histogram server, is a 256 * 16 bits buffer to store the
+ * luma counts return by the histogram hardware
+ * @return error NONE = 0 upon success. Otherwise
+ * BAD_ROI = 1 when roi passed in is not in correct format
+ * BAD_WEIGHT = 2 when weight passed in is not in correct format
+ * BAD_POSITION = 3 when the histogram sampling position is incorrect
+ * BAD_PRIORITY = 4 when the priority input is not in correct format
+ * ENABLE_HIST_ERROR = 5 when enable histgoram property error
+ * DISABLE_HIST_ERROR = 6 when disable histgoram property error
+ * BAD_HIST_DATA = 7 when there is error to collect histogram data
+ * DRM_PLAYING = 8 when there is DRM content playing,
+ * for content protection, no histogram data sampled
+ * DISPLAY_POWEROFF = 9 when the display is power off,
+ * no histogram data is sampled
+ */
+ HistogramErrorCode histogramSample(in Rect roi, in Weight weight, in HistogramPos pos,
+ in Priority pri, out char[] histogrambuffer);
+
}
diff --git a/display/com/google/hardware/pixel/display/LbeState.aidl b/display/com/google/hardware/pixel/display/LbeState.aidl
index 810dcc7..e512104 100644
--- a/display/com/google/hardware/pixel/display/LbeState.aidl
+++ b/display/com/google/hardware/pixel/display/LbeState.aidl
@@ -22,5 +22,6 @@ enum LbeState {
OFF = 0,
NORMAL = 1,
HIGH_BRIGHTNESS = 2,
- POWER_SAVE = 3,
+ POWER_SAVE =3,
+ HIGH_BRIGHTNESS_ENHANCE = 4,
}
diff --git a/display/com/google/hardware/pixel/display/Priority.aidl b/display/com/google/hardware/pixel/display/Priority.aidl
new file mode 100644
index 0000000..c423086
--- /dev/null
+++ b/display/com/google/hardware/pixel/display/Priority.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.hardware.pixel.display;
+
+@VintfStability
+@Backing(type="byte")
+enum Priority {
+ NORMAL = 0,
+ PRIORITY = 1,
+}
diff --git a/display/com/google/hardware/pixel/display/Weight.aidl b/display/com/google/hardware/pixel/display/Weight.aidl
new file mode 100644
index 0000000..53659e8
--- /dev/null
+++ b/display/com/google/hardware/pixel/display/Weight.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.hardware.pixel.display;
+
+@VintfStability
+parcelable Weight {
+ char weightR;
+ char weightG;
+ char weightB;
+}