Loading libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ android_test { libs: ["android.test.runner.stubs.system"], static_libs: [ "FlickerTestsBase", "WMShellTestUtils", "androidx.test.ext.junit", "flag-junit", "flickerlib", Loading libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/BubbleFlickerTestBase.kt +33 −16 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.flag.junit.CheckFlagsRule import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.tools.NavBar import android.tools.Tag import android.tools.device.apphelpers.StandardAppHelper import android.tools.flicker.assertions.SubjectsParser Loading @@ -30,13 +31,18 @@ import android.tools.io.Reader import android.tools.traces.component.ComponentNameMatcher import android.tools.traces.surfaceflinger.LayerTraceEntry import android.tools.traces.wm.WindowManagerState import androidx.annotation.CallSuper import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel import com.android.server.wm.flicker.assertNavBarPosition import com.android.server.wm.flicker.assertStatusBarLayerPosition import com.android.server.wm.flicker.helpers.SimpleAppHelper import com.android.wm.shell.flicker.bubbles.utils.BubbleFlickerSubjects import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized /** * The base class of Bubble flicker tests, which includes: Loading @@ -44,6 +50,7 @@ import org.junit.Test * - Launcher visibility tests: checks launcher window/layer is always visible * - System Bars tests; checks the visibility of navigation and status bar */ @RunWith(Parameterized::class) abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { @get:Rule Loading @@ -57,46 +64,39 @@ abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { /** * The event log subject. */ override val eventLogSubject = EventLogSubject( traceDataReader.readEventLogTrace() ?: error("Failed to read event log"), traceDataReader ) final override lateinit var eventLogSubject: EventLogSubject /** * The WindowManager trace subject, which is equivalent to the data shown in * `Window Manager` tab in go/winscope. */ override val wmTraceSubject = WindowManagerTraceSubject( traceDataReader.readWmTrace() ?: error("Failed to read WM trace") ) final override lateinit var wmTraceSubject: WindowManagerTraceSubject /** * The Layer trace subject, which is equivalent to the data shown in * `Surface Flinger` tab in go/winscope. */ override val layersTraceSubject = LayersTraceSubject( traceDataReader.readLayersTrace() ?: error("Failed to read layer trace") ) final override lateinit var layersTraceSubject: LayersTraceSubject /** * The first [WindowManagerState] of the WindowManager trace. */ final override val wmStateSubjectAtStart: WindowManagerStateSubject final override lateinit var wmStateSubjectAtStart: WindowManagerStateSubject /** * The last [WindowManagerState] of the WindowManager trace. */ final override val wmStateSubjectAtEnd: WindowManagerStateSubject final override lateinit var wmStateSubjectAtEnd: WindowManagerStateSubject /** * The first [LayerTraceEntry] of the Layers trace. */ final override val layerTraceEntrySubjectAtStart: LayerTraceEntrySubject final override lateinit var layerTraceEntrySubjectAtStart: LayerTraceEntrySubject /** * The last [LayerTraceEntry] of the Layers trace. */ final override val layerTraceEntrySubjectAtEnd: LayerTraceEntrySubject final override lateinit var layerTraceEntrySubjectAtEnd: LayerTraceEntrySubject // TODO(b/396020056): Verify bubble scenarios in 3-button mode. /** Loading @@ -115,7 +115,20 @@ abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { /** * Initialize subjects inherited from [FlickerSubject]. */ init { @CallSuper @Before open fun setUp() { eventLogSubject = EventLogSubject( traceDataReader.readEventLogTrace() ?: error("Failed to read event log"), traceDataReader ) wmTraceSubject = WindowManagerTraceSubject( traceDataReader.readWmTrace() ?: error("Failed to read WM trace") ) layersTraceSubject = LayersTraceSubject( traceDataReader.readLayersTrace() ?: error("Failed to read layer trace") ) val parser = SubjectsParser(traceDataReader) wmStateSubjectAtStart = parser.getSubjectOfType(Tag.START) wmStateSubjectAtEnd = parser.getSubjectOfType(Tag.END) Loading Loading @@ -248,5 +261,9 @@ abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { // endregion companion object : FlickerPropertyInitializer() companion object : FlickerPropertyInitializer() { @Parameterized.Parameters(name = "{0}") @JvmStatic fun data(): List<NavBar> = listOf(NavBar.MODE_GESTURAL, NavBar.MODE_3BUTTON) } } No newline at end of file libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/CollapseBubbleAppViaBackTest.kt +12 −9 Original line number Diff line number Diff line Loading @@ -19,19 +19,20 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.annotations.Presubmit import androidx.test.filters.RequiresDevice import android.platform.test.annotations.RequiresFlagsEnabled import androidx.test.ext.junit.runners.AndroidJUnit4 import android.tools.NavBar import com.android.wm.shell.Flags import com.android.wm.shell.Utils import com.android.wm.shell.flicker.bubbles.testcase.BubbleAppBecomesNotExpandedTestCases import com.android.wm.shell.flicker.bubbles.testcase.BubbleAlwaysVisibleTestCases import com.android.wm.shell.flicker.bubbles.utils.ApplyPerParameterRule import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import com.android.wm.shell.flicker.bubbles.utils.RecordTraceWithTransitionRule import com.android.wm.shell.flicker.bubbles.utils.collapseBubbleAppViaBackKey import com.android.wm.shell.flicker.bubbles.utils.launchBubbleViaBubbleMenu import com.android.wm.shell.flicker.bubbles.utils.setUpBeforeTransition import org.junit.ClassRule import org.junit.FixMethodOrder import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters /** Loading @@ -55,20 +56,16 @@ import org.junit.runners.MethodSorters * - [BubbleAppBecomesNotExpandedTestCases] */ @RequiresFlagsEnabled(Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE) @RunWith(AndroidJUnit4::class) @RequiresDevice @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Presubmit class CollapseBubbleAppViaBackTest : class CollapseBubbleAppViaBackTest(navBar: NavBar) : BubbleFlickerTestBase(), BubbleAlwaysVisibleTestCases, BubbleAppBecomesNotExpandedTestCases { companion object : FlickerPropertyInitializer() { @ClassRule @JvmField val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( private val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( setUpBeforeTransition = { setUpBeforeTransition(instrumentation, wmHelper) launchBubbleViaBubbleMenu(testApp, tapl, wmHelper) Loading @@ -78,6 +75,12 @@ class CollapseBubbleAppViaBackTest : ) } @get:Rule val setUpRule = ApplyPerParameterRule( Utils.testSetupRule(navBar).around(recordTraceWithTransitionRule), params = arrayOf(navBar) ) override val traceDataReader get() = recordTraceWithTransitionRule.reader Loading libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/DismissExpandedBubbleViaBubbleViewTest.kt +14 −10 Original line number Diff line number Diff line Loading @@ -19,11 +19,13 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.annotations.Presubmit import androidx.test.filters.RequiresDevice import android.platform.test.annotations.RequiresFlagsEnabled import android.tools.NavBar import android.tools.traces.component.ComponentNameMatcher.Companion.BUBBLE import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.FlakyTest import com.android.wm.shell.Flags import com.android.wm.shell.Utils import com.android.wm.shell.flicker.bubbles.testcase.BubbleAppBecomesNotExpandedTestCases import com.android.wm.shell.flicker.bubbles.utils.ApplyPerParameterRule import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import com.android.wm.shell.flicker.bubbles.utils.RecordTraceWithTransitionRule import com.android.wm.shell.flicker.bubbles.utils.dismissBubbleAppViaBubbleView Loading @@ -31,10 +33,9 @@ import com.android.wm.shell.flicker.bubbles.utils.launchBubbleViaBubbleMenu import com.android.wm.shell.flicker.bubbles.utils.setUpBeforeTransition import org.junit.Assume.assumeFalse import org.junit.Before import org.junit.ClassRule import org.junit.FixMethodOrder import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters /** Loading @@ -59,19 +60,15 @@ import org.junit.runners.MethodSorters */ @FlakyTest(bugId = 427850786) @RequiresFlagsEnabled(Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE) @RunWith(AndroidJUnit4::class) @RequiresDevice @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Presubmit class DismissExpandedBubbleViaBubbleViewTest : class DismissExpandedBubbleViaBubbleViewTest(navBar: NavBar) : BubbleFlickerTestBase(), BubbleAppBecomesNotExpandedTestCases { companion object : FlickerPropertyInitializer() { @ClassRule @JvmField val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( private val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( setUpBeforeTransition = { setUpBeforeTransition(instrumentation, wmHelper) launchBubbleViaBubbleMenu(testApp, tapl, wmHelper) Loading @@ -80,13 +77,20 @@ class DismissExpandedBubbleViaBubbleViewTest : ) } @get:Rule val setUpRule = ApplyPerParameterRule( Utils.testSetupRule(navBar).around(recordTraceWithTransitionRule), params = arrayOf(navBar) ) override val traceDataReader get() = recordTraceWithTransitionRule.reader // TODO(b/396020056): Verify expand bubble with bubble bar. @Before fun setUp() { override fun setUp() { assumeFalse(tapl.isTablet) super.setUp() } // region Bubble stack related tests Loading libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/EnterBubbleViaBubbleMenuTest.kt +12 −9 Original line number Diff line number Diff line Loading @@ -18,19 +18,20 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.annotations.Presubmit import android.platform.test.annotations.RequiresFlagsEnabled import android.tools.NavBar import android.tools.traces.component.ComponentNameMatcher.Companion.BUBBLE import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.RequiresDevice import com.android.wm.shell.Flags import com.android.wm.shell.Utils import com.android.wm.shell.flicker.bubbles.testcase.BubbleAppBecomesExpandedTestCases import com.android.wm.shell.flicker.bubbles.utils.ApplyPerParameterRule import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import com.android.wm.shell.flicker.bubbles.utils.RecordTraceWithTransitionRule import com.android.wm.shell.flicker.bubbles.utils.launchBubbleViaBubbleMenu import com.android.wm.shell.flicker.bubbles.utils.setUpBeforeTransition import org.junit.ClassRule import org.junit.FixMethodOrder import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters /** Loading @@ -49,24 +50,26 @@ import org.junit.runners.MethodSorters * - Bubble becomes visible */ @RequiresFlagsEnabled(Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE) @RunWith(AndroidJUnit4::class) @RequiresDevice @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Presubmit open class EnterBubbleViaBubbleMenuTest : open class EnterBubbleViaBubbleMenuTest(navBar: NavBar) : BubbleFlickerTestBase(), BubbleAppBecomesExpandedTestCases { companion object : FlickerPropertyInitializer() { @ClassRule @JvmField val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( private val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( setUpBeforeTransition = { setUpBeforeTransition(instrumentation, wmHelper) }, transition = { launchBubbleViaBubbleMenu(testApp, tapl, wmHelper) }, tearDownAfterTransition = { testApp.exit(wmHelper) } ) } @get:Rule open val setUpRule = ApplyPerParameterRule( Utils.testSetupRule(navBar).around(recordTraceWithTransitionRule), params = arrayOf(navBar) ) override val traceDataReader get() = recordTraceWithTransitionRule.reader Loading Loading
libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ android_test { libs: ["android.test.runner.stubs.system"], static_libs: [ "FlickerTestsBase", "WMShellTestUtils", "androidx.test.ext.junit", "flag-junit", "flickerlib", Loading
libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/BubbleFlickerTestBase.kt +33 −16 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.flag.junit.CheckFlagsRule import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.tools.NavBar import android.tools.Tag import android.tools.device.apphelpers.StandardAppHelper import android.tools.flicker.assertions.SubjectsParser Loading @@ -30,13 +31,18 @@ import android.tools.io.Reader import android.tools.traces.component.ComponentNameMatcher import android.tools.traces.surfaceflinger.LayerTraceEntry import android.tools.traces.wm.WindowManagerState import androidx.annotation.CallSuper import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel import com.android.server.wm.flicker.assertNavBarPosition import com.android.server.wm.flicker.assertStatusBarLayerPosition import com.android.server.wm.flicker.helpers.SimpleAppHelper import com.android.wm.shell.flicker.bubbles.utils.BubbleFlickerSubjects import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized /** * The base class of Bubble flicker tests, which includes: Loading @@ -44,6 +50,7 @@ import org.junit.Test * - Launcher visibility tests: checks launcher window/layer is always visible * - System Bars tests; checks the visibility of navigation and status bar */ @RunWith(Parameterized::class) abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { @get:Rule Loading @@ -57,46 +64,39 @@ abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { /** * The event log subject. */ override val eventLogSubject = EventLogSubject( traceDataReader.readEventLogTrace() ?: error("Failed to read event log"), traceDataReader ) final override lateinit var eventLogSubject: EventLogSubject /** * The WindowManager trace subject, which is equivalent to the data shown in * `Window Manager` tab in go/winscope. */ override val wmTraceSubject = WindowManagerTraceSubject( traceDataReader.readWmTrace() ?: error("Failed to read WM trace") ) final override lateinit var wmTraceSubject: WindowManagerTraceSubject /** * The Layer trace subject, which is equivalent to the data shown in * `Surface Flinger` tab in go/winscope. */ override val layersTraceSubject = LayersTraceSubject( traceDataReader.readLayersTrace() ?: error("Failed to read layer trace") ) final override lateinit var layersTraceSubject: LayersTraceSubject /** * The first [WindowManagerState] of the WindowManager trace. */ final override val wmStateSubjectAtStart: WindowManagerStateSubject final override lateinit var wmStateSubjectAtStart: WindowManagerStateSubject /** * The last [WindowManagerState] of the WindowManager trace. */ final override val wmStateSubjectAtEnd: WindowManagerStateSubject final override lateinit var wmStateSubjectAtEnd: WindowManagerStateSubject /** * The first [LayerTraceEntry] of the Layers trace. */ final override val layerTraceEntrySubjectAtStart: LayerTraceEntrySubject final override lateinit var layerTraceEntrySubjectAtStart: LayerTraceEntrySubject /** * The last [LayerTraceEntry] of the Layers trace. */ final override val layerTraceEntrySubjectAtEnd: LayerTraceEntrySubject final override lateinit var layerTraceEntrySubjectAtEnd: LayerTraceEntrySubject // TODO(b/396020056): Verify bubble scenarios in 3-button mode. /** Loading @@ -115,7 +115,20 @@ abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { /** * Initialize subjects inherited from [FlickerSubject]. */ init { @CallSuper @Before open fun setUp() { eventLogSubject = EventLogSubject( traceDataReader.readEventLogTrace() ?: error("Failed to read event log"), traceDataReader ) wmTraceSubject = WindowManagerTraceSubject( traceDataReader.readWmTrace() ?: error("Failed to read WM trace") ) layersTraceSubject = LayersTraceSubject( traceDataReader.readLayersTrace() ?: error("Failed to read layer trace") ) val parser = SubjectsParser(traceDataReader) wmStateSubjectAtStart = parser.getSubjectOfType(Tag.START) wmStateSubjectAtEnd = parser.getSubjectOfType(Tag.END) Loading Loading @@ -248,5 +261,9 @@ abstract class BubbleFlickerTestBase : BubbleFlickerSubjects { // endregion companion object : FlickerPropertyInitializer() companion object : FlickerPropertyInitializer() { @Parameterized.Parameters(name = "{0}") @JvmStatic fun data(): List<NavBar> = listOf(NavBar.MODE_GESTURAL, NavBar.MODE_3BUTTON) } } No newline at end of file
libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/CollapseBubbleAppViaBackTest.kt +12 −9 Original line number Diff line number Diff line Loading @@ -19,19 +19,20 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.annotations.Presubmit import androidx.test.filters.RequiresDevice import android.platform.test.annotations.RequiresFlagsEnabled import androidx.test.ext.junit.runners.AndroidJUnit4 import android.tools.NavBar import com.android.wm.shell.Flags import com.android.wm.shell.Utils import com.android.wm.shell.flicker.bubbles.testcase.BubbleAppBecomesNotExpandedTestCases import com.android.wm.shell.flicker.bubbles.testcase.BubbleAlwaysVisibleTestCases import com.android.wm.shell.flicker.bubbles.utils.ApplyPerParameterRule import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import com.android.wm.shell.flicker.bubbles.utils.RecordTraceWithTransitionRule import com.android.wm.shell.flicker.bubbles.utils.collapseBubbleAppViaBackKey import com.android.wm.shell.flicker.bubbles.utils.launchBubbleViaBubbleMenu import com.android.wm.shell.flicker.bubbles.utils.setUpBeforeTransition import org.junit.ClassRule import org.junit.FixMethodOrder import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters /** Loading @@ -55,20 +56,16 @@ import org.junit.runners.MethodSorters * - [BubbleAppBecomesNotExpandedTestCases] */ @RequiresFlagsEnabled(Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE) @RunWith(AndroidJUnit4::class) @RequiresDevice @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Presubmit class CollapseBubbleAppViaBackTest : class CollapseBubbleAppViaBackTest(navBar: NavBar) : BubbleFlickerTestBase(), BubbleAlwaysVisibleTestCases, BubbleAppBecomesNotExpandedTestCases { companion object : FlickerPropertyInitializer() { @ClassRule @JvmField val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( private val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( setUpBeforeTransition = { setUpBeforeTransition(instrumentation, wmHelper) launchBubbleViaBubbleMenu(testApp, tapl, wmHelper) Loading @@ -78,6 +75,12 @@ class CollapseBubbleAppViaBackTest : ) } @get:Rule val setUpRule = ApplyPerParameterRule( Utils.testSetupRule(navBar).around(recordTraceWithTransitionRule), params = arrayOf(navBar) ) override val traceDataReader get() = recordTraceWithTransitionRule.reader Loading
libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/DismissExpandedBubbleViaBubbleViewTest.kt +14 −10 Original line number Diff line number Diff line Loading @@ -19,11 +19,13 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.annotations.Presubmit import androidx.test.filters.RequiresDevice import android.platform.test.annotations.RequiresFlagsEnabled import android.tools.NavBar import android.tools.traces.component.ComponentNameMatcher.Companion.BUBBLE import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.FlakyTest import com.android.wm.shell.Flags import com.android.wm.shell.Utils import com.android.wm.shell.flicker.bubbles.testcase.BubbleAppBecomesNotExpandedTestCases import com.android.wm.shell.flicker.bubbles.utils.ApplyPerParameterRule import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import com.android.wm.shell.flicker.bubbles.utils.RecordTraceWithTransitionRule import com.android.wm.shell.flicker.bubbles.utils.dismissBubbleAppViaBubbleView Loading @@ -31,10 +33,9 @@ import com.android.wm.shell.flicker.bubbles.utils.launchBubbleViaBubbleMenu import com.android.wm.shell.flicker.bubbles.utils.setUpBeforeTransition import org.junit.Assume.assumeFalse import org.junit.Before import org.junit.ClassRule import org.junit.FixMethodOrder import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters /** Loading @@ -59,19 +60,15 @@ import org.junit.runners.MethodSorters */ @FlakyTest(bugId = 427850786) @RequiresFlagsEnabled(Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE) @RunWith(AndroidJUnit4::class) @RequiresDevice @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Presubmit class DismissExpandedBubbleViaBubbleViewTest : class DismissExpandedBubbleViaBubbleViewTest(navBar: NavBar) : BubbleFlickerTestBase(), BubbleAppBecomesNotExpandedTestCases { companion object : FlickerPropertyInitializer() { @ClassRule @JvmField val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( private val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( setUpBeforeTransition = { setUpBeforeTransition(instrumentation, wmHelper) launchBubbleViaBubbleMenu(testApp, tapl, wmHelper) Loading @@ -80,13 +77,20 @@ class DismissExpandedBubbleViaBubbleViewTest : ) } @get:Rule val setUpRule = ApplyPerParameterRule( Utils.testSetupRule(navBar).around(recordTraceWithTransitionRule), params = arrayOf(navBar) ) override val traceDataReader get() = recordTraceWithTransitionRule.reader // TODO(b/396020056): Verify expand bubble with bubble bar. @Before fun setUp() { override fun setUp() { assumeFalse(tapl.isTablet) super.setUp() } // region Bubble stack related tests Loading
libs/WindowManager/Shell/tests/e2e/bubbles/flicker-explicit/src/com/android/wm/shell/flicker/bubbles/EnterBubbleViaBubbleMenuTest.kt +12 −9 Original line number Diff line number Diff line Loading @@ -18,19 +18,20 @@ package com.android.wm.shell.flicker.bubbles import android.platform.test.annotations.Presubmit import android.platform.test.annotations.RequiresFlagsEnabled import android.tools.NavBar import android.tools.traces.component.ComponentNameMatcher.Companion.BUBBLE import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.RequiresDevice import com.android.wm.shell.Flags import com.android.wm.shell.Utils import com.android.wm.shell.flicker.bubbles.testcase.BubbleAppBecomesExpandedTestCases import com.android.wm.shell.flicker.bubbles.utils.ApplyPerParameterRule import com.android.wm.shell.flicker.bubbles.utils.FlickerPropertyInitializer import com.android.wm.shell.flicker.bubbles.utils.RecordTraceWithTransitionRule import com.android.wm.shell.flicker.bubbles.utils.launchBubbleViaBubbleMenu import com.android.wm.shell.flicker.bubbles.utils.setUpBeforeTransition import org.junit.ClassRule import org.junit.FixMethodOrder import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters /** Loading @@ -49,24 +50,26 @@ import org.junit.runners.MethodSorters * - Bubble becomes visible */ @RequiresFlagsEnabled(Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE) @RunWith(AndroidJUnit4::class) @RequiresDevice @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Presubmit open class EnterBubbleViaBubbleMenuTest : open class EnterBubbleViaBubbleMenuTest(navBar: NavBar) : BubbleFlickerTestBase(), BubbleAppBecomesExpandedTestCases { companion object : FlickerPropertyInitializer() { @ClassRule @JvmField val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( private val recordTraceWithTransitionRule = RecordTraceWithTransitionRule( setUpBeforeTransition = { setUpBeforeTransition(instrumentation, wmHelper) }, transition = { launchBubbleViaBubbleMenu(testApp, tapl, wmHelper) }, tearDownAfterTransition = { testApp.exit(wmHelper) } ) } @get:Rule open val setUpRule = ApplyPerParameterRule( Utils.testSetupRule(navBar).around(recordTraceWithTransitionRule), params = arrayOf(navBar) ) override val traceDataReader get() = recordTraceWithTransitionRule.reader Loading