diff options
2 files changed, 69 insertions, 1 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index aabe65030bf0..28e9acf8d883 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -756,21 +756,25 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { @Override public void onUserStarting(@NonNull TargetUser user) { + if (user.isPreCreated()) return; mService.handleStartUser(user.getUserIdentifier()); } @Override public void onUserUnlocking(@NonNull TargetUser user) { + if (user.isPreCreated()) return; mService.handleUnlockUser(user.getUserIdentifier()); } @Override public void onUserStopping(@NonNull TargetUser user) { + if (user.isPreCreated()) return; mService.handleStopUser(user.getUserIdentifier()); } @Override public void onUserUnlocked(@NonNull TargetUser user) { + if (user.isPreCreated()) return; mService.handleOnUserUnlocked(user.getUserIdentifier()); } } @@ -9185,7 +9189,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { pw.println(); mStatLogger.dump(pw); pw.println(); - pw.println("Encryption Status: " + getEncryptionStatusName(getEncryptionStatus())); pw.println(); @@ -9201,7 +9204,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mPolicyCache.dump(pw); pw.println(); mStateCache.dump(pw); + pw.println(); } + dumpResources(pw); } } @@ -9216,6 +9221,32 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { pw.decreaseIndent(); } + private void dumpResources(IndentingPrintWriter pw) { + mOverlayPackagesProvider.dump(pw); + pw.println(); + + pw.println("Other overlayable app resources"); + pw.increaseIndent(); + dumpResources(pw, mContext, "cross_profile_apps", R.array.cross_profile_apps); + dumpResources(pw, mContext, "vendor_cross_profile_apps", R.array.vendor_cross_profile_apps); + pw.decreaseIndent(); + pw.println(); + } + + static void dumpResources(IndentingPrintWriter pw, Context context, String resName, int resId) { + String[] apps = context.getResources().getStringArray(resId); + if (apps == null || apps.length == 0) { + pw.printf("%s: empty\n", resName); + return; + } + pw.printf("%s: %d app%s\n", resName, apps.length, apps.length == 1 ? "" : "s"); + pw.increaseIndent(); + for (int i = 0; i < apps.length; i++) { + pw.printf("%d: %s\n", i, apps[i]); + } + pw.decreaseIndent(); + } + @Override public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err, String[] args, ShellCallback callback, ResultReceiver resultReceiver) { diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/OverlayPackagesProvider.java b/services/devicepolicy/java/com/android/server/devicepolicy/OverlayPackagesProvider.java index 261a83c4f67a..280f12f6a60e 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/OverlayPackagesProvider.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/OverlayPackagesProvider.java @@ -21,6 +21,7 @@ import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PRO import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER; import static com.android.internal.util.Preconditions.checkNotNull; +import static com.android.server.devicepolicy.DevicePolicyManagerService.dumpResources; import android.annotation.NonNull; import android.annotation.UserIdInt; @@ -32,6 +33,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.util.ArraySet; +import android.util.IndentingPrintWriter; import android.view.inputmethod.InputMethodInfo; import com.android.internal.R; @@ -224,4 +226,39 @@ public class OverlayPackagesProvider { } return new ArraySet<>(Arrays.asList(mContext.getResources().getStringArray(resId))); } + + void dump(IndentingPrintWriter pw) { + pw.println("OverlayPackagesProvider"); + pw.increaseIndent(); + + dumpResources(pw, mContext, "required_apps_managed_device", + R.array.required_apps_managed_device); + dumpResources(pw, mContext, "required_apps_managed_user", + R.array.required_apps_managed_user); + dumpResources(pw, mContext, "required_apps_managed_profile", + R.array.required_apps_managed_profile); + + dumpResources(pw, mContext, "disallowed_apps_managed_device", + R.array.disallowed_apps_managed_device); + dumpResources(pw, mContext, "disallowed_apps_managed_user", + R.array.disallowed_apps_managed_user); + dumpResources(pw, mContext, "disallowed_apps_managed_device", + R.array.disallowed_apps_managed_device); + + dumpResources(pw, mContext, "vendor_required_apps_managed_device", + R.array.vendor_required_apps_managed_device); + dumpResources(pw, mContext, "vendor_required_apps_managed_user", + R.array.vendor_required_apps_managed_user); + dumpResources(pw, mContext, "vendor_required_apps_managed_profile", + R.array.vendor_required_apps_managed_profile); + + dumpResources(pw, mContext, "vendor_disallowed_apps_managed_user", + R.array.vendor_disallowed_apps_managed_user); + dumpResources(pw, mContext, "vendor_disallowed_apps_managed_device", + R.array.vendor_disallowed_apps_managed_device); + dumpResources(pw, mContext, "vendor_disallowed_apps_managed_profile", + R.array.vendor_disallowed_apps_managed_profile); + + pw.decreaseIndent(); + } } |