Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53782538 authored by Ben Reich's avatar Ben Reich
Browse files

Update all callers to that don't show soft keyboard to not close it

There are a bunch of flaky tests that attempt to close the soft
keyboard. This only needs to happen on a dialog that takes keyboard
inputs thus let's disable it for other dialogs (e.g. confirm delete).

Bug: 410618258
Test: atest DocumentsUIGoogleTests
Flag: EXEMPT test changes
Change-Id: Ic396507cbbd2d144784f2394f5b1bba1cbe96921
parent fb35df15
Loading
Loading
Loading
Loading
+18 −22
Original line number Diff line number Diff line
@@ -304,33 +304,29 @@ public class UiBot extends Bots.BaseBot {
    }

    /** Clicks the OK button on a dialog. */
    public void clickNonTextDialogOkButton() {
        UiObject2 okButton = mDevice.findObject(By.res("android:id/button1"));
        okButton.click();
    }

    /**
     * Clicks the OK button on a dialog and attempts to close the soft keyboard.
     * TODO(b/405807817): Merge this with the above method and update callers.
     */
    public void clickDialogOkButton() {
    public void clickDialogOkButton(boolean closeSoftKeyboard) {
        // On dialogs with no text input, a soft keyboard doesn't show up at all and attempting to
        // close it causes failures. Let's be intentional about the closure only on dialogs which
        // have text input.
        if (closeSoftKeyboard) {
            // Espresso has flaky results when keyboard shows up, so hiding it for now
            // before trying to click on any dialog button
            Espresso.closeSoftKeyboard();
        }
        UiObject2 okButton = mDevice.findObject(By.res("android:id/button1"));
        okButton.click();
    }

    /** Clicks the Cancel button on a dialog. */
    public void clickNonTextDialogCancelButton() {
        UiObject2 cancelButton = mDevice.findObject(By.res("android:id/button2"));
        cancelButton.click();
    }

    public void clickDialogCancelButton() throws UiObjectNotFoundException {
    public void clickDialogCancelButton(boolean closeSoftKeyboard) {
        // On dialogs with no text input, a soft keyboard doesn't show up at all and attempting to
        // close it causes failures. Let's be intentional about the closure only on dialogs which
        // have text input.
        if (closeSoftKeyboard) {
            // Espresso has flaky results when keyboard shows up, so hiding it for now
            // before trying to click on any dialog button
            Espresso.closeSoftKeyboard();
        }
        UiObject2 okButton = mDevice.findObject(By.res("android:id/button2"));
        okButton.click();
    }
+4 −4
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ public class CancelFromNotificationUiTest extends ActivityTest<FilesActivity> {
        bots.main.clickToolbarOverflowItem(context.getResources().getString(R.string.menu_copy));
        device.waitForIdle();

        bots.main.clickDialogCancelButton();
        bots.main.clickDialogCancelButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        bots.directory.waitForDocument(TARGET_FILE);
@@ -178,7 +178,7 @@ public class CancelFromNotificationUiTest extends ActivityTest<FilesActivity> {
        device.waitForIdle();

        bots.roots.openRoot(ROOT_1_ID);
        bots.main.clickDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        try {
@@ -211,7 +211,7 @@ public class CancelFromNotificationUiTest extends ActivityTest<FilesActivity> {
        bots.main.clickToolbarOverflowItem(context.getResources().getString(R.string.menu_move));
        device.waitForIdle();

        bots.main.clickDialogCancelButton();
        bots.main.clickDialogCancelButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        bots.directory.waitForDocument(TARGET_FILE);
@@ -233,7 +233,7 @@ public class CancelFromNotificationUiTest extends ActivityTest<FilesActivity> {
        device.waitForIdle();

        bots.roots.openRoot(ROOT_1_ID);
        bots.main.clickDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        try {
+4 −4
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
        device.waitForIdle();

        bots.main.clickToolbarItem(R.id.action_menu_delete);
        bots.main.clickDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        bots.directory.findDocument(targetFolder).waitUntilGone(WAIT_TIME_SECONDS);
@@ -393,7 +393,7 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
        bots.main.clickToolbarOverflowItem(context.getResources().getString(R.string.menu_copy));
        device.waitForIdle();
        bots.roots.openRoot(targetRoot);
        bots.main.clickDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        // Wait until copy operation finished
@@ -485,7 +485,7 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
        assertFalse(bots.directory.findDocument(fileName1).isEnabled());

        // Back to FilesActivity to do tear down action if necessary
        bots.main.clickDialogCancelButton();
        bots.main.clickDialogCancelButton(/* closeSoftKeyboard */ false);
    }

    @HugeLongTest
@@ -533,7 +533,7 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
        device.waitForIdle();

        // Initiate the copy operation.
        bots.main.clickDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        try {
+1 −1
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ public class FileDeleteUiTest extends ActivityTest<FilesActivity> {
        device.waitForIdle();

        bots.main.clickToolbarItem(R.id.action_menu_delete);
        bots.main.clickDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        try {
+2 −2
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ public class FileManagementUiTest extends ActivityTestJunit4<FilesActivity> {
        device.waitForIdle();
        bots.main.clickToolbarItem(R.id.action_menu_delete);

        bots.main.clickNonTextDialogOkButton();
        bots.main.clickDialogOkButton(/* closeSoftKeyboard */ false);
        device.waitForIdle();

        bots.directory.assertDocumentsAbsent("file1.png");
@@ -143,7 +143,7 @@ public class FileManagementUiTest extends ActivityTestJunit4<FilesActivity> {
        device.waitForIdle();
        bots.main.clickToolbarItem(R.id.action_menu_delete);

        bots.main.clickNonTextDialogCancelButton();
        bots.main.clickDialogCancelButton(/* closeSoftKeyboard */ false);

        bots.directory.waitForDocument("file1.png");
    }
Loading