From 13810374a47f783e89092a5232f0ac5da21da403 Mon Sep 17 00:00:00 2001 From: Tony Mak Date: Tue, 8 Nov 2016 19:30:55 +0000 Subject: [PATCH] Allow shell to enable/disable individual component in test package Test: cts-tradefed run cts --module DevicePolicyManager --test com.android.cts.devicepolicy.ManagedProfileTest#testAppLinks_enabledStatus Bug: 32695379 Change-Id: I0fa22f50f1aa344195b7c6bc1e6ee97879d91c46 --- .../java/com/android/server/pm/PackageManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index ca773357c7725..f09d06e6304cd 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -18088,8 +18088,10 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } synchronized (mPackages) { - if (uid == Process.SHELL_UID) { + if (uid == Process.SHELL_UID + && (pkgSetting.pkgFlags & ApplicationInfo.FLAG_TEST_ONLY) == 0) { // Shell can only change whole packages between ENABLED and DISABLED_USER states + // unless it is a test package. int oldState = pkgSetting.getEnabled(userId); if (className == null &&