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

Commit d1ca99b1 authored by Gavin Williams's avatar Gavin Williams
Browse files

Autoclick: Close scroll panel in test

In some test execution flakes the scroll panel doesn't close on its own
after the test completes so explicitly close it before the test ends.

Bug: 423981983
Test: AutoclickClickTypeTests
Flag: com.android.server.accessibility.enable_autoclick_indicator
Change-Id: Ic56eea209836885280bdb3512293f1e1e4cc6e3d
parent 018cab41
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -217,6 +217,12 @@ class AutoclickClickTypeTests {
        waitAndAssert {
            testClickButton.text == SCROLL_RIGHT_TEXT
        }

        // Close the scroll panel.
        moveMouseToScrollButton(SCROLL_EXIT_BUTTON_LAYOUT_ID)
        waitAndAssert {
            uiDevice.findObject(By.res(SCROLL_EXIT_BUTTON_LAYOUT_ID)) == null
        }
    }

    // Test activity responsible for receiving clicks and updating its UI depending on the click
@@ -325,6 +331,12 @@ class AutoclickClickTypeTests {
        @AfterClass
        @JvmStatic
        fun teardownAfterClass() {
            // Wait for the Autoclick panel to be closed.
            waitAndAssert {
                UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
                    .findObject(By.res(AUTOCLICK_PANEL_ID)) == null
            }

            // Re-enable SDK version dialog.
            InstrumentationRegistry.getInstrumentation().uiAutomation
                .executeShellCommand("setprop debug.wm.disable_deprecated_target_sdk_dialog 0")
+13 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import androidx.test.uiautomator.Configurator
import androidx.test.uiautomator.UiDevice
import com.android.compatibility.common.util.SettingsStateChangerRule
import com.android.server.accessibility.Flags
import org.junit.AfterClass
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotNull
@@ -172,4 +173,16 @@ class AutoclickPanelTests {
        val fifthPosition = getAutoclickPanelPosition()
        assertEquals(startingPosition, fifthPosition)
    }

    private companion object {
        @AfterClass
        @JvmStatic
        fun teardownAfterClass() {
            // Wait for the Autoclick panel to be closed.
            waitAndAssert {
                UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
                    .findObject(By.res(AUTOCLICK_PANEL_ID)) == null
            }
        }
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import com.android.compatibility.common.util.PollingCheck.waitFor
import kotlin.time.Duration.Companion.seconds
import platform.test.desktop.DesktopMouseTestRule

private val FIND_OBJECT_TIMEOUT = 5.seconds
private val FIND_OBJECT_TIMEOUT = 10.seconds

// Autoclick panel resource ids.
val LEFT_CLICK_BUTTON_LAYOUT_ID =
@@ -39,6 +39,7 @@ val DOUBLE_CLICK_BUTTON_LAYOUT_ID =
    "android:id/accessibility_autoclick_double_click_layout"
val DRAG_CLICK_BUTTON_LAYOUT_ID = "android:id/accessibility_autoclick_drag_layout"
val SCROLL_BUTTON_LAYOUT_ID = "android:id/accessibility_autoclick_scroll_layout"
val SCROLL_EXIT_BUTTON_LAYOUT_ID = "android:id/scroll_exit"
val SCROLL_UP_BUTTON_LAYOUT_ID = "android:id/scroll_up"
val SCROLL_DOWN_BUTTON_LAYOUT_ID = "android:id/scroll_down"
val SCROLL_LEFT_BUTTON_LAYOUT_ID = "android:id/scroll_left"