Fixes a wrong cast position.

There should do type cast before calculate.
But still, the background of splash screen cannot be translucent.

Bug: 269794589
Test: set windowSplashScreenBackground with translucent color, and
verify the splash screen background color shouldn't be translucent.

Change-Id: I2a8719eb9dad5267e5675dc68ab69558cb9cdfa1
This commit is contained in:
wilsonshih
2023-02-23 11:42:34 +00:00
parent c76fab19da
commit dca05aeb15

View File

@@ -384,10 +384,10 @@ public class SplashscreenContentDrawer {
private static int estimateWindowBGColor(Drawable themeBGDrawable) {
final DrawableColorTester themeBGTester = new DrawableColorTester(
themeBGDrawable, DrawableColorTester.TRANSPARENT_FILTER /* filterType */);
if (themeBGTester.passFilterRatio() == 0) {
// the window background is transparent, unable to draw
Slog.w(TAG, "Window background is transparent, fill background with black color");
themeBGDrawable, DrawableColorTester.TRANSLUCENT_FILTER /* filterType */);
if (themeBGTester.passFilterRatio() != 1) {
// the window background is translucent, unable to draw
Slog.w(TAG, "Window background is translucent, fill background with black color");
return getSystemBGColor();
} else {
return themeBGTester.getDominateColor();
@@ -870,7 +870,7 @@ public class SplashscreenContentDrawer {
@Override
public float passFilterRatio() {
final int alpha = mColorDrawable.getAlpha();
return (float) (alpha / 255);
return alpha / 255.0f;
}
@Override