Loading tests/FlickerTests/src/com/android/server/wm/flicker/CommonAssertions.kt +25 −2 Original line number Diff line number Diff line Loading @@ -80,12 +80,23 @@ fun WmAssertion.wallpaperWindowBecomesVisible( } } fun WmAssertion.windowAlwaysVisible( fun WmAssertion.wallpaperWindowBecomesInvisible( bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("wallpaperWindowBecomesInvisible", bugId, enabled) { this.showsBelowAppWindow("Wallpaper") .then() .hidesBelowAppWindow("Wallpaper") } } fun WmAssertion.appWindowAlwaysVisibleOnTop( packageName: String, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("windowAlwaysVisible", bugId, enabled) { all("appWindowAlwaysVisibleOnTop", bugId, enabled) { this.showsAppWindowOnTop(packageName) } } Loading Loading @@ -214,6 +225,18 @@ fun LayersAssertion.visibleLayersShownMoreThanOneConsecutiveEntry( } } fun LayersAssertion.appLayerReplacesWallpaperLayer( appName: String, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("appLayerReplacesWallpaperLayer", bugId, enabled) { this.showsLayer("Wallpaper") .then() .replaceVisibleLayer("Wallpaper", appName) } } fun LayersAssertion.wallpaperLayerReplacesAppLayer( testApp: IAppHelper, bugId: Int = 0, Loading tests/FlickerTests/src/com/android/server/wm/flicker/ime/CommonAssertions.kt +23 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,17 @@ fun WmAssertion.imeAppWindowIsAlwaysVisible( } } fun WmAssertion.imeWindowBecomesVisible( bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("imeWindowBecomesVisible", bugId, enabled) { this.hidesNonAppWindow(IME_WINDOW_TITLE) .then() .showsNonAppWindow(IME_WINDOW_TITLE) } } fun WmAssertion.imeWindowBecomesInvisible( bugId: Int = 0, enabled: Boolean = bugId == 0 Loading @@ -76,6 +87,18 @@ fun WmAssertion.imeWindowBecomesInvisible( } } fun WmAssertion.imeAppWindowBecomesVisible( windowName: String, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("imeAppWindowBecomesVisible", bugId, enabled) { this.hidesAppWindow(windowName) .then() .showsAppWindow(windowName) } } fun WmAssertion.imeAppWindowBecomesInvisible( testApp: IAppHelper, bugId: Int = 0, Loading tests/FlickerTests/src/com/android/server/wm/flicker/ime/OpenImeWindowTest.kt +5 −8 Original line number Diff line number Diff line Loading @@ -33,6 +33,8 @@ import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry import com.android.server.wm.flicker.noUncoveredRegions import com.android.server.wm.flicker.appWindowAlwaysVisibleOnTop import com.android.server.wm.flicker.layerAlwaysVisible import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible Loading @@ -56,8 +58,6 @@ class OpenImeWindowTest( flickerSpec: Flicker ) : FlickerTestRunner(testName, flickerSpec) { companion object { private const val IME_WINDOW_TITLE = "InputMethod" @Parameterized.Parameters(name = "{0}") @JvmStatic fun getParams(): List<Array<Any>> { Loading Loading @@ -93,12 +93,8 @@ class OpenImeWindowTest( statusBarWindowIsAlwaysVisible() visibleWindowsShownMoreThanOneConsecutiveEntry() all("imeWindowBecomesVisible") { this.skipUntilFirstAssertion() .hidesNonAppWindow(IME_WINDOW_TITLE) .then() .showsNonAppWindow(IME_WINDOW_TITLE) } imeWindowBecomesVisible() appWindowAlwaysVisibleOnTop(testApp.`package`) } layersTrace { Loading @@ -110,6 +106,7 @@ class OpenImeWindowTest( visibleLayersShownMoreThanOneConsecutiveEntry() imeLayerBecomesVisible() layerAlwaysVisible(testApp.`package`) } } } Loading tests/FlickerTests/src/com/android/server/wm/flicker/ime/ReOpenImeWindowTest.kt +47 −4 Original line number Diff line number Diff line Loading @@ -23,14 +23,27 @@ import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.Flicker import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory import com.android.server.wm.flicker.helpers.buildTestTag import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper import com.android.server.wm.flicker.helpers.reopenAppFromOverview import com.android.server.wm.flicker.helpers.hasWindow import com.android.server.wm.flicker.helpers.buildTestTag import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible import com.android.server.wm.flicker.wallpaperWindowBecomesInvisible import com.android.server.wm.flicker.appLayerReplacesWallpaperLayer import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelper import com.android.server.wm.flicker.noUncoveredRegions import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible import com.android.server.wm.flicker.testapp.ActivityOptions import org.junit.FixMethodOrder import org.junit.runner.RunWith import org.junit.runners.MethodSorters Loading @@ -54,8 +67,9 @@ class ReOpenImeWindowTest( fun getParams(): List<Array<Any>> { val instrumentation = InstrumentationRegistry.getInstrumentation() val testApp = ImeAppAutoFocusHelper(instrumentation) val testAppComponentName = ActivityOptions.IME_ACTIVITY_AUTO_FOCUS_COMPONENT_NAME return FlickerTestRunnerFactory(instrumentation, repetitions = 10) return FlickerTestRunnerFactory(instrumentation, repetitions = 5) .buildTest { configuration -> withTestName { buildTestTag("reOpenImeAutoFocus", testApp, configuration) } repeat { configuration.repetitions } Loading @@ -73,7 +87,7 @@ class ReOpenImeWindowTest( } transitions { device.reopenAppFromOverview() device.hasWindow(testApp.getPackage()) WindowManagerStateHelper().waitForFullScreenApp(testAppComponentName) } teardown { eachRun { Loading @@ -84,6 +98,35 @@ class ReOpenImeWindowTest( this.setRotation(Surface.ROTATION_0) } } assertions { windowManagerTrace { navBarWindowIsAlwaysVisible() statusBarWindowIsAlwaysVisible() visibleWindowsShownMoreThanOneConsecutiveEntry() imeWindowBecomesVisible() imeAppWindowBecomesVisible(testAppComponentName.className) wallpaperWindowBecomesInvisible() } layersTrace { noUncoveredRegions(Surface.ROTATION_0, configuration.endRotation, bugId = 141361128) navBarLayerRotatesAndScales(Surface.ROTATION_0, configuration.endRotation) statusBarLayerRotatesScales(Surface.ROTATION_0, configuration.endRotation) statusBarLayerIsAlwaysVisible( enabled = Surface.ROTATION_0 == configuration.endRotation) navBarLayerIsAlwaysVisible( enabled = Surface.ROTATION_0 == configuration.endRotation) visibleLayersShownMoreThanOneConsecutiveEntry( enabled = Surface.ROTATION_0 == configuration.endRotation) imeLayerBecomesVisible() appLayerReplacesWallpaperLayer(testAppComponentName.className) } } } } } Loading tests/FlickerTests/src/com/android/server/wm/flicker/launch/CommonAssertions.kt +0 −24 Original line number Diff line number Diff line Loading @@ -17,20 +17,8 @@ package com.android.server.wm.flicker.launch import android.platform.helpers.IAppHelper import com.android.server.wm.flicker.dsl.LayersAssertion import com.android.server.wm.flicker.dsl.WmAssertion fun WmAssertion.wallpaperWindowBecomesInvisible( bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("wallpaperWindowBecomesInvisible", bugId, enabled) { this.showsBelowAppWindow("Wallpaper") .then() .hidesBelowAppWindow("Wallpaper") } } fun WmAssertion.appWindowReplacesLauncherAsTopWindow( testApp: IAppHelper, bugId: Int = 0, Loading @@ -42,15 +30,3 @@ fun WmAssertion.appWindowReplacesLauncherAsTopWindow( .showsAppWindowOnTop("Snapshot", testApp.getPackage()) } } No newline at end of file fun LayersAssertion.appLayerReplacesWallpaperLayer( testApp: IAppHelper, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("appLayerReplacesWallpaperLayer", bugId, enabled) { this.showsLayer("Wallpaper") .then() .replaceVisibleLayer("Wallpaper", testApp.getPackage()) } } No newline at end of file Loading
tests/FlickerTests/src/com/android/server/wm/flicker/CommonAssertions.kt +25 −2 Original line number Diff line number Diff line Loading @@ -80,12 +80,23 @@ fun WmAssertion.wallpaperWindowBecomesVisible( } } fun WmAssertion.windowAlwaysVisible( fun WmAssertion.wallpaperWindowBecomesInvisible( bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("wallpaperWindowBecomesInvisible", bugId, enabled) { this.showsBelowAppWindow("Wallpaper") .then() .hidesBelowAppWindow("Wallpaper") } } fun WmAssertion.appWindowAlwaysVisibleOnTop( packageName: String, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("windowAlwaysVisible", bugId, enabled) { all("appWindowAlwaysVisibleOnTop", bugId, enabled) { this.showsAppWindowOnTop(packageName) } } Loading Loading @@ -214,6 +225,18 @@ fun LayersAssertion.visibleLayersShownMoreThanOneConsecutiveEntry( } } fun LayersAssertion.appLayerReplacesWallpaperLayer( appName: String, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("appLayerReplacesWallpaperLayer", bugId, enabled) { this.showsLayer("Wallpaper") .then() .replaceVisibleLayer("Wallpaper", appName) } } fun LayersAssertion.wallpaperLayerReplacesAppLayer( testApp: IAppHelper, bugId: Int = 0, Loading
tests/FlickerTests/src/com/android/server/wm/flicker/ime/CommonAssertions.kt +23 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,17 @@ fun WmAssertion.imeAppWindowIsAlwaysVisible( } } fun WmAssertion.imeWindowBecomesVisible( bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("imeWindowBecomesVisible", bugId, enabled) { this.hidesNonAppWindow(IME_WINDOW_TITLE) .then() .showsNonAppWindow(IME_WINDOW_TITLE) } } fun WmAssertion.imeWindowBecomesInvisible( bugId: Int = 0, enabled: Boolean = bugId == 0 Loading @@ -76,6 +87,18 @@ fun WmAssertion.imeWindowBecomesInvisible( } } fun WmAssertion.imeAppWindowBecomesVisible( windowName: String, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("imeAppWindowBecomesVisible", bugId, enabled) { this.hidesAppWindow(windowName) .then() .showsAppWindow(windowName) } } fun WmAssertion.imeAppWindowBecomesInvisible( testApp: IAppHelper, bugId: Int = 0, Loading
tests/FlickerTests/src/com/android/server/wm/flicker/ime/OpenImeWindowTest.kt +5 −8 Original line number Diff line number Diff line Loading @@ -33,6 +33,8 @@ import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry import com.android.server.wm.flicker.noUncoveredRegions import com.android.server.wm.flicker.appWindowAlwaysVisibleOnTop import com.android.server.wm.flicker.layerAlwaysVisible import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible Loading @@ -56,8 +58,6 @@ class OpenImeWindowTest( flickerSpec: Flicker ) : FlickerTestRunner(testName, flickerSpec) { companion object { private const val IME_WINDOW_TITLE = "InputMethod" @Parameterized.Parameters(name = "{0}") @JvmStatic fun getParams(): List<Array<Any>> { Loading Loading @@ -93,12 +93,8 @@ class OpenImeWindowTest( statusBarWindowIsAlwaysVisible() visibleWindowsShownMoreThanOneConsecutiveEntry() all("imeWindowBecomesVisible") { this.skipUntilFirstAssertion() .hidesNonAppWindow(IME_WINDOW_TITLE) .then() .showsNonAppWindow(IME_WINDOW_TITLE) } imeWindowBecomesVisible() appWindowAlwaysVisibleOnTop(testApp.`package`) } layersTrace { Loading @@ -110,6 +106,7 @@ class OpenImeWindowTest( visibleLayersShownMoreThanOneConsecutiveEntry() imeLayerBecomesVisible() layerAlwaysVisible(testApp.`package`) } } } Loading
tests/FlickerTests/src/com/android/server/wm/flicker/ime/ReOpenImeWindowTest.kt +47 −4 Original line number Diff line number Diff line Loading @@ -23,14 +23,27 @@ import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.Flicker import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory import com.android.server.wm.flicker.helpers.buildTestTag import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper import com.android.server.wm.flicker.helpers.reopenAppFromOverview import com.android.server.wm.flicker.helpers.hasWindow import com.android.server.wm.flicker.helpers.buildTestTag import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible import com.android.server.wm.flicker.wallpaperWindowBecomesInvisible import com.android.server.wm.flicker.appLayerReplacesWallpaperLayer import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelper import com.android.server.wm.flicker.noUncoveredRegions import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible import com.android.server.wm.flicker.testapp.ActivityOptions import org.junit.FixMethodOrder import org.junit.runner.RunWith import org.junit.runners.MethodSorters Loading @@ -54,8 +67,9 @@ class ReOpenImeWindowTest( fun getParams(): List<Array<Any>> { val instrumentation = InstrumentationRegistry.getInstrumentation() val testApp = ImeAppAutoFocusHelper(instrumentation) val testAppComponentName = ActivityOptions.IME_ACTIVITY_AUTO_FOCUS_COMPONENT_NAME return FlickerTestRunnerFactory(instrumentation, repetitions = 10) return FlickerTestRunnerFactory(instrumentation, repetitions = 5) .buildTest { configuration -> withTestName { buildTestTag("reOpenImeAutoFocus", testApp, configuration) } repeat { configuration.repetitions } Loading @@ -73,7 +87,7 @@ class ReOpenImeWindowTest( } transitions { device.reopenAppFromOverview() device.hasWindow(testApp.getPackage()) WindowManagerStateHelper().waitForFullScreenApp(testAppComponentName) } teardown { eachRun { Loading @@ -84,6 +98,35 @@ class ReOpenImeWindowTest( this.setRotation(Surface.ROTATION_0) } } assertions { windowManagerTrace { navBarWindowIsAlwaysVisible() statusBarWindowIsAlwaysVisible() visibleWindowsShownMoreThanOneConsecutiveEntry() imeWindowBecomesVisible() imeAppWindowBecomesVisible(testAppComponentName.className) wallpaperWindowBecomesInvisible() } layersTrace { noUncoveredRegions(Surface.ROTATION_0, configuration.endRotation, bugId = 141361128) navBarLayerRotatesAndScales(Surface.ROTATION_0, configuration.endRotation) statusBarLayerRotatesScales(Surface.ROTATION_0, configuration.endRotation) statusBarLayerIsAlwaysVisible( enabled = Surface.ROTATION_0 == configuration.endRotation) navBarLayerIsAlwaysVisible( enabled = Surface.ROTATION_0 == configuration.endRotation) visibleLayersShownMoreThanOneConsecutiveEntry( enabled = Surface.ROTATION_0 == configuration.endRotation) imeLayerBecomesVisible() appLayerReplacesWallpaperLayer(testAppComponentName.className) } } } } } Loading
tests/FlickerTests/src/com/android/server/wm/flicker/launch/CommonAssertions.kt +0 −24 Original line number Diff line number Diff line Loading @@ -17,20 +17,8 @@ package com.android.server.wm.flicker.launch import android.platform.helpers.IAppHelper import com.android.server.wm.flicker.dsl.LayersAssertion import com.android.server.wm.flicker.dsl.WmAssertion fun WmAssertion.wallpaperWindowBecomesInvisible( bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("wallpaperWindowBecomesInvisible", bugId, enabled) { this.showsBelowAppWindow("Wallpaper") .then() .hidesBelowAppWindow("Wallpaper") } } fun WmAssertion.appWindowReplacesLauncherAsTopWindow( testApp: IAppHelper, bugId: Int = 0, Loading @@ -42,15 +30,3 @@ fun WmAssertion.appWindowReplacesLauncherAsTopWindow( .showsAppWindowOnTop("Snapshot", testApp.getPackage()) } } No newline at end of file fun LayersAssertion.appLayerReplacesWallpaperLayer( testApp: IAppHelper, bugId: Int = 0, enabled: Boolean = bugId == 0 ) { all("appLayerReplacesWallpaperLayer", bugId, enabled) { this.showsLayer("Wallpaper") .then() .replaceVisibleLayer("Wallpaper", testApp.getPackage()) } } No newline at end of file