summaryrefslogtreecommitdiff
path: root/apct-tests/perftests/multiuser
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-04-03 22:03:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-04-03 22:03:51 +0000
commit117d17b96f8102076564f369b6d8c55ab2d0cdb2 (patch)
treed0f21f887c6bcf88e71725863784e3e25f22b7d5 /apct-tests/perftests/multiuser
parent1a07f6411b2e7fd0a17737aea5d963c4022a05fe (diff)
parent57908d9f2eff5b1e86d65d6bc556c90e7757c84a (diff)
Merge "MultiUserPerfTest - test restart profile"
Diffstat (limited to 'apct-tests/perftests/multiuser')
-rw-r--r--apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
index 7e7b87137ff8..c121bd9caa57 100644
--- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
+++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
@@ -230,6 +230,34 @@ public class UserLifecycleTests {
}
}
+ /** Tests starting an already-created, but no-longer-running, profile. */
+ @Test
+ public void managedProfileUnlock_stopped() throws Exception {
+ while (mRunner.keepRunning()) {
+ mRunner.pauseTiming();
+ final UserInfo userInfo = mUm.createProfileForUser("TestUser",
+ UserInfo.FLAG_MANAGED_PROFILE, mAm.getCurrentUser());
+ // Start the profile initially, then stop it. Similar to setQuietModeEnabled.
+ final CountDownLatch latch1 = new CountDownLatch(1);
+ registerBroadcastReceiver(Intent.ACTION_USER_UNLOCKED, latch1, userInfo.id);
+ mIam.startUserInBackground(userInfo.id);
+ latch1.await(TIMEOUT_IN_SECOND, TimeUnit.SECONDS);
+ stopUser(userInfo.id, true);
+
+ // Now we restart the profile.
+ final CountDownLatch latch2 = new CountDownLatch(1);
+ registerBroadcastReceiver(Intent.ACTION_USER_UNLOCKED, latch2, userInfo.id);
+ mRunner.resumeTiming();
+
+ mIam.startUserInBackground(userInfo.id);
+ latch2.await(TIMEOUT_IN_SECOND, TimeUnit.SECONDS);
+
+ mRunner.pauseTiming();
+ removeUser(userInfo.id);
+ mRunner.resumeTiming();
+ }
+ }
+
@Test
public void ephemeralUserStopped() throws Exception {
while (mRunner.keepRunning()) {