Loading libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/CopyContentInSplit.kt +16 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import com.android.server.wm.flicker.FlickerParametersRunnerFactory import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.traces.common.ComponentNameMatcher import com.android.server.wm.traces.common.EdgeExtensionComponentMatcher import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd import com.android.wm.shell.flicker.appWindowIsVisibleAtStart Loading @@ -49,6 +51,8 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) class CopyContentInSplit(testSpec: FlickerTestParameter) : SplitScreenBase(testSpec) { private val textEditApp = SplitScreenUtils.getIme(instrumentation) private val MagnifierLayer = ComponentNameMatcher("", "magnifier surface bbq wrapper#") private val PopupWindowLayer = ComponentNameMatcher("", "PopupWindow:") override val transition: FlickerBuilder.() -> Unit get() = { Loading Loading @@ -159,8 +163,18 @@ class CopyContentInSplit(testSpec: FlickerTestParameter) : SplitScreenBase(testS /** {@inheritDoc} */ @Presubmit @Test override fun visibleLayersShownMoreThanOneConsecutiveEntry() = super.visibleLayersShownMoreThanOneConsecutiveEntry() override fun visibleLayersShownMoreThanOneConsecutiveEntry() { testSpec.assertLayers { this.visibleLayersShownMoreThanOneConsecutiveEntry( ignoreLayers = listOf( ComponentNameMatcher.SPLASH_SCREEN, ComponentNameMatcher.SNAPSHOT, ComponentNameMatcher.IME_SNAPSHOT, EdgeExtensionComponentMatcher(), MagnifierLayer, PopupWindowLayer)) } } /** {@inheritDoc} */ @Presubmit Loading libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SplitScreenUtils.kt +8 −10 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.server.wm.traces.parser.toFlickerComponent import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelper import com.android.wm.shell.flicker.LAUNCHER_UI_PACKAGE_NAME import com.android.wm.shell.flicker.SYSTEM_UI_PACKAGE_NAME import org.junit.Assert.assertNotNull import java.util.Collections internal object SplitScreenUtils { Loading @@ -50,7 +51,7 @@ internal object SplitScreenUtils { private const val DIVIDER_BAR = "docked_divider_handle" private const val OVERVIEW_SNAPSHOT = "snapshot" private const val GESTURE_STEP_MS = 16L private const val LONG_PRESS_TIME_MS = 100L private val LONG_PRESS_TIME_MS = ViewConfiguration.getLongPressTimeout() * 2L private val SPLIT_DECOR_MANAGER = ComponentNameMatcher("", "SplitDecorManager#") private val notificationScrollerSelector: BySelector Loading Loading @@ -275,13 +276,6 @@ internal object SplitScreenUtils { } } fun longPress(instrumentation: Instrumentation, point: Point) { val downTime = SystemClock.uptimeMillis() touch(instrumentation, MotionEvent.ACTION_DOWN, downTime, downTime, TIMEOUT_MS, point) SystemClock.sleep(LONG_PRESS_TIME_MS) touch(instrumentation, MotionEvent.ACTION_UP, downTime, downTime, TIMEOUT_MS, point) } fun createShortcutOnHotseatIfNotExist(tapl: LauncherInstrumentation, appName: String) { tapl.workspace.deleteAppIcon(tapl.workspace.getHotseatAppIcon(0)) val allApps = tapl.workspace.switchToAllApps() Loading Loading @@ -353,9 +347,11 @@ internal object SplitScreenUtils { Until.findObject(By.res(sourceApp.packageName, "SplitScreenTest")), TIMEOUT_MS ) longPress(instrumentation, textView.visibleCenter) assertNotNull("Unable to find the TextView", textView) textView.click(LONG_PRESS_TIME_MS) val copyBtn = device.wait(Until.findObject(By.text("Copy")), TIMEOUT_MS) assertNotNull("Unable to find the copy button", copyBtn) copyBtn.click() // Paste text to destinationApp Loading @@ -364,9 +360,11 @@ internal object SplitScreenUtils { Until.findObject(By.res(destinationApp.packageName, "plain_text_input")), TIMEOUT_MS ) longPress(instrumentation, editText.visibleCenter) assertNotNull("Unable to find the EditText", editText) editText.click(LONG_PRESS_TIME_MS) val pasteBtn = device.wait(Until.findObject(By.text("Paste")), TIMEOUT_MS) assertNotNull("Unable to find the paste button", pasteBtn) pasteBtn.click() // Verify text Loading Loading
libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/CopyContentInSplit.kt +16 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import com.android.server.wm.flicker.FlickerParametersRunnerFactory import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.traces.common.ComponentNameMatcher import com.android.server.wm.traces.common.EdgeExtensionComponentMatcher import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd import com.android.wm.shell.flicker.appWindowIsVisibleAtStart Loading @@ -49,6 +51,8 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) class CopyContentInSplit(testSpec: FlickerTestParameter) : SplitScreenBase(testSpec) { private val textEditApp = SplitScreenUtils.getIme(instrumentation) private val MagnifierLayer = ComponentNameMatcher("", "magnifier surface bbq wrapper#") private val PopupWindowLayer = ComponentNameMatcher("", "PopupWindow:") override val transition: FlickerBuilder.() -> Unit get() = { Loading Loading @@ -159,8 +163,18 @@ class CopyContentInSplit(testSpec: FlickerTestParameter) : SplitScreenBase(testS /** {@inheritDoc} */ @Presubmit @Test override fun visibleLayersShownMoreThanOneConsecutiveEntry() = super.visibleLayersShownMoreThanOneConsecutiveEntry() override fun visibleLayersShownMoreThanOneConsecutiveEntry() { testSpec.assertLayers { this.visibleLayersShownMoreThanOneConsecutiveEntry( ignoreLayers = listOf( ComponentNameMatcher.SPLASH_SCREEN, ComponentNameMatcher.SNAPSHOT, ComponentNameMatcher.IME_SNAPSHOT, EdgeExtensionComponentMatcher(), MagnifierLayer, PopupWindowLayer)) } } /** {@inheritDoc} */ @Presubmit Loading
libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SplitScreenUtils.kt +8 −10 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.server.wm.traces.parser.toFlickerComponent import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelper import com.android.wm.shell.flicker.LAUNCHER_UI_PACKAGE_NAME import com.android.wm.shell.flicker.SYSTEM_UI_PACKAGE_NAME import org.junit.Assert.assertNotNull import java.util.Collections internal object SplitScreenUtils { Loading @@ -50,7 +51,7 @@ internal object SplitScreenUtils { private const val DIVIDER_BAR = "docked_divider_handle" private const val OVERVIEW_SNAPSHOT = "snapshot" private const val GESTURE_STEP_MS = 16L private const val LONG_PRESS_TIME_MS = 100L private val LONG_PRESS_TIME_MS = ViewConfiguration.getLongPressTimeout() * 2L private val SPLIT_DECOR_MANAGER = ComponentNameMatcher("", "SplitDecorManager#") private val notificationScrollerSelector: BySelector Loading Loading @@ -275,13 +276,6 @@ internal object SplitScreenUtils { } } fun longPress(instrumentation: Instrumentation, point: Point) { val downTime = SystemClock.uptimeMillis() touch(instrumentation, MotionEvent.ACTION_DOWN, downTime, downTime, TIMEOUT_MS, point) SystemClock.sleep(LONG_PRESS_TIME_MS) touch(instrumentation, MotionEvent.ACTION_UP, downTime, downTime, TIMEOUT_MS, point) } fun createShortcutOnHotseatIfNotExist(tapl: LauncherInstrumentation, appName: String) { tapl.workspace.deleteAppIcon(tapl.workspace.getHotseatAppIcon(0)) val allApps = tapl.workspace.switchToAllApps() Loading Loading @@ -353,9 +347,11 @@ internal object SplitScreenUtils { Until.findObject(By.res(sourceApp.packageName, "SplitScreenTest")), TIMEOUT_MS ) longPress(instrumentation, textView.visibleCenter) assertNotNull("Unable to find the TextView", textView) textView.click(LONG_PRESS_TIME_MS) val copyBtn = device.wait(Until.findObject(By.text("Copy")), TIMEOUT_MS) assertNotNull("Unable to find the copy button", copyBtn) copyBtn.click() // Paste text to destinationApp Loading @@ -364,9 +360,11 @@ internal object SplitScreenUtils { Until.findObject(By.res(destinationApp.packageName, "plain_text_input")), TIMEOUT_MS ) longPress(instrumentation, editText.visibleCenter) assertNotNull("Unable to find the EditText", editText) editText.click(LONG_PRESS_TIME_MS) val pasteBtn = device.wait(Until.findObject(By.text("Paste")), TIMEOUT_MS) assertNotNull("Unable to find the paste button", pasteBtn) pasteBtn.click() // Verify text Loading