From 78ad8f00f8c54243844eb4e05f7fc36d38986ed4 Mon Sep 17 00:00:00 2001 From: Riley Jones Date: Tue, 14 Mar 2023 20:08:35 +0000 Subject: [PATCH] Additional A11yMenu test verifying dismissal on phone lock Bug: 265173123 Test: atest AccessibilityMenuServiceTests Change-Id: I8c5ef738671f53fbed35d345ca6054c4f1983a87 --- .../tests/AccessibilityMenuServiceTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/SystemUI/accessibility/accessibilitymenu/tests/src/com/android/systemui/accessibility/accessibilitymenu/tests/AccessibilityMenuServiceTest.java b/packages/SystemUI/accessibility/accessibilitymenu/tests/src/com/android/systemui/accessibility/accessibilitymenu/tests/AccessibilityMenuServiceTest.java index 0e89dcdaf142b..7277392f18414 100644 --- a/packages/SystemUI/accessibility/accessibilitymenu/tests/src/com/android/systemui/accessibility/accessibilitymenu/tests/AccessibilityMenuServiceTest.java +++ b/packages/SystemUI/accessibility/accessibilitymenu/tests/src/com/android/systemui/accessibility/accessibilitymenu/tests/AccessibilityMenuServiceTest.java @@ -29,6 +29,8 @@ import static com.android.systemui.accessibility.accessibilitymenu.Accessibility import static com.android.systemui.accessibility.accessibilitymenu.AccessibilityMenuService.INTENT_TOGGLE_MENU; import static com.android.systemui.accessibility.accessibilitymenu.AccessibilityMenuService.PACKAGE_NAME; +import static com.google.common.truth.Truth.assertThat; + import android.accessibilityservice.AccessibilityServiceInfo; import android.app.Instrumentation; import android.app.UiAutomation; @@ -39,6 +41,7 @@ import android.content.IntentFilter; import android.hardware.display.BrightnessInfo; import android.hardware.display.DisplayManager; import android.media.AudioManager; +import android.os.PowerManager; import android.provider.Settings; import android.util.Log; import android.view.accessibility.AccessibilityManager; @@ -375,4 +378,26 @@ public class AccessibilityMenuServiceTest { () -> sLastGlobalAction.compareAndSet( GLOBAL_ACTION_TAKE_SCREENSHOT, NO_GLOBAL_ACTION)); } + + @Test + public void testOnScreenLock_closesMenu() throws Throwable { + openMenu(); + Context context = sInstrumentation.getTargetContext(); + PowerManager powerManager = context.getSystemService(PowerManager.class); + + assertThat(powerManager).isNotNull(); + assertThat(powerManager.isInteractive()).isTrue(); + + sUiAutomation.performGlobalAction(GLOBAL_ACTION_LOCK_SCREEN); + TestUtils.waitUntil("Screen did not become locked", + TIMEOUT_UI_CHANGE_S, + () -> !powerManager.isInteractive()); + + sUiAutomation.executeShellCommand("input keyevent KEYCODE_WAKEUP"); + TestUtils.waitUntil("Screen did not wake up", + TIMEOUT_UI_CHANGE_S, + () -> powerManager.isInteractive()); + + assertThat(isMenuVisible()).isFalse(); + } }