diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index c9b8ba2f7fe2f..132d73771fae9 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -9215,6 +9215,7 @@ package android.os {
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean someUserHasAccount(@NonNull String, @NonNull String);
+ field @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public static final String ACTION_CREATE_SUPERVISED_USER = "android.os.action.CREATE_SUPERVISED_USER";
field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 563d6cc3e07f6..b3639e419a563 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -1545,6 +1545,17 @@ public class UserManager {
private static final String ACTION_CREATE_USER = "android.os.action.CREATE_USER";
+ /**
+ * Action to start an activity to create a supervised user.
+ * Only devices with non-empty config_supervisedUserCreationPackage support this.
+ *
+ * @hide
+ */
+ @SystemApi
+ @RequiresPermission(Manifest.permission.MANAGE_USERS)
+ public static final String ACTION_CREATE_SUPERVISED_USER =
+ "android.os.action.CREATE_SUPERVISED_USER";
+
/**
* Extra containing a name for the user being created. Optional parameter passed to
* ACTION_CREATE_USER activity.
diff --git a/core/res/res/drawable/ic_add_supervised_user.xml b/core/res/res/drawable/ic_add_supervised_user.xml
new file mode 100644
index 0000000000000..a49377594a220
--- /dev/null
+++ b/core/res/res/drawable/ic_add_supervised_user.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 5b7d1b9607d59..5759d647abe51 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -5518,4 +5518,13 @@
4
+
+
+
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 769e667a2b257..b16e462192f51 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -5374,6 +5374,8 @@
Allow %1$s to create a new User with %2$s (a User with this account already exists) ?
Allow %1$s to create a new User with %2$s ?
+
+ Add supervised user
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 55bf24b25b0db..1295210caf9e0 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -4629,4 +4629,6 @@
+
+