SurfaceFlinger: Hide Z order relatives when relativeOf is hiddenByPolicy.

Now that we are using relative Z for the SurfaceView background we
encounter yet another edge case. During Surface preservation we reparent
the SurfaceView from one WindowStateAnimator to a second. When we reparent
it we hide the old surface and show the new one. However at this time
the background is still relative to the OLD surface, which is Z ordered
on top of the new Surface. To fix this we ensure that if a layers relative
Z parent is hidden by policy the layer is also invisible.

Bug: 136061599
Test: TransactionTest#HideRelativeParentHidesLayer
Change-Id: I941fb9060dab79dba89300a5c86d6ea1a69f577d
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index 5c55111..8a80e15 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -824,7 +824,7 @@
 
 protected:
     // -----------------------------------------------------------------------
-    bool usingRelativeZ(LayerVector::StateSet stateSet);
+    bool usingRelativeZ(LayerVector::StateSet stateSet) const;
 
     bool mPremultipliedAlpha{true};
     String8 mName;