diff --git a/services/tests/wmtests/AndroidManifest.xml b/services/tests/wmtests/AndroidManifest.xml
index 85d0473ca5cab..9067593e70b95 100644
--- a/services/tests/wmtests/AndroidManifest.xml
+++ b/services/tests/wmtests/AndroidManifest.xml
@@ -58,7 +58,9 @@
-
+
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java
index 453e4684e8595..e16208bf17f0e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java
@@ -54,7 +54,10 @@ import android.widget.LinearLayout;
import androidx.test.filters.MediumTest;
+import com.android.server.wm.utils.CommonUtils;
+
import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
import java.util.Arrays;
@@ -77,6 +80,11 @@ public class TaskStackChangedListenerTest {
private static final int WAIT_TIMEOUT_MS = 5000;
private static final Object sLock = new Object();
+ @Before
+ public void setUp() {
+ CommonUtils.dismissKeyguard();
+ }
+
@After
public void tearDown() throws Exception {
if (mTaskStackListener != null) {
diff --git a/services/tests/wmtests/src/com/android/server/wm/utils/CommonUtils.java b/services/tests/wmtests/src/com/android/server/wm/utils/CommonUtils.java
index 99d73cf5f7d35..34f9c7579abc1 100644
--- a/services/tests/wmtests/src/com/android/server/wm/utils/CommonUtils.java
+++ b/services/tests/wmtests/src/com/android/server/wm/utils/CommonUtils.java
@@ -18,7 +18,11 @@ package com.android.server.wm.utils;
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+import android.app.KeyguardManager;
import android.app.UiAutomation;
+import android.view.KeyEvent;
+
+import androidx.test.uiautomator.UiDevice;
/** Provides common utility functions. */
public class CommonUtils {
@@ -34,4 +38,16 @@ public class CommonUtils {
getUiAutomation().dropShellPermissionIdentity();
}
}
+
+ /** Dismisses the Keyguard if it is locked. */
+ public static void dismissKeyguard() {
+ final KeyguardManager keyguardManager = getInstrumentation().getContext().getSystemService(
+ KeyguardManager.class);
+ if (keyguardManager == null || !keyguardManager.isKeyguardLocked()) {
+ return;
+ }
+ final UiDevice device = UiDevice.getInstance(getInstrumentation());
+ device.pressKeyCode(KeyEvent.KEYCODE_WAKEUP);
+ device.pressKeyCode(KeyEvent.KEYCODE_MENU);
+ }
}