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

Commit 1d173672 authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Wait for stable window geometry in AnrTest

When AnrTest was switched to uinput, we lost the behaviour of waiting
for animations to complete prior to injection.

Likely, this caused the test to become flaky, because the activity
sometimes is not launched when we try to send input.

In this CL, we are adding a speculative fix for this by waiting for the
window geometry to stabilize before the injection starts.

Bug: 339924248
Test: atest AnrTest
Change-Id: I60ce69ce4ce8afe8b8fa3c9f48ff82c1a1ec9936
parent bcc59ec1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ android_test {
        "androidx.test.uiautomator_uiautomator",
        "compatibility-device-util-axt",
        "cts-input-lib",
        "cts-wm-util",
        "flag-junit",
        "frameworks-base-testutils",
        "hamcrest-library",
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.os.IInputConstants.UNMULTIPLIED_DEFAULT_DISPATCHING_TIMEOUT_MILLI
import android.os.SystemClock
import android.provider.Settings
import android.provider.Settings.Global.HIDE_ERROR_DIALOGS
import android.server.wm.CtsWindowInfoUtils.waitForStableWindowGeometry
import android.testing.PollingCheck

import androidx.test.uiautomator.By
@@ -38,6 +39,8 @@ import androidx.test.uiautomator.Until

import com.android.cts.input.UinputTouchScreen

import java.util.concurrent.TimeUnit

import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
@@ -183,5 +186,6 @@ class AnrTest {
        val flags = " -W -n "
        val startCmd = "am start $flags $PACKAGE_NAME/.UnresponsiveGestureMonitorActivity"
        instrumentation.uiAutomation.executeShellCommand(startCmd)
        waitForStableWindowGeometry(5L, TimeUnit.SECONDS)
    }
}