Make layer background blur depend on parent alpha
That way animation leashes animating a fade will also animate the
background blur radius.
Bug: 171679369
Test: manual
Change-Id: I12196d10d2786f2239133fed501b7fb57c636c52
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index d5b599a..fe93f84 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -2185,7 +2185,10 @@
}
int32_t Layer::getBackgroundBlurRadius() const {
- return getDrawingState().backgroundBlurRadius;
+ const auto& p = mDrawingParent.promote();
+
+ half parentAlpha = (p != nullptr) ? p->getAlpha() : 1.0_hf;
+ return parentAlpha * getDrawingState().backgroundBlurRadius;
}
const std::vector<BlurRegion>& Layer::getBlurRegions() const {