summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java33
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/OverlayPackagesProvider.java37
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();
+ }
}