Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69e66c66 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Reland "Extand the long press duration""

parents 8d8b2c2d 2c85bb7c
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -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
@@ -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() = {
@@ -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
+8 −10
Original line number Diff line number Diff line
@@ -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 {
@@ -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
@@ -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()
@@ -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
@@ -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