Merge "Tests: waiting for nav bar to match nav mode" into ub-launcher3-qt-dev

This commit is contained in:
Vadim Tryshev 2019-06-20 21:39:32 +00:00 committed by Android (Google) Code Review
commit b4ff312181
2 changed files with 29 additions and 14 deletions

View File

@ -159,13 +159,20 @@ public class NavigationModeSwitchRule implements TestRule {
}
for (int i = 0; i != 100; ++i) {
if (mLauncher.getNavigationModel() == expectedMode) {
Thread.sleep(5000);
return;
}
if (mLauncher.getNavigationModel() == expectedMode) break;
Thread.sleep(100);
}
Assert.fail("Couldn't switch to " + overlayPackage);
Assert.assertTrue("Couldn't switch to " + overlayPackage,
mLauncher.getNavigationModel() == expectedMode);
for (int i = 0; i != 100; ++i) {
if (mLauncher.getNavigationModeMismatchError() == null) break;
Thread.sleep(100);
}
final String error = mLauncher.getNavigationModeMismatchError();
Assert.assertTrue("Switching nav mode: " + error, error == null);
Thread.sleep(5000);
}
private void setOverlayPackageEnabled(String overlayPackage, boolean enable)

View File

@ -315,18 +315,26 @@ public final class LauncherInstrumentation {
mExpectedRotation = expectedRotation;
}
private UiObject2 verifyContainerType(ContainerType containerType) {
assertEquals("Unexpected display rotation",
mExpectedRotation, mDevice.getDisplayRotation());
public String getNavigationModeMismatchError() {
final NavigationModel navigationModel = getNavigationModel();
final boolean hasRecentsButton = hasSystemUiObject("recent_apps");
final boolean hasHomeButton = hasSystemUiObject("home");
assertTrue("Presence of recents button doesn't match the interaction mode, mode="
+ navigationModel.name() + ", hasRecents=" + hasRecentsButton,
(navigationModel == NavigationModel.THREE_BUTTON) == hasRecentsButton);
assertTrue("Presence of home button doesn't match the interaction mode, mode="
+ navigationModel.name() + ", hasHome=" + hasHomeButton,
(navigationModel != NavigationModel.ZERO_BUTTON) == hasHomeButton);
if ((navigationModel == NavigationModel.THREE_BUTTON) != hasRecentsButton) {
return "Presence of recents button doesn't match the interaction mode, mode="
+ navigationModel.name() + ", hasRecents=" + hasRecentsButton;
}
if ((navigationModel != NavigationModel.ZERO_BUTTON) != hasHomeButton) {
return "Presence of home button doesn't match the interaction mode, mode="
+ navigationModel.name() + ", hasHome=" + hasHomeButton;
}
return null;
}
private UiObject2 verifyContainerType(ContainerType containerType) {
assertEquals("Unexpected display rotation",
mExpectedRotation, mDevice.getDisplayRotation());
final String error = getNavigationModeMismatchError();
assertTrue(error, error == null);
log("verifyContainerType: " + containerType);
try (Closable c = addContextLayer(