diff --git a/tests/src/com/android/launcher3/ui/WorkProfileTest.java b/tests/src/com/android/launcher3/ui/WorkProfileTest.java index 5761abdea1..5757f1341c 100644 --- a/tests/src/com/android/launcher3/ui/WorkProfileTest.java +++ b/tests/src/com/android/launcher3/ui/WorkProfileTest.java @@ -48,6 +48,7 @@ public class WorkProfileTest extends AbstractLauncherUiTest { private int mProfileUserId; private boolean mWorkProfileSetupSuccessful; + private final String TAG = "WorkProfileTest"; @Before @Override @@ -56,18 +57,17 @@ public class WorkProfileTest extends AbstractLauncherUiTest { String output = mDevice.executeShellCommand( "pm create-user --profileOf 0 --managed TestProfile"); - Log.d("b/203817455", "pm create-user; output: " + output); - - if (output.startsWith("Success")){ - assertTrue("Failed to create work profile", output.startsWith("Success")); - mWorkProfileSetupSuccessful = true; - } else { - return; // no need to setup launcher since all tests will skip. - } + // b/203817455 + updateWorkProfileSetupSuccessful("pm create-user", output); String[] tokens = output.split("\\s+"); mProfileUserId = Integer.parseInt(tokens[tokens.length - 1]); - mDevice.executeShellCommand("am start-user " + mProfileUserId); + output = mDevice.executeShellCommand("am start-user " + mProfileUserId); + updateWorkProfileSetupSuccessful("am start-user", output); + + if (!mWorkProfileSetupSuccessful) { + return; // no need to setup launcher since all tests will skip. + } mDevice.pressHome(); waitForLauncherCondition("Launcher didn't start", Objects::nonNull); @@ -107,6 +107,7 @@ public class WorkProfileTest extends AbstractLauncherUiTest { @Test public void workTabExists() { assumeTrue(mWorkProfileSetupSuccessful); + waitForWorkTabSetup(); waitForLauncherCondition("Personal tab is missing", launcher -> launcher.getAppsView().isPersonalTabVisible(), LauncherInstrumentation.WAIT_TIME_MS); @@ -183,4 +184,14 @@ public class WorkProfileTest extends AbstractLauncherUiTest { } }, LauncherInstrumentation.WAIT_TIME_MS); } + + private void updateWorkProfileSetupSuccessful(String cli, String output) { + Log.d(TAG, "updateWorkProfileSetupSuccessful, cli=" + cli + " " + "output=" + output); + if (output.startsWith("Success")) { + assertTrue(output, output.startsWith("Success")); + mWorkProfileSetupSuccessful = true; + } else { + mWorkProfileSetupSuccessful = false; + } + } }