DO NOT MERGE Change the logic of ContainerLayer's isVisible()

The original logic of ContainerLayer's isVisible() checks the hidden flag.
Therefore, SurfaceFlinger thought that those abstract surfaces have to
show in display. However, they are meaningless for frame content. They
should be ignored by SurfaceFlinger, so we can safely return false.

Test: Change the type of abstract surface to ContainerLayer. Then slide
      UI, play video and so on.
Bug: 111164627
Change-Id: I09e8647dc7fd8578d28dd79f3428a5e2eeb822fe
diff --git a/services/surfaceflinger/ContainerLayer.cpp b/services/surfaceflinger/ContainerLayer.cpp
index f259d93..6f5bd0e 100644
--- a/services/surfaceflinger/ContainerLayer.cpp
+++ b/services/surfaceflinger/ContainerLayer.cpp
@@ -30,10 +30,6 @@
 
 void ContainerLayer::onDraw(const RenderArea&, const Region& /* clip */, bool) const {}
 
-bool ContainerLayer::isVisible() const {
-    return !isHiddenByPolicy();
-}
-
 void ContainerLayer::setPerFrameData(const sp<const DisplayDevice>&) {}
 
 } // namespace android
diff --git a/services/surfaceflinger/ContainerLayer.h b/services/surfaceflinger/ContainerLayer.h
index b352b96..38b1882 100644
--- a/services/surfaceflinger/ContainerLayer.h
+++ b/services/surfaceflinger/ContainerLayer.h
@@ -32,7 +32,7 @@
     const char* getTypeId() const override { return "ContainerLayer"; }
     void onDraw(const RenderArea& renderArea, const Region& clip,
                 bool useIdentityTransform) const override;
-    bool isVisible() const override;
+    bool isVisible() const override { return false; }
 
     void setPerFrameData(const sp<const DisplayDevice>& displayDevice) override;