From fa56d3ed277b46ada09830c1d091dbc6508704c9 Mon Sep 17 00:00:00 2001 From: vadimt Date: Mon, 16 Aug 2021 18:37:28 -0700 Subject: [PATCH] Waiting for Launcher to restart after enabling test provider Bug: 188806432 Test: presubmit Change-Id: Ie821c7641c351e0926fff1b7218c4ed745d2dd8f --- .../launcher3/tapl/LauncherInstrumentation.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index 8b9ae6964c..e7a1dfafe4 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -251,8 +251,19 @@ public final class LauncherInstrumentation { } else { try { final int userId = ContextUtils.getUserId(getContext()); + final String launcherPidCommand = "pidof " + pi.packageName; + final String initialPid = mDevice.executeShellCommand(launcherPidCommand) + .replaceAll("\\s", ""); mDevice.executeShellCommand( "pm enable --user " + userId + " " + cn.flattenToString()); + // Wait for Launcher restart after enabling test provider. + for (int i = 0; i < 100; ++i) { + final String currentPid = mDevice.executeShellCommand(launcherPidCommand) + .replaceAll("\\s", ""); + if (!currentPid.isEmpty() && !currentPid.equals(initialPid)) break; + if (i == 99) fail("Launcher didn't restart after enabling test provider"); + SystemClock.sleep(100); + } } catch (IOException e) { fail(e.toString()); } @@ -305,7 +316,7 @@ public final class LauncherInstrumentation { public boolean isTwoPanels() { return getTestInfo(TestProtocol.REQUEST_IS_TWO_PANELS) - .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD); + .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD); } private void setForcePauseTimeout(long timeout) {