From 0fc2d3299a8457fe1ba21bc44de78c093be8b4a7 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Fri, 5 Aug 2022 16:12:09 +0000 Subject: [PATCH] Added UserManager.isUsersOnSecondaryDisplaysSupported() By default it reads the value from config_multiuserUsersOnSecondaryDisplays overridden by the system property for development purposes. Test: adb shell setprop fw.users_on_secondary_displays true && \ adb shell dumpsys user | grep -i "secondary display" Fixes: 240613396 Change-Id: I1428a117a683e99fcaef71492be297c844d520e2 --- core/java/android/os/UserManager.java | 20 +++++++++++++++++++ core/res/res/values/config.xml | 4 ++++ core/res/res/values/symbols.xml | 1 + .../android/server/pm/UserManagerService.java | 4 ++++ 4 files changed, 29 insertions(+) diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 8d3509c451a46..d14d2e4402fe2 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -2837,6 +2837,26 @@ public class UserManager { } } + /** + * @hide + */ + public static boolean isUsersOnSecondaryDisplaysEnabled() { + return SystemProperties.getBoolean("fw.users_on_secondary_displays", + Resources.getSystem() + .getBoolean(R.bool.config_multiuserUsersOnSecondaryDisplays)); + } + + /** + * Returns whether the device allows users to run (and launch activities) on secondary displays. + * + * @return {@code false} for most devices, except automotive vehicles with passenger displays. + * + * @hide + */ + public boolean isUsersOnSecondaryDisplaysSupported() { + return isUsersOnSecondaryDisplaysEnabled(); + } + /** * Return whether the context user is running in an "unlocked" state. *

diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 9d2c3d7b7e0ee..aab9f8f81166f 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2629,6 +2629,10 @@ will be locked. --> false + + false + false diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index cb0393f5eed1b..11994598a3634 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -453,6 +453,7 @@ + diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index e022f15c32ad7..0c1c265428c68 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -6010,6 +6010,10 @@ public class UserManagerService extends IUserManager.Stub { } // synchronized (mPackagesLock) + // Multiple Users on Multiple Display info + pw.println(" Supports users on secondary displays: " + + UserManager.isUsersOnSecondaryDisplaysEnabled()); + // Dump some capabilities pw.println(); pw.print(" Max users: " + UserManager.getMaxSupportedUsers());