diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index c6ad48fffc6eb..8d01f94bdf858 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -28859,8 +28859,12 @@ public class PackageManagerService extends IPackageManager.Stub @Override public void setSplashScreenTheme(@NonNull String packageName, @Nullable String themeId, int userId) { - int callingUid = Binder.getCallingUid(); - PackageSetting packageSetting = getPackageSettingForUser(packageName, callingUid, userId); + final int callingUid = Binder.getCallingUid(); + enforceCrossUserPermission(callingUid, userId, false /* requireFullPermission */, + false /* checkShell */, "setSplashScreenTheme"); + enforceOwnerRights(packageName, callingUid); + final PackageSetting packageSetting = getPackageSettingForUser(packageName, callingUid, + userId); if (packageSetting != null) { packageSetting.setSplashScreenTheme(userId, themeId); } diff --git a/services/tests/servicestests/Android.bp b/services/tests/servicestests/Android.bp index f182b66b910f3..927441df70f0e 100644 --- a/services/tests/servicestests/Android.bp +++ b/services/tests/servicestests/Android.bp @@ -110,6 +110,7 @@ android_test { data: [ ":JobTestApp", + ":StubTestApp", ], java_resources: [ diff --git a/services/tests/servicestests/AndroidTest.xml b/services/tests/servicestests/AndroidTest.xml index 5a0f1ee963a2e..4c638d669019f 100644 --- a/services/tests/servicestests/AndroidTest.xml +++ b/services/tests/servicestests/AndroidTest.xml @@ -28,6 +28,17 @@