frameworks/native: Add support for transparent layers

Add support for marking layers transparent, which SurfaceFlinger
can drop from composition. This is meant to be set by apps, in
situations where the window above a surfaceview is fully transparent.

Change-Id: Ide979d47489a6fc4c6f47f6dd026853d83d484c0
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 41b8435..bb19e6a 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2535,7 +2535,8 @@
                 flags |= eTraversalNeeded;
         }
         if ((what & layer_state_t::eVisibilityChanged) ||
-                (what & layer_state_t::eOpacityChanged)) {
+                (what & layer_state_t::eOpacityChanged) ||
+                (what & layer_state_t::eTransparencyChanged)) {
             // TODO: should we just use an eFlagsChanged for this?
             if (layer->setFlags(s.flags, s.mask))
                 flags |= eTraversalNeeded;