[automerge] Update VNDK snapshot v30 to build 9441267. 2p: b99a9ff28f am: 857821c944 am: c648b5d66a am: ac8c4e6877 am: 2a6d0da53b

Original change: https://googleplex-android-review.googlesource.com/c/platform/prebuilts/vndk/v30/+/20843481

Change-Id: I4d74e0af610e96695db6aaf190541189befe21d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so
index 8f927a7..e048684 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so
Binary files differ
diff --git a/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h b/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h
index e60f677..39dbe9e 100644
--- a/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -25,6 +25,7 @@
 #include <gui/ITransactionCompletedListener.h>
 #include <math/mat4.h>
 
+#include <android/gui/DropInputMode.h>
 #ifndef NO_INPUT
 #include <input/InputWindow.h>
 #endif
@@ -105,6 +106,8 @@
         eBackgroundBlurRadiusChanged = 0x80'00000000,
         eProducerDisconnect = 0x100'00000000,
         eFixedTransformHintChanged = 0x200'00000000,
+        eTrustedOverlayChanged = 0x400'00000000,
+        eDropInputModeChanged = 0x8000'00000000,
     };
 
     layer_state_t()
@@ -139,7 +142,9 @@
             frameRateSelectionPriority(-1),
             frameRate(0.0f),
             frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT),
-            fixedTransformHint(ui::Transform::ROT_INVALID) {
+            fixedTransformHint(ui::Transform::ROT_INVALID),
+            isTrustedOverlay(false),
+            dropInputMode(gui::DropInputMode::NONE) {
         matrix.dsdx = matrix.dtdy = 1.0f;
         matrix.dsdy = matrix.dtdx = 0.0f;
         hdrMetadata.validTypes = 0;
@@ -237,6 +242,13 @@
     // a buffer of a different size. -1 means the transform hint is not set,
     // otherwise the value will be a valid ui::Rotation.
     ui::Transform::RotationFlags fixedTransformHint;
+
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
+    // Force inputflinger to drop all input events for the layer and its children.
+    gui::DropInputMode dropInputMode;
 };
 
 struct ComposerState {
diff --git a/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index adcb898..2e189e5 100644
--- a/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -529,6 +529,10 @@
         // a buffer of a different size.
         Transaction& setFixedTransformHint(const sp<SurfaceControl>& sc, int32_t transformHint);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
+        Transaction& setDropInputMode(const sp<SurfaceControl>& sc, gui::DropInputMode mode);
         status_t setDisplaySurface(const sp<IBinder>& token,
                 const sp<IGraphicBufferProducer>& bufferProducer);
 
diff --git a/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/BnDropInputMode.h b/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/BnDropInputMode.h
new file mode 100644
index 0000000..d717a4a
--- /dev/null
+++ b/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/BnDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bn classes
\ No newline at end of file
diff --git a/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/BpDropInputMode.h b/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/BpDropInputMode.h
new file mode 100644
index 0000000..9c951e0
--- /dev/null
+++ b/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/BpDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bp classes
\ No newline at end of file
diff --git a/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/DropInputMode.h b/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/DropInputMode.h
new file mode 100644
index 0000000..7654ea2
--- /dev/null
+++ b/arm/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv7-a-neon_shared/gen/aidl/android/gui/DropInputMode.h
@@ -0,0 +1,49 @@
+#ifndef AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+#define AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+
+#include <array>
+#include <binder/Enums.h>
+#include <cstdint>
+#include <string>
+
+namespace android {
+
+namespace gui {
+
+enum class DropInputMode : int32_t {
+  NONE = 0,
+  ALL = 1,
+};
+
+static inline std::string toString(DropInputMode val) {
+  switch(val) {
+  case DropInputMode::NONE:
+    return "NONE";
+  case DropInputMode::ALL:
+    return "ALL";
+  default:
+    return std::to_string(static_cast<int32_t>(val));
+  }
+}
+
+}  // namespace gui
+
+}  // namespace android
+namespace android {
+
+namespace internal {
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template <>
+constexpr inline std::array<::android::gui::DropInputMode, 2> enum_values<::android::gui::DropInputMode> = {
+  ::android::gui::DropInputMode::NONE,
+  ::android::gui::DropInputMode::ALL,
+};
+#pragma clang diagnostic pop
+
+}  // namespace internal
+
+}  // namespace android
+
+#endif  // AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so
index 215fff7..76cd790 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so
index aa31ebd..3e8f70d 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so
Binary files differ
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h b/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
index e60f677..39dbe9e 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -25,6 +25,7 @@
 #include <gui/ITransactionCompletedListener.h>
 #include <math/mat4.h>
 
+#include <android/gui/DropInputMode.h>
 #ifndef NO_INPUT
 #include <input/InputWindow.h>
 #endif
@@ -105,6 +106,8 @@
         eBackgroundBlurRadiusChanged = 0x80'00000000,
         eProducerDisconnect = 0x100'00000000,
         eFixedTransformHintChanged = 0x200'00000000,
+        eTrustedOverlayChanged = 0x400'00000000,
+        eDropInputModeChanged = 0x8000'00000000,
     };
 
     layer_state_t()
@@ -139,7 +142,9 @@
             frameRateSelectionPriority(-1),
             frameRate(0.0f),
             frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT),
-            fixedTransformHint(ui::Transform::ROT_INVALID) {
+            fixedTransformHint(ui::Transform::ROT_INVALID),
+            isTrustedOverlay(false),
+            dropInputMode(gui::DropInputMode::NONE) {
         matrix.dsdx = matrix.dtdy = 1.0f;
         matrix.dsdy = matrix.dtdx = 0.0f;
         hdrMetadata.validTypes = 0;
@@ -237,6 +242,13 @@
     // a buffer of a different size. -1 means the transform hint is not set,
     // otherwise the value will be a valid ui::Rotation.
     ui::Transform::RotationFlags fixedTransformHint;
+
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
+    // Force inputflinger to drop all input events for the layer and its children.
+    gui::DropInputMode dropInputMode;
 };
 
 struct ComposerState {
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index adcb898..2e189e5 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -529,6 +529,10 @@
         // a buffer of a different size.
         Transaction& setFixedTransformHint(const sp<SurfaceControl>& sc, int32_t transformHint);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
+        Transaction& setDropInputMode(const sp<SurfaceControl>& sc, gui::DropInputMode mode);
         status_t setDisplaySurface(const sp<IBinder>& token,
                 const sp<IGraphicBufferProducer>& bufferProducer);
 
diff --git a/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/BnDropInputMode.h b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/BnDropInputMode.h
new file mode 100644
index 0000000..d717a4a
--- /dev/null
+++ b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/BnDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bn classes
\ No newline at end of file
diff --git a/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/BpDropInputMode.h b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/BpDropInputMode.h
new file mode 100644
index 0000000..9c951e0
--- /dev/null
+++ b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/BpDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bp classes
\ No newline at end of file
diff --git a/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/DropInputMode.h b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/DropInputMode.h
new file mode 100644
index 0000000..7654ea2
--- /dev/null
+++ b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm64_armv8-a_shared/gen/aidl/android/gui/DropInputMode.h
@@ -0,0 +1,49 @@
+#ifndef AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+#define AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+
+#include <array>
+#include <binder/Enums.h>
+#include <cstdint>
+#include <string>
+
+namespace android {
+
+namespace gui {
+
+enum class DropInputMode : int32_t {
+  NONE = 0,
+  ALL = 1,
+};
+
+static inline std::string toString(DropInputMode val) {
+  switch(val) {
+  case DropInputMode::NONE:
+    return "NONE";
+  case DropInputMode::ALL:
+    return "ALL";
+  default:
+    return std::to_string(static_cast<int32_t>(val));
+  }
+}
+
+}  // namespace gui
+
+}  // namespace android
+namespace android {
+
+namespace internal {
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template <>
+constexpr inline std::array<::android::gui::DropInputMode, 2> enum_values<::android::gui::DropInputMode> = {
+  ::android::gui::DropInputMode::NONE,
+  ::android::gui::DropInputMode::ALL,
+};
+#pragma clang diagnostic pop
+
+}  // namespace internal
+
+}  // namespace android
+
+#endif  // AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
diff --git a/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/BnDropInputMode.h b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/BnDropInputMode.h
new file mode 100644
index 0000000..d717a4a
--- /dev/null
+++ b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/BnDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bn classes
\ No newline at end of file
diff --git a/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/BpDropInputMode.h b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/BpDropInputMode.h
new file mode 100644
index 0000000..9c951e0
--- /dev/null
+++ b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/BpDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bp classes
\ No newline at end of file
diff --git a/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/DropInputMode.h b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/DropInputMode.h
new file mode 100644
index 0000000..7654ea2
--- /dev/null
+++ b/arm64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_arm_armv8-a_shared/gen/aidl/android/gui/DropInputMode.h
@@ -0,0 +1,49 @@
+#ifndef AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+#define AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+
+#include <array>
+#include <binder/Enums.h>
+#include <cstdint>
+#include <string>
+
+namespace android {
+
+namespace gui {
+
+enum class DropInputMode : int32_t {
+  NONE = 0,
+  ALL = 1,
+};
+
+static inline std::string toString(DropInputMode val) {
+  switch(val) {
+  case DropInputMode::NONE:
+    return "NONE";
+  case DropInputMode::ALL:
+    return "ALL";
+  default:
+    return std::to_string(static_cast<int32_t>(val));
+  }
+}
+
+}  // namespace gui
+
+}  // namespace android
+namespace android {
+
+namespace internal {
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template <>
+constexpr inline std::array<::android::gui::DropInputMode, 2> enum_values<::android::gui::DropInputMode> = {
+  ::android::gui::DropInputMode::NONE,
+  ::android::gui::DropInputMode::ALL,
+};
+#pragma clang diagnostic pop
+
+}  // namespace internal
+
+}  // namespace android
+
+#endif  // AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
diff --git a/x86/arch-x86/shared/vndk-core/libgui.so b/x86/arch-x86/shared/vndk-core/libgui.so
index a8deddd..7fa92b9 100755
--- a/x86/arch-x86/shared/vndk-core/libgui.so
+++ b/x86/arch-x86/shared/vndk-core/libgui.so
Binary files differ
diff --git a/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h b/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h
index e60f677..39dbe9e 100644
--- a/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -25,6 +25,7 @@
 #include <gui/ITransactionCompletedListener.h>
 #include <math/mat4.h>
 
+#include <android/gui/DropInputMode.h>
 #ifndef NO_INPUT
 #include <input/InputWindow.h>
 #endif
@@ -105,6 +106,8 @@
         eBackgroundBlurRadiusChanged = 0x80'00000000,
         eProducerDisconnect = 0x100'00000000,
         eFixedTransformHintChanged = 0x200'00000000,
+        eTrustedOverlayChanged = 0x400'00000000,
+        eDropInputModeChanged = 0x8000'00000000,
     };
 
     layer_state_t()
@@ -139,7 +142,9 @@
             frameRateSelectionPriority(-1),
             frameRate(0.0f),
             frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT),
-            fixedTransformHint(ui::Transform::ROT_INVALID) {
+            fixedTransformHint(ui::Transform::ROT_INVALID),
+            isTrustedOverlay(false),
+            dropInputMode(gui::DropInputMode::NONE) {
         matrix.dsdx = matrix.dtdy = 1.0f;
         matrix.dsdy = matrix.dtdx = 0.0f;
         hdrMetadata.validTypes = 0;
@@ -237,6 +242,13 @@
     // a buffer of a different size. -1 means the transform hint is not set,
     // otherwise the value will be a valid ui::Rotation.
     ui::Transform::RotationFlags fixedTransformHint;
+
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
+    // Force inputflinger to drop all input events for the layer and its children.
+    gui::DropInputMode dropInputMode;
 };
 
 struct ComposerState {
diff --git a/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index adcb898..2e189e5 100644
--- a/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -529,6 +529,10 @@
         // a buffer of a different size.
         Transaction& setFixedTransformHint(const sp<SurfaceControl>& sc, int32_t transformHint);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
+        Transaction& setDropInputMode(const sp<SurfaceControl>& sc, gui::DropInputMode mode);
         status_t setDisplaySurface(const sp<IBinder>& token,
                 const sp<IGraphicBufferProducer>& bufferProducer);
 
diff --git a/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/BnDropInputMode.h b/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/BnDropInputMode.h
new file mode 100644
index 0000000..d717a4a
--- /dev/null
+++ b/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/BnDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bn classes
\ No newline at end of file
diff --git a/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/BpDropInputMode.h b/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/BpDropInputMode.h
new file mode 100644
index 0000000..9c951e0
--- /dev/null
+++ b/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/BpDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bp classes
\ No newline at end of file
diff --git a/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/DropInputMode.h b/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/DropInputMode.h
new file mode 100644
index 0000000..7654ea2
--- /dev/null
+++ b/x86/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_shared/gen/aidl/android/gui/DropInputMode.h
@@ -0,0 +1,49 @@
+#ifndef AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+#define AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+
+#include <array>
+#include <binder/Enums.h>
+#include <cstdint>
+#include <string>
+
+namespace android {
+
+namespace gui {
+
+enum class DropInputMode : int32_t {
+  NONE = 0,
+  ALL = 1,
+};
+
+static inline std::string toString(DropInputMode val) {
+  switch(val) {
+  case DropInputMode::NONE:
+    return "NONE";
+  case DropInputMode::ALL:
+    return "ALL";
+  default:
+    return std::to_string(static_cast<int32_t>(val));
+  }
+}
+
+}  // namespace gui
+
+}  // namespace android
+namespace android {
+
+namespace internal {
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template <>
+constexpr inline std::array<::android::gui::DropInputMode, 2> enum_values<::android::gui::DropInputMode> = {
+  ::android::gui::DropInputMode::NONE,
+  ::android::gui::DropInputMode::ALL,
+};
+#pragma clang diagnostic pop
+
+}  // namespace internal
+
+}  // namespace android
+
+#endif  // AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so
index 4fb86a6..595bd7b 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libgui.so b/x86_64/arch-x86_64/shared/vndk-core/libgui.so
index ae63877..c95ac45 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libgui.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libgui.so
Binary files differ
diff --git a/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h b/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h
index e60f677..39dbe9e 100644
--- a/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -25,6 +25,7 @@
 #include <gui/ITransactionCompletedListener.h>
 #include <math/mat4.h>
 
+#include <android/gui/DropInputMode.h>
 #ifndef NO_INPUT
 #include <input/InputWindow.h>
 #endif
@@ -105,6 +106,8 @@
         eBackgroundBlurRadiusChanged = 0x80'00000000,
         eProducerDisconnect = 0x100'00000000,
         eFixedTransformHintChanged = 0x200'00000000,
+        eTrustedOverlayChanged = 0x400'00000000,
+        eDropInputModeChanged = 0x8000'00000000,
     };
 
     layer_state_t()
@@ -139,7 +142,9 @@
             frameRateSelectionPriority(-1),
             frameRate(0.0f),
             frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT),
-            fixedTransformHint(ui::Transform::ROT_INVALID) {
+            fixedTransformHint(ui::Transform::ROT_INVALID),
+            isTrustedOverlay(false),
+            dropInputMode(gui::DropInputMode::NONE) {
         matrix.dsdx = matrix.dtdy = 1.0f;
         matrix.dsdy = matrix.dtdx = 0.0f;
         hdrMetadata.validTypes = 0;
@@ -237,6 +242,13 @@
     // a buffer of a different size. -1 means the transform hint is not set,
     // otherwise the value will be a valid ui::Rotation.
     ui::Transform::RotationFlags fixedTransformHint;
+
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
+    // Force inputflinger to drop all input events for the layer and its children.
+    gui::DropInputMode dropInputMode;
 };
 
 struct ComposerState {
diff --git a/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index adcb898..2e189e5 100644
--- a/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -529,6 +529,10 @@
         // a buffer of a different size.
         Transaction& setFixedTransformHint(const sp<SurfaceControl>& sc, int32_t transformHint);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
+        Transaction& setDropInputMode(const sp<SurfaceControl>& sc, gui::DropInputMode mode);
         status_t setDisplaySurface(const sp<IBinder>& token,
                 const sp<IGraphicBufferProducer>& bufferProducer);
 
diff --git a/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/BnDropInputMode.h b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/BnDropInputMode.h
new file mode 100644
index 0000000..d717a4a
--- /dev/null
+++ b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/BnDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bn classes
\ No newline at end of file
diff --git a/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/BpDropInputMode.h b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/BpDropInputMode.h
new file mode 100644
index 0000000..9c951e0
--- /dev/null
+++ b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/BpDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bp classes
\ No newline at end of file
diff --git a/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/DropInputMode.h b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/DropInputMode.h
new file mode 100644
index 0000000..7654ea2
--- /dev/null
+++ b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_64_shared/gen/aidl/android/gui/DropInputMode.h
@@ -0,0 +1,49 @@
+#ifndef AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+#define AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+
+#include <array>
+#include <binder/Enums.h>
+#include <cstdint>
+#include <string>
+
+namespace android {
+
+namespace gui {
+
+enum class DropInputMode : int32_t {
+  NONE = 0,
+  ALL = 1,
+};
+
+static inline std::string toString(DropInputMode val) {
+  switch(val) {
+  case DropInputMode::NONE:
+    return "NONE";
+  case DropInputMode::ALL:
+    return "ALL";
+  default:
+    return std::to_string(static_cast<int32_t>(val));
+  }
+}
+
+}  // namespace gui
+
+}  // namespace android
+namespace android {
+
+namespace internal {
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template <>
+constexpr inline std::array<::android::gui::DropInputMode, 2> enum_values<::android::gui::DropInputMode> = {
+  ::android::gui::DropInputMode::NONE,
+  ::android::gui::DropInputMode::ALL,
+};
+#pragma clang diagnostic pop
+
+}  // namespace internal
+
+}  // namespace android
+
+#endif  // AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
diff --git a/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/BnDropInputMode.h b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/BnDropInputMode.h
new file mode 100644
index 0000000..d717a4a
--- /dev/null
+++ b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/BnDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bn classes
\ No newline at end of file
diff --git a/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/BpDropInputMode.h b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/BpDropInputMode.h
new file mode 100644
index 0000000..9c951e0
--- /dev/null
+++ b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/BpDropInputMode.h
@@ -0,0 +1 @@
+#error TODO(b/111362593) enums do not have bp classes
\ No newline at end of file
diff --git a/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/DropInputMode.h b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/DropInputMode.h
new file mode 100644
index 0000000..7654ea2
--- /dev/null
+++ b/x86_64/include/generated-headers/frameworks/native/libs/gui/libgui/android_vendor.30_x86_x86_64_shared/gen/aidl/android/gui/DropInputMode.h
@@ -0,0 +1,49 @@
+#ifndef AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+#define AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_
+
+#include <array>
+#include <binder/Enums.h>
+#include <cstdint>
+#include <string>
+
+namespace android {
+
+namespace gui {
+
+enum class DropInputMode : int32_t {
+  NONE = 0,
+  ALL = 1,
+};
+
+static inline std::string toString(DropInputMode val) {
+  switch(val) {
+  case DropInputMode::NONE:
+    return "NONE";
+  case DropInputMode::ALL:
+    return "ALL";
+  default:
+    return std::to_string(static_cast<int32_t>(val));
+  }
+}
+
+}  // namespace gui
+
+}  // namespace android
+namespace android {
+
+namespace internal {
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template <>
+constexpr inline std::array<::android::gui::DropInputMode, 2> enum_values<::android::gui::DropInputMode> = {
+  ::android::gui::DropInputMode::NONE,
+  ::android::gui::DropInputMode::ALL,
+};
+#pragma clang diagnostic pop
+
+}  // namespace internal
+
+}  // namespace android
+
+#endif  // AIDL_GENERATED_ANDROID_GUI_DROP_INPUT_MODE_H_