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/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 2de169d..de728b4 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -2206,7 +2206,7 @@
     // Position the touchable region relative to frame screen location and restrict it to frame
     // bounds.
     info.touchableRegion = info.touchableRegion.translate(info.frameLeft, info.frameTop);
-    info.visible = isVisible();
+    info.visible = canReceiveInput();
     return info;
 }
 
@@ -2218,6 +2218,10 @@
     return nullptr;
 }
 
+bool Layer::canReceiveInput() const {
+    return isVisible();
+}
+
 // ---------------------------------------------------------------------------
 
 }; // namespace android