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
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java
index 79cd891..dc91a11 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java
@@ -384,10 +384,10 @@
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 @@
@Override
public float passFilterRatio() {
final int alpha = mColorDrawable.getAlpha();
- return (float) (alpha / 255);
+ return alpha / 255.0f;
}
@Override