SF: clamp alpha value instead of error
SF tests expect that invalid alpha values
will be clamped instead of returning failure.
Test: atest SurfaceFlinger_test:SurfaceFlinger_test
Bug: 242117046
Change-Id: I1318f21c21ec9b3fe9577ac3b9f32605e7f7f13a
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index d16ddb9..e8aaf62 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -1270,13 +1270,10 @@
return *this;
}
if (alpha < 0.0f || alpha > 1.0f) {
- ALOGE("SurfaceComposerClient::Transaction::setAlpha: invalid alpha %f", alpha);
- mStatus = BAD_VALUE;
- return *this;
-
+ ALOGE("SurfaceComposerClient::Transaction::setAlpha: invalid alpha %f, clamping", alpha);
}
s->what |= layer_state_t::eAlphaChanged;
- s->alpha = alpha;
+ s->alpha = std::clamp(alpha, 0.f, 1.f);
registerSurfaceControlForCallback(sc);
return *this;