Remove uses of deprecated splashscreenContent attribute

Test: atest CtsWindowManagerDeviceTestCases:SplashscreenTests#testSplashscreenContent
Bug: 182271482
Change-Id: If84fe4eff95afd4fe89754b25aa160f50d605c3a
This commit is contained in:
Vadim Caen
2021-04-20 17:43:54 +02:00
parent efb81fd199
commit c784a70726
2 changed files with 9 additions and 42 deletions

View File

@@ -34,7 +34,6 @@ import android.graphics.drawable.AdaptiveIconDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Build;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Trace;
@@ -112,18 +111,14 @@ public class SplashscreenContentDrawer {
* @param consumer Receiving the SplashScreenView object, which will also be executed
* on splash screen thread. Note that the view can be null if failed.
*/
void createContentView(Context context, boolean emptyView, int splashScreenResId,
ActivityInfo info, int taskId, Consumer<SplashScreenView> consumer) {
void createContentView(Context context, boolean emptyView, ActivityInfo info, int taskId,
Consumer<SplashScreenView> consumer) {
mSplashscreenWorkerHandler.post(() -> {
SplashScreenView contentView;
try {
contentView = SplashscreenContentDrawer.makeSplashscreenContent(
context, splashScreenResId);
if (contentView == null) {
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "makeSplashScreenContentView");
contentView = makeSplashScreenContentView(context, info, emptyView);
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
}
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "makeSplashScreenContentView");
contentView = makeSplashScreenContentView(context, info, emptyView);
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
} catch (RuntimeException e) {
Slog.w(TAG, "failed creating starting window content at taskId: "
+ taskId, e);
@@ -478,30 +473,6 @@ public class SplashscreenContentDrawer {
return root < 0.1;
}
private static SplashScreenView makeSplashscreenContent(Context ctx,
int splashscreenContentResId) {
// doesn't support windowSplashscreenContent after S
// TODO add an allowlist to skip some packages if needed
final int targetSdkVersion = ctx.getApplicationInfo().targetSdkVersion;
if (DEBUG) {
Slog.d(TAG, "target sdk for package: " + targetSdkVersion);
}
if (targetSdkVersion >= Build.VERSION_CODES.S) {
return null;
}
if (splashscreenContentResId == 0) {
return null;
}
final Drawable drawable = ctx.getDrawable(splashscreenContentResId);
if (drawable == null) {
return null;
}
SplashScreenView view = new SplashScreenView(ctx);
view.setNotCopyable();
view.setBackground(drawable);
return view;
}
private static class DrawableColorTester {
private final ColorTester mColorChecker;

View File

@@ -233,12 +233,8 @@ public class StartingSurfaceDrawer {
windowFlags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED;
final boolean[] showWallpaper = new boolean[1];
final int[] splashscreenContentResId = new int[1];
getWindowResFromContext(context, a -> {
splashscreenContentResId[0] =
a.getResourceId(R.styleable.Window_windowSplashscreenContent, 0);
showWallpaper[0] = a.getBoolean(R.styleable.Window_windowShowWallpaper, false);
});
getWindowResFromContext(context, a ->
showWallpaper[0] = a.getBoolean(R.styleable.Window_windowShowWallpaper, false));
if (showWallpaper[0]) {
windowFlags |= WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
}
@@ -339,8 +335,8 @@ public class StartingSurfaceDrawer {
record.setSplashScreenView(contentView);
}
};
mSplashscreenContentDrawer.createContentView(context, emptyView,
splashscreenContentResId[0], activityInfo, taskId, viewSupplier::setView);
mSplashscreenContentDrawer.createContentView(context, emptyView, activityInfo, taskId,
viewSupplier::setView);
try {
final View view = win.getDecorView();