From 5f8701915733df4e33de4bb6b709f8e38b1ebe22 Mon Sep 17 00:00:00 2001 From: Bookatz Date: Thu, 30 May 2019 10:04:30 -0700 Subject: [PATCH] Multiuser perf test: re-launching app in profile Times starting (unlocking) and launching a previously-launched app in an already-created, but no-longer-running, profile. This represents how long it would take to immediately start a profile and launch an app within it for a re-used profile. Bug: 129857107 Test: atest multiuser.UserLifecycleTests#managedProfileUnlockAndLaunchApp_stopped Change-Id: I34cc9aeef07ea6481f4d168cda47b5dea69a5a74 --- .../android/multiuser/UserLifecycleTests.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java index ee4e1e43c8e62..e2ef7a11b3a0b 100644 --- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java +++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java @@ -326,6 +326,34 @@ public class UserLifecycleTests { } } + /** + * Tests starting (unlocking) and launching a previously-launched app + * in an already-created, but no-longer-running, profile. + * A sort of combination of {@link #managedProfileUnlockAndLaunchApp} and + * {@link #managedProfileUnlock_stopped}}. + */ + @Test + public void managedProfileUnlockAndLaunchApp_stopped() throws Exception { + while (mRunner.keepRunning()) { + mRunner.pauseTiming(); + final int userId = createManagedProfile(); + WindowManagerGlobal.getWindowManagerService().dismissKeyguard(null, null); + installPreexistingApp(userId, DUMMY_PACKAGE_NAME); + startUserInBackground(userId); + startApp(userId, DUMMY_PACKAGE_NAME); + stopUser(userId, true); + TimeUnit.SECONDS.sleep(1); // Brief cool-down before re-starting profile. + mRunner.resumeTiming(); + + startUserInBackground(userId); + startApp(userId, DUMMY_PACKAGE_NAME); + + mRunner.pauseTiming(); + removeUser(userId); + mRunner.resumeTiming(); + } + } + /** Tests installing a pre-existing app in a newly-created profile. */ @Test public void managedProfileInstall() throws Exception {