Adding create user benchmark to UserLifecycleTests.

We already have createAndStartUser - but we should aim for more granular benchmarks as well, and this isolate create user timing only.

We'll keep createAndStartUser for now, since it contains all the historical data associated with it.

Bug: 140101272
Test: atest UserLifecycleTests
Change-Id: I0df72c90f7fd7bcdc8928d8510ffe36094a4d832
diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
index 4b7a7f6..32107b4 100644
--- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
+++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
@@ -119,9 +119,20 @@
     }
 
     @Test
+    public void createUser() {
+        while (mRunner.keepRunning()) {
+            final int userId = createUserNoFlags();
+
+            mRunner.pauseTiming();
+            removeUser(userId);
+            mRunner.resumeTiming();
+        }
+    }
+
+    @Test
     public void createAndStartUser() throws Exception {
         while (mRunner.keepRunning()) {
-            final int userId = createUser();
+            final int userId = createUserNoFlags();
 
             final CountDownLatch latch = new CountDownLatch(1);
             registerBroadcastReceiver(Intent.ACTION_USER_STARTED, latch, userId);
@@ -140,7 +151,7 @@
         while (mRunner.keepRunning()) {
             mRunner.pauseTiming();
             final int startUser = mAm.getCurrentUser();
-            final int userId = createUser();
+            final int userId = createUserNoFlags();
             mRunner.resumeTiming();
 
             switchUser(userId);
@@ -197,7 +208,7 @@
     public void stopUser() throws Exception {
         while (mRunner.keepRunning()) {
             mRunner.pauseTiming();
-            final int userId = createUser();
+            final int userId = createUserNoFlags();
             final CountDownLatch latch = new CountDownLatch(1);
             registerBroadcastReceiver(Intent.ACTION_USER_STARTED, latch, userId);
             mIam.startUserInBackground(userId);
@@ -217,7 +228,7 @@
         while (mRunner.keepRunning()) {
             mRunner.pauseTiming();
             final int startUser = mAm.getCurrentUser();
-            final int userId = createUser();
+            final int userId = createUserNoFlags();
             final CountDownLatch latch = new CountDownLatch(1);
             registerUserSwitchObserver(null, latch, userId);
             mRunner.resumeTiming();
@@ -237,7 +248,7 @@
         while (mRunner.keepRunning()) {
             mRunner.pauseTiming();
             final int startUser = mAm.getCurrentUser();
-            final int userId = createUser(UserInfo.FLAG_EPHEMERAL | UserInfo.FLAG_DEMO);
+            final int userId = createUserWithFlags(UserInfo.FLAG_EPHEMERAL | UserInfo.FLAG_DEMO);
             switchUser(userId);
             final CountDownLatch latch = new CountDownLatch(1);
             InstrumentationRegistry.getContext().registerReceiver(new BroadcastReceiver() {
@@ -396,7 +407,6 @@
     public void managedProfileCreateUnlockInstallAndLaunchApp() throws Exception {
         assumeTrue(mHasManagedUserFeature);
 
-        final String packageName = "perftests.multiuser.apps.dummyapp";
         while (mRunner.keepRunning()) {
             mRunner.pauseTiming();
             WindowManagerGlobal.getWindowManagerService().dismissKeyguard(null, null);
@@ -433,12 +443,12 @@
     }
 
     /** Creates a new user, returning its userId. */
-    private int createUser() {
-        return createUser(0);
+    private int createUserNoFlags() {
+        return createUserWithFlags(/* flags= */ 0);
     }
 
     /** Creates a new user with the given flags, returning its userId. */
-    private int createUser(int flags) {
+    private int createUserWithFlags(int flags) {
         int userId = mUm.createUser("TestUser", flags).id;
         mUsersToRemove.add(userId);
         return userId;
@@ -501,7 +511,7 @@
     private int initializeNewUserAndSwitchBack(boolean stopNewUser) throws Exception {
         final int origUser = mAm.getCurrentUser();
         // First, create and switch to testUser, waiting for its ACTION_USER_UNLOCKED
-        final int testUser = createUser();
+        final int testUser = createUserNoFlags();
         final CountDownLatch latch1 = new CountDownLatch(1);
         registerBroadcastReceiver(Intent.ACTION_USER_UNLOCKED, latch1, testUser);
         mAm.switchUser(testUser);