Allow apps with CREATE_USERS permission to create demo users.
Bug: 31092477
Test: adb shell am create-user --ephemeral --demo <user-name>
Change-Id: Ia08a50ec4371466c62cdc9f5391e298a666b5081
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 8bdb55e..6c6fd90 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1634,7 +1634,7 @@
<!-- @hide Allows an application to create, remove users and get the list of
users on the device. Applications holding this permission can only create restricted,
- guest, managed, and ephemeral users. For creating other kind of users,
+ guest, managed, demo, and ephemeral users. For creating other kind of users,
{@link android.Manifest.permission#MANAGE_USERS} is needed.
This permission is not available to third party applications. -->
<permission android:name="android.permission.CREATE_USERS"
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index c9ad49a..af055da 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -180,7 +180,8 @@
UserInfo.FLAG_MANAGED_PROFILE
| UserInfo.FLAG_EPHEMERAL
| UserInfo.FLAG_RESTRICTED
- | UserInfo.FLAG_GUEST;
+ | UserInfo.FLAG_GUEST
+ | UserInfo.FLAG_DEMO;
private static final int MIN_USER_ID = 10;
// We need to keep process uid within Integer.MAX_VALUE.