summaryrefslogtreecommitdiffstats
path: root/libs/gui
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2014-01-29 17:17:11 -0800
committerCraig Mautner <cmautner@google.com>2014-02-18 15:55:42 -0800
commit44c35ec4a94eb33f7ee0df085c5d2d56d99962cf (patch)
treede1adb17f357fcd544ba81467735fe0b39cb0f00 /libs/gui
parented4d28dd70448b13eb74a3166ec8d1c1a530e2d4 (diff)
downloadframeworks_native-44c35ec4a94eb33f7ee0df085c5d2d56d99962cf.zip
frameworks_native-44c35ec4a94eb33f7ee0df085c5d2d56d99962cf.tar.gz
frameworks_native-44c35ec4a94eb33f7ee0df085c5d2d56d99962cf.tar.bz2
Allow "opaque" flag to be updated. DO NOT MERGE
Moves the "opaque layer" from Layer to Layer::State. This allows it to be updated as part of a transaction. Bug 12387406 Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
Diffstat (limited to 'libs/gui')
-rw-r--r--libs/gui/SurfaceComposerClient.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index aafc4d2..2246f5f 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -309,7 +309,12 @@ status_t Composer::setFlags(const sp<SurfaceComposerClient>& client,
layer_state_t* s = getLayerStateLocked(client, id);
if (!s)
return BAD_INDEX;
- s->what |= layer_state_t::eVisibilityChanged;
+ if (mask & layer_state_t::eLayerOpaque) {
+ s->what |= layer_state_t::eOpacityChanged;
+ }
+ if (mask & layer_state_t::eLayerHidden) {
+ s->what |= layer_state_t::eVisibilityChanged;
+ }
s->flags &= ~mask;
s->flags |= (flags & mask);
s->mask |= mask;