Changed ContainerLayer's isVisible method to always return false.
ContainerLayers should always be considered not visible so they don't get
calculated when computing visible regions. However, isVisible is also used when
sending window info to InputManager about which windows can be touched.
ContainerLayers should still be considered visible to InputManager. The
function canReceiveInput was added so it can return a different value than
isVisible which only means visible to the screen.
Test: No longer composer ContainerLayers
Bug: 123686354
Change-Id: Ib39952e89ffd4ea9618b6027e7da96ef175de058
diff --git a/services/surfaceflinger/ContainerLayer.h b/services/surfaceflinger/ContainerLayer.h
index 413844b..becac10 100644
--- a/services/surfaceflinger/ContainerLayer.h
+++ b/services/surfaceflinger/ContainerLayer.h
@@ -33,6 +33,8 @@
bool useIdentityTransform) override;
bool isVisible() const override;
+ bool canReceiveInput() const override;
+
void setPerFrameData(DisplayId displayId, const ui::Transform& transform, const Rect& viewport,
int32_t supportedPerFrameMetadata) override;