Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b7d5c23 authored by Felipe Leme's avatar Felipe Leme
Browse files

Modified dumpsys user so it always shows config_multiuserMaximumUsers

Currently, it just dumps UM.getMaxSupportedUsers(), which uses the
config but also read fw.max_users; with this change, it will show
both values when overridden. Example:

$ adb shell dumpsys user | grep "Max user"
  Max users: 4 (limit reached: false)

$ adb shell setprop fw.max_users 42 && adb shell dumpsys user | grep "Max user"
  Max users: 42 (built-in value: 4) (limit reached: false)

Bug: 397907533
Test: manual verification (see above)
Flag: EXEMPT changes on debugging components only

Change-Id: I5733cb7bf22cb9f60a45c14cb54e0df625322b34
parent 50ebccb2
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -7496,6 +7496,7 @@ public class UserManagerService extends IUserManager.Stub {
        final long now = System.currentTimeMillis();
        final long nowRealtime = SystemClock.elapsedRealtime();
        final StringBuilder sb = new StringBuilder();
        final Resources resources = Resources.getSystem();

        if (args != null && args.length > 0) {
            switch (args[0]) {
@@ -7576,10 +7577,15 @@ public class UserManagerService extends IUserManager.Stub {

        // Dump some capabilities
        pw.println();
        pw.print("  Max users: " + UserManager.getMaxSupportedUsers());
        int effectiveMaxSupportedUsers = UserManager.getMaxSupportedUsers();
        pw.print("  Max users: " + effectiveMaxSupportedUsers);
        int defaultMaxSupportedUsers = resources.getInteger(R.integer.config_multiuserMaximumUsers);
        if (effectiveMaxSupportedUsers != defaultMaxSupportedUsers) {
            pw.print(" (built-in value: " + defaultMaxSupportedUsers + ")");
        }
        pw.println(" (limit reached: " + isUserLimitReached() + ")");
        pw.println("  Supports switchable users: " + UserManager.supportsMultipleUsers());
        pw.println("  All guests ephemeral: " + Resources.getSystem().getBoolean(
        pw.println("  All guests ephemeral: " + resources.getBoolean(
                com.android.internal.R.bool.config_guestUserEphemeral));
        pw.println("  Force ephemeral users: " + mForceEphemeralUsers);
        final boolean isHeadlessSystemUserMode = isHeadlessSystemUserMode();
@@ -7594,7 +7600,7 @@ public class UserManagerService extends IUserManager.Stub {
            }
        }
        if (isHeadlessSystemUserMode) {
            pw.println("  Can switch to headless system user: " + Resources.getSystem()
            pw.println("  Can switch to headless system user: " + resources
                    .getBoolean(com.android.internal.R.bool.config_canSwitchToHeadlessSystemUser));
        }
        pw.println("  User version: " + mUserVersion);